1. 阅读程序: Option Base 1 Private Sub Form_Click() Dim Arr(3, 3) As Integer For i=1 To 3 For i=1 To 3 If j=i Or j=3-i+1 Then Arr(i, j)=1 Else Arr(i, j)=0 End If Next j Next i For i=1 To 3 For j=1 To 3 Print Arr(i, j); Next j Print Next i End Sub 程序运行后,如果单击窗体,则输出结果为
15. 在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码: Private Sub Command1_Click() Dim n() As Integer Dim a, b As Integer a=InputBox("Enter the first number") b=InputBox("Enter the second number") ReDim n(a To b) For k=LBound(n) To UBound(n) n(k)=k Print n(k); Next k End Sub 程序运行后,单击命令按钮,在输入对话框中分别输入2和3,输出结果为
A.1 2
B.2 3
C.3 4
D.4 5
A B C D
B
[解析] 动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用。Dim或Public声明一个没有下标的数组(括号不能省略),然后在过程中随时用ReDim语句可以重定义变量作为下标的数组,重定义后原数组的所有元素值被清空。输入2、3之后数组被重新定义成了n(2 To 3),只有两个数组元素,并且n(k)=k,即输出2 3。
17. 有下面程序代码: Private Sub Command1_Click() a=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10):n=UBound(a) For k=0 To UBound(a)/2 Print a(k)*a(n); :n=n-1 Next k End Sub 程序运行后,单击命令按钮Command1,输出结果是
18. 有下面程序代码: Option Base 1 Private Sub Command1_Click() Dim a(10)As Integer, x, b x=InputBox("请输入一个多位整数") For k=1 To Len(x) b=Mid(x, k, 1) a(Val(b)+1)=a(Val(b)+1)+1 Next k For k=1 To 10 Print a(k); Next k End Sub 程序运行时,单击命令按钮Command1,输入2355270224,则输出是
19. 窗体上有Command1、Command2两个命令按钮。现编写以下程序: Option Base 0 Dim a() As Integer, m As Integer Private Sub Command1_Click() m=InputBox("请输入一个正整数") ReDim a(m) End Sub Private Sub Command2_Click() m=InputBox("请输入一个正整数") ReDim a(m) End Sub 运行程序时,单击Command1后输入整数10,再单击Command2后输入整数5,则数组a中元素的个数是
20. 在窗体上画一个名为Command1的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim M(10) As Integer For k=1 To 10 M(k)=12-k Next k x=8 Print M(2+M(x)) End Sub 运行程序,单击命令按钮,在窗体上显示的是
21. 在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(10) For i=6 To 10 arr(i)=i-5 Next i Label1.Caption=arr(0)+arr(arr(10)/arr(6)) End Sub 运行程序,单击命令按钮,则在标签中显示的是
22. 在窗体上画一个名称为Text1的文本框,并编写如下程序: Option Base 1 Private Sub Form_Click() Dim arr Dim Start As Integer, Finish As Integer Sum As Integer arr=Array(12, 4, 8, 16) Start=LBound(arr):Finish=UBound(arr):Sum=0 For i=Start To Finish Sum=Sum+arr(i) Next i c=Sum/Finish Text1.Text=c End Sub 运行程序,单击窗体,则在文本框中显示的是
23. 以下过程的功能是从数组中寻找最大值: Private Sub FindMax(a() As Integer, ByRef Max As Integer) Dim s As Integer, f As Integer Dim i As Integer S=LBound(a):f=UBound(a) Max=a(s) For i=s To f If a(i)>Max Then Max=a(i) Next End Sub 以下关于上述过程的叙述中,错误的是
24. 窗体上有一个名称为Command1的命令按钮,并有如下程序代码: Option Base 1 Private Sub Command1_Click() Dim a%(3, 3) For i=1 To 3 For j=1 To 3 If i>1 And j>1 Then a(i, j)=a(a(i-1, j-1), a(i, j-1))+1 Else a(i, j)=i*j End If Next Next Print a(2, 2); a(3, 3) End Sub 运行程序,单击命令按钮,窗体上显示的是
25. 窗体上有一个名称为Command1的命令按钮,其单击事件过程如下: Option Base 1 Private Sub Command1_Click() Dim a(4, 4)As Integer For i=1 To 4 For j=1 To 4 a(i, j)=Int(Rnd*100) Next Next x=a(1, 1) y=a(1, 1) For i=1 To 4 For j=1 To 4 If x<a(i, j)Then x=a(i, j) If y>a(i, j)Then y=a(i, j) Next s=s+a(i, i) Next Print x, y, s End Sub 关于以上程序,以下叙述中错误的是
26. 窗体上有一个名称为Command1的命令按钮。要求编写程序,把文件f1.txt的内容写到文件f2.txt中,然后将f1.txt删除。命令按钮的单击事件过程如下: Private Sub Command1_Click() Open"c:\f1.txt" For Input As #1 Open"c:\f2.txt: For Output As #2 Do While Not EOF(2) Line Input #1.str1 Print #2.str1 Loop Close Kill"c:\f1.txt" End Sub 该程序运行时发生错误,应该进行的修改是
A.打开f1.txt应该使用Output方式,打开f2.txt应该使用Input方式
B.Not EOF(2)应该改为Not EOF(1)
C.Line Input应改为Get
D.Close语句改为Close All
A B C D
B
[解析] 打开文件的基本格式为:Open FileName For Mode As#FileNumber。打开方式主要有Output、Append、Input、Random等几种。本题中打开了两个文件,其中1号文件用于读取,2号文件用于写入。当进行读取时循环条件应该为Not EOF(1)即还没有读取到文件结尾。
27. 窗体上有名称为Command1的命令按钮,其事件过程如下: Option Base 1 Private Sub Command1_Click() Dim a Dim b(10)As Integer a=Array(2, 4, 7, 3, 9, 6) For i=LBound(a) To UBound(a) b(i)=a(i)+i Sum=Sum+b(i) Next i Print Sum End Sub 运行程序,单击命令按钮时,窗体上显示的是
28. 窗体上有一个名称为Command1的命令按钮,有程序如下: Option Base 1 Private Sub Command1_Click() Dim a(10) As Integer'第1个For For i=1 To 10 a(i)=Int(Rnd*100+100) Print a(i); Next x=a(i):y=x'第2个For For i=1 To 10 If x<a(i) Then x=a(i) If y>a(i) Then y=a(i) s=s+a(i) Next Print x, y, s End Sub 关于上述程序的叙述中,正确的是
29. 在窗体上画一个文本框,其名称为Text1,然后编写如下程序: Option Base 1 Private Sub Form_Click() Dim Arr(10) As Integer For i=6 To 10 Arr(i)=i-3 Next i Text1.Text=Str(Arr(6)+Arr(Arr(6)+Arr(10))) End Sub 程序运行后,单击窗体,在文本框中显示的内容是
30. 假定有如下程序: Private Sub Form_Click() Dim a(4)As Integer, b(4)As Integer For k=0 To 2 a(k+1)=Val(InputBox("请输入一个整数:")) b(3-k)=a(k+1) Next k Print b(k) End Sub 运行程序,单击窗体,依次输入3、6、9,输出结果为
31. 阅读程序: Option Base 1 Private Sub Form_Click() Dim a(3, 3)As Integer For i=1 To 3 For j=1 To 3 a(i, j)=______ Print a(i, j); Next j Print Next i End Sub 运行上面的程序,单击窗体,输出结果如下: 1 4 7 2 5 8 3 6 9 则在横线处应填入的内容为
32. 阅读程序: Option Base 1 Sub P(b() As Integer) For i=1 To 4 b(i)=2*i Next i End Sub Private Sub Form_Click() Dim a(4)As Integer For i=1 To 4 a(i)=i+4 Next i P a For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击窗体,输出结果为
33. 在窗体上画一个命令按钮,然后编写如下程序: Option Base 1 Private Sub Command1_Click() Dim Arr(10)As Integer For i=1 To 10 Arr(i)=11-i Next i x=InputBox("输入一个整数(3~10)") Print Arr(2+Arr(x)) End Sub 程序运行后,单击命令按钮,在输入对话框中输入17,则输出结果为
34. 设有下面程序代码: Private Sub Command1_Click() Dim a As Variant a=Array(22, 43, 23, 56, 87, 45, 67, 12, 98, 98, 56, 34, 23, 75, 64) m=a(0)n=m For k=1 To UBound(a) If a(k)>m Then n=m:m=a(k) Else If a(k)>n And a(k)<>m Then n=a(k) End If Next k Print n End Sub 程序运行时的输出是
35. 设有下面程序代码: Option Base 1 Private Sub Command1_Click() Dim x(6) a=Array(4, 2, 5, 1, 6, 3) b=Array(64, 24, 98, 27, 58, 41) For k=1 To 6 x(a(k))=b(k) Next k For k=1 To 6 Print x(k); Next k End Sub 程序运行时的输出是
44. 窗体上有一个由两个文本框组成的控件数组,名称为Text1,并有如下事件过程: Private Sub Text1_Change(Index As Integer) Select Case Index Case 0 Text1(1).FontSize=Text1(0).FontSize*2 Text1(1).Text=Text1(0).Text Case 1 Text1(0).FontSize=Text1(1).FontSize/2Text1(0).Text=Text1(1).Text Case Else MsgBox"执行Else分支" End Select End Sub 关于上述程序,以下叙述中错误的是