(27)编写如下程序: Private Sub Form_Click() a$="54321":b$="abcde" For j=l To 5 Print Mid$(a$,6-j,1)+Mid$(b$,j,1); Next j Print End Sub 程序运行后,单击窗体,其输出结果为________。 A)alb2c3d45eB)a5b4c3d2elC)eld2c3b4a5D)la2b3c4d5e 答案:D 评析:For循环共执行了5次,每次用Mid$函数取出a$和b$的子串输出,a$是倒序,每次取一个字符,b$是顺序,每次取一个字符,连接在一起输出,输出表达式用分号结束,表示下一次接着输出,故输出结果为la2b3c4d5e。 (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=1To 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。
相关资料
|