36. 有如下事件程序,运行该程序后输出结果是______。 Private Sub Command33_Click() Dim x As Integer, y As Integer x=1:y=0 Do Until y<=25 y=y+x*x x=x+1 Loop MsgBox "x=" &x&", y="&y End Sub
A.x=1,y=0
B.x=4,y=25
C.x=5,y=30
D.输出其他结果
A B C D
A
[解析] Do Until循环采用的是先判断条件后执行循环体的做法,如果条件为True,则循环体一次都不执行,否则进入循环体执行。本题中的循环结束条件是y<=25,而y=0,满足条件表达式,则不进入循环体,x、y的值不变,仍为1、0。因此本题答案为A。
37. 在窗体上有一个命令按钮Command1,编写事件代码如下: Private Sub Command1_Click() Dim x As Integer, y As Integer x=12:y=32 Call Proc(x, y) Debug.Print x; y End Sub Public Sub Proe(n As Integer, ByVal m As Integer) n=n Mod 10 m=m Mod 10 End Sub 打开窗体运行后,单击命令按钮,在窗口上输出的结果是______。
A.2 32
B.12 3
C.2 2
D.12 32
A B C D
A
[解析] 参数有两种传递方式:传址传递ByRef和传值传递ByVal。如果没有说明传递类型,则默认为传址传递。在函数Proe(n As Integer, ByVal m As Integer)参数中,形参n默认为传址传递,形参的变化将会返回到实参,即形参n mod 10(12 mod 10)得到的结果2将返回给实参x,即x=2;而y为传值类型,不因形参的变化而变化,因此输出的x和y应为2和32。故本题答案为A。
38. 在窗体上有一个命令按钮Command1和一个文本框Text1,编写事件代码如下: Private Sub Command1_Click() Dim i,j,x For i=1 To 20 step 2 x=0 For j=i To 20 step 3 x=x+1 Next j Next i Text1.Value=Str(x) End Sub 打开窗体运行后,单击命令按钮,文本框中显示的结果是______。
A.1
B.7
C.17
D.400
A B C D
A
[解析] 题目中使用了双重For循环,外循环中每循环一次,x的值都是从0开始,因此外循环中到最后一次循环时,x的值是0;而内循环中的最后一次循环是j=20 to 20 step 3,所以此时内循环只循环一次,x的值为x=0+1=1。Str函数将数值转换成字符串。故本题答案为A。