(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 3B)1 2 2 C)2 3 3 D)2 l l 2 1 3 3 1 2l 2 33 2 l 2 2 l 3 3 l1 l 23 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)ABCDEB)abcdeC)出错信息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方法输出项的最后用分号结束,使得输出不换行。
相关资料
|