2005年9月计算机等级考试二级VB考前密卷[1]8
文章作者 100test 发表时间 2007:03:10 17:52:08
来源 100Test.Com百考试题网
(28)在窗体上画一个名称为Labe11的标签,然后编写如下事件过程:
Option Base l
Private Sub Form_Click()
Dim a(20)As Integer
For k=l To 20
a(k)=k^2
Next k
Label1.Caption=a(k)
End Sub
程序运行后,单击窗体,在标签中显示的内容是__________。
A)400 B)20 C)441 D)出错信息
答案:D
评析:一维数组a的下标在1-20之间。而循环结束后k值为21,故产生下标越界的错误。
(29)在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编
写如下事件过程和通用过程:
Private Sub Command1_Click()
n=Val(Text1.Text)
If n\2=n/2 Then
f=f1(n)
Else
f=f2(n)
End If
Print£n
End Sub
Public Function fl(ByRef x)
X=x*x
n=x x
End FunctiOn
Public Function f2(ByVa1 x)
X=X*X
f2=x x x
End FunctiOn
程序运行后,单击命令按钮,在窗体上显示的是_______。
A)72 36 B)108 36 C)72 6 D)108 6
答案:A
评析:在本题中,文本框中输入的是6,也就是n=6,n\2=n/2条件成立,所以执行f=fl(n)语句,调用f1过程,得到x=x*x=6*6=36,fl=36 36=72。由于函数f1中,参数是按地址传递的,故参数的值会返回,所以n的值为36。
(30)在窗体上画一个名称为command1的命令按钮,然后编写如下程序:
Option Base l
Private Sub Command1_Click()
Dim a(3,3)
For i=1 To 3
For j=1 To 3
If i=j Then a(i,j)=l
If iIf i>j Then a(i,j)=3
Next j
Next i
For i=1 To 3
For j=1 To 3
Print a(i,j);
Next j
Print
Next i
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为_________。
A)l 3 3 B)1 2 2 C)2 3 3 D)2 l l
2 1 3 3 1 2 l 2 3 3 2 l
2 2 l 3 3 l 1 l 2 3 3 2
答案:B
评析:本题程序在过程中定义了一个二维数组,该数组可容纳9个元素,在循环中给数组元素赋值,在每次循环中有If i=j Then a(i,j)=1,表示主对角线置1;If ij Then a(i,j)=3,表示主对角线一下元素置3。
(31)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Option Base l
Private Sub Command1_Click()
Dim arr(5)As String
For i=l To 5
arr(i)=Chr(Asc("A") (i-1))
Next i
For Each b1 In arr
Print b1:
Next
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为________。
A)ABCDE B)abcde C)出错信息 D)1 2 3 4 5
答案:A
评析:语句Chr(Asc("A") (i-1))的作用是将字符A的ASCII码值加上循环变量的值减1,求出此ASCII码对应的字符。将计算出的字符赋值给数组arr的第i个元素。循环结束后,arr的5个元素分别为字符A、B、C、D、E。Print方法输出项的最后用分号结束,使得输出不换行。