VB三道题

来源:百度知道 编辑:UC知道 时间:2024/05/02 03:09:49
1.执行下面的程序,单击窗体,则在窗体上显示的是 ____-1________ 。
Option Explicit
Private Sub Form_Click()
Dim a As Integer, b As Integer, c As Integer
b = 6: c = 6.5
a = b = c
Print a
End Sub

2.执行下面的程序,单击按钮 Command1 ,在窗体上显示的第一行是 ____0.6________ ,第二行是 ____1.8________ ,第三行是 _____5.4_______ 。
Option Explicit
Private Sub Command1_Click()
Dim x As Single, i As Integer
x = 1.2
For i = 1 To 3
x = x * i
Print fun1(x)
Next i
End Sub
Private Function fun1(x As Single) As Single
Static y As Single
y = y + x
fun1 = y / 2
End Function

3.执行下面的程序后,单击按钮 Command1 ,则 N 的值是 ____10________ , A 的值是 _____27_______ , B 的值是 _____9_______ 。
Option Explicit
Dim n As Integer
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 2: b = 3
For n = 1 To 6
If n Mod 2

第一题答案a=-1,VB中从右到左运算,b和c已经附初值,b=c形成判断语句,为错误则为-1,a=-1。
第二题答案
0.6
1.8
5.4
首先y=y+x,一开始这里面的y=0的,第一次x=1.2,i=1,x=1.2*1=1.2,y=1.2,fun1=0.6
第二次
x=1.2(x=1.2*1上面运算后的),i=2,x=1.2*2=2.4,y=1.2+2.4=3.6,fun1=1.8
第三次
x=2.4(x=1.2*2上面运算后的),i=3,x=2.4*3=7.2,y=7.2+3.6=10.8,fun1=5.4
第三题计算过程有点复杂,人工算要分为n=奇数和偶数之分然后再来运算自己慢慢算可以算出来的

貌似没问题啊,怎么了?
第一个可能有点问题

第一题,a=6.5 因为是从右向左运算的,先将c的值赋给b,b=6.5,再将b的值6.5赋给a,故a的值为6.5
第二题,0,0.6,1.2(反推算的y为-1.2) 1.2,1.8,2.4(反推算的y为2.4) 4.6,5.4,6.0(反推算的y为9.6)
第三题你先自己想一下,不难的,不懂再问我