-
楼上的答案很好,但我认为不一定是答案。 我还想表达我的看法:
编写一个 vb 表达式,指示 x 是 3 或 7 的倍数:
x mod 3 = 0 or x mod 7 = 0 ;
为 5<=x<10 编写一个 vb 表达式:
x >= 5 and x < 10 ;
如果您知道 s=“123456”,请找到表达式 val(left(s,4)+mid(s,4,2)) 的值。
left(字符串,左边的读取次数), mid(字符串,起始位置,读取次数),"+"符号用于强制连接,则为 1234"+"56,所以是的"123456".
写出|x+y|+z5 vb 表达式。
abs() 是一个放回绝对值 abs(x+y)+z*5 的函数(我认为这是一个乘法)。
编写一个 vb 表达式,该表达式生成 100、200(含)范围内的正整数。
100+int(rnd(1)*101) ;rnd 函数是一个整数,可随机生成 1 或更小的整数。
希望能领养! 谢谢。
-
在窗体中添加一个文本框以输入金额,一个图片框用于输出结果,并添加一个按钮命令按钮以执行。
private
subcommand1_click()
dimcoins(9)
asinteger
dimmaisu(9)
asinteger
dimiasinteger
dimmaslong
coins(1)
coins(2)
coins(3)
coins(4)
coins(5)
coins(6)=50
coins(7)=10
coins(8)=5
coins(9)=1
m=val(
fori=1
to9maisu(i)=m
coins(i)m=
mmodcoins(i)
下一枚硬币"数"
fori=1
to9coins(i),maisu(i)
nextendsub
-
答案是15当你第一次看到这个问题时,不要被它的多个循环吓倒。如果从盲目计算开始逐层计算,会浪费大量时间,甚至可能计算错误。
对于这个问题,首先分析它的循环结构,发现 i 和 j 中的两层循环会重新分配 x,所以只需要计算最后一个循环。 i=4 j=3 x=3 表示 i=1 到 2 只剩下两个周期,所以 x=3+6+6=15
答案是2。 首先看问题,最后要输入的6个数字其实是两组数据是一个组,-1是一个组,分别对应输入的a、b、x。 第一组不需要计数,因为在第二组 x=-1 中,循环中止。
此时,a=2+1+(-1)=2
答案是12首先,mod 是余数,j mod 2 <>0 表示 j 是奇数。 每当 J 周期 A 加 1,如果 J 是奇数,则 A 从 1 到 4 再加一个循环,总共有 2 个偶数,所以一个周期 i A 加 6
有两个 i 周期,所以 a 是 12
-
1.执行顺序为四次(a=4,三次(a=3,a=a+6,a=a+6))。
虽然有很多循环,但 i 和 j 的外部循环以 x 的新值开始,实际结果与没有循环相同。 最终 x=15
2.执行顺序为,a=5,b=4,x=3,a=5+4+3,循环,a=2,b=1,x=-1,a=2+1-1,打印一个结果为2
三个 mod 操作将取其余部分。 j mod 2 = 0 表示 j 是偶数。 也就是说,每个 j 周期 a 向自身加 1,如果 j 是偶数,则 a 再加 1
J 循环有 2 个从 1 到 4 的偶数,因此 i 循环 A 加 6有两个 i 周期,所以 a 是 12
-
答案是105
第一个循环,i=1,x=x+i=5+1=6。
第二个循环,i=3,x=x+i=6+3=9。
第三个循环,i=5,x=x+i=9+5=14。
第四个循环,i=7,x=x+i=14+7=21。
第 5 个周期,i=9,x=x+i=21+9=30。
第 6 个周期,i=11,x=x+i=30+11=41。
第 7 个周期,i=13,x=x+i=41+13=54。
第 8 个周期,i=15,x=x+i=54+15=69。
第9个周期,i=17,x=x+i=69+17=86。
第 10 个周期,i=19,x=x+i=86+19=105。
然后循环结束,所以结果是 105。 你实际上可以尝试一下。 在它后面添加一个打印 x。 输出 x。
-
这个问题是错误的。
问题应该是“执行以下过程后 i 的值是什么? ”
-
b 执行 1 个循环以输出 a “*”。
a 执行 3 次,输出 3 个“*”。
C 是一个无限循环。
d 执行 4 次以输出 4 “*”。
所以选择B
-
a 3;b 1
c 数不胜数; d4
答案是显而易见的。
-
这主要是因为变量的范围。
dim a as variant,开头的这句话声明了一个全局变量,也就是说变量 a 在表单加载之前就存在了,并且会一直存在到整个程序结束,所以表单加载中 a 的赋值会被记住,所以 a 的值可以在 command1 点击中显示出来。
如果没有 dim a 作为变体的语句,那么表单加载中的变量 A 是局部变量,只在表单加载中起作用,而变量 A 会在表单加载结束后消失,command1 click 中的变量 A 也是只属于 command1 click 的局部变量, 由命令1 click的过程自动声明,表单加载中的变量A无关紧要(其实表单load中的变量A不见了),命令1点击对变量a没有任何赋值,所以不会显示任何内容。
其实,这个错误是由于没有养成良好的写作习惯,建议养成良好的习惯,这样可以省去很多麻烦。 在互联网上搜索“培养程序员的职业标准”,这里有一些好习惯可能会对您有所帮助。
-
variant 数据类型来替换任何数据类型,适应性更强。 如果变体的内容是数字,则可以将其表示为字符串或其实际值,具体取决于上下文。
chr(65) 输出 ASCII 值为 65 的字符。
-
因为 dim a as variant 定义了写在顶部的变量类型语句是全局变量,所以模块中所有子过程中的 a 变量是相同且通用的。
如果没有这个全局定义,你就会陷入孤岛。
-
首先,在模块顶部使用 dim a as varant 语句,这意味着您定义了一个模块级变量,因此无论您在任何事件中以该形式将 a 分配给什么,该数字都将被保存。 如果你没有该语句,那么在 command1 click 事件和表单加载事件中,a 是一个进程级变量,它只作用于这两个事件,所以你在表单加载过程中给 a 赋值并不重要,按钮点击事件中的 a 变量是否为 2 也无关紧要。 建议您先了解全局变量、模变量、过程变量的概念,养成强制变量声明的习惯。
-
问题 1:寻址时,由于变量的地址直接传递给参数,因此涉及到两个内存地址的大小和类型,因此如果类型不匹配,就会生成错误信息。 对于传递值,没有这样的限制,因为你传递的只是“值”。
但是,传递值并不意味着不会产生错误,例如
dim x as string
x = "a"
sub proc(byval a as integer)
所以:调用 proc(x)。
在这种情况下,将发生类型不匹配错误。 由于参数 a 是一个整数变量,因此如果为其分配一个字符串变量,则会产生错误,例如,这与变量类型不匹配的定义相同。
dim x as integer
x = "a"
这也可能导致类型不匹配错误。
因此,正确定义变量和参数类型是VB编程的好习惯之一!! 如果你遵守规则,你就不会犯错误!
Q2:关于模块级变量,其作用域是整个模块,当模块被卸载或退出时,变量就会消失。 让我们从简化您的开始:
private x as string
private sub command1_click()
x = 5end sub
private sub proc(byval a as integer, byval b as integer)
msgbox x
x = 5 * x
msgbox x
end sub
使用上面的**,我们可以得到一个显示结果 5 的弹出窗口。 结果是 25,这是不断调用和修改模块级变量的结果。
我知道您的实际问题是 byref 和 byval 之间的区别,您可以看到我过去回答的示例
-
在原始文档的第一行写入选项显式后,将强制检查所有变量的声明。
1:如果数据类型不匹配,参数传递时会有提示,但当声明为变体时,则不会。
2:变量声明方法:关键词:dim、private、public
1:DIM适用于,声明形式、过程、函数和变量。
dim a as string
在表格中声明时,它被放置在所有**的顶部。 此变量在此形式的所有过程和函数中都可用,但不能以其他形式访问。 这是一个表单级变量。
私有子 main() 或函数 ( 私有函数 moveObject()。
dim a as string '这个 A 变量与上面的 A 相同。 但是,适用范围不同。 它仅适用于此进程或函数。
与表格A没有冲突。 这是过程变量。
end sub
public a as string
此变量声明是在标准模块中进行的。 它可以被进程、函数、变量和整个系统使用和访问。 它的值在使用过程中也可以随时改变。 这些是全局变量。
答案补充道:兄弟,你在前面定义了nfilenun,后来用的时候写成nfilenum,用的时候发现了问题吧? 最后一个字母是不一样的。 >>>More
程序界面如上图所示:一个标签(名称为label1),三个复选框(名称分别为check1、check2和check3,caption属性分别为red、green和blue),以及一个命令按钮(名称为command1,caption属性为end),完成程序功能的**如下: >>>More