20. 在窗体上建立一个标签数组,名称为Label1,下标从0开始,自左至右顺序增大,然后编写如下事件过程: Private Sub Form_Click( ) For Each Label In Label1 Label1(i). Caption = Label1(i). Index i = i + 1 Next End Sub 运行程序,单击窗体,在4个标签(从左至右)中显示的内容分别为______。
A.0 1 2 3
B.1 2 3 4
C.3 2 1 0
D.出错
A B C D
A
[解析] 控件数组由一组具有相同名称和类型,且事件过程也相同的控件组成,每个控件(相当于数组元素)都有唯一的索引号(Index,相当于数组元素的下标)。标签Label1. Caption用来显示在标签标题中显示的文本。由题知,标签数组Label1下标从0开始,自左至右按顺序增大,故Label1(0). index = 0;Label1(1). index = 1:Label1(2). index = 2;Label1(3). index = 3;本题正确答案为A。
24. 有下面程序代码: Private Sub Commandl_Click( ) Dim a a = Array(1, 2, 3, 4, 5) Call proc(A) For k = 0 To 4 Print a(k); Next k End Sub Private Sub proc(ByVal x) For k = LBound(x)To UBound(x) x(k) = x(k) * 2 Next k End Sub 运行Command1_Click过程产生的输出是______。
25. 有下面程序代码: Private Sub Command1_Click( ) Dim a%(10) For k = 1 To 9 a(k) = InputBox(" ") Next. k Call proc(a( ), 6, 3, 10) For k = 1 To 10 Print a(k); " "; Next k End Sub Private Sub proc(a%( ), x%, m%, n%) For k = n To m + 1 Step -1 a(k) = a(k - 1) Next k a(k) = x End Sub Command1_Click过程运行时,从键盘输入9个数:12 32 65 34 87 56 79 50 52,则输出是______。
26. 设整型数组a有10个元素,其中前9个元素中数已按小到大顺序排列,下面程序段的作用是______。 x = InputBox("请输入一个整数") k = 8 Do If x > = a(k) Then a(k+1) = x Exit Do Else a(k + 1) = a(k) If k = 0 Then a(k) = x k = k - 1 End If Loop Until k < 0
28. 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写以下程序代码: Option Base 1 Private Sub Command1_Click( ) Dim arr1(4, 4) As Integer Dim i As Integer, j As Integer For i = 1 To 2 For j = 2 To 3 arr1(i, j) = i+j * 10 Next j Next i Text1. Text = arr1(2, 3) + arr1(3, 4) End Sub 运行程序,单击Command1,则在文本框Text1中显示的结果为______。
29. 执行以下程序时,在窗体上单击鼠标后,将出现输入对话框,此时,直接按下回车键,窗体上的输出结果是______。 Private Sub Form_Click( ) Dim S As String S = InputBox("input data", "important", "学习VisualBasic") Print UCase(Mid(S, InStr(S, "i"), 2)) End Sub
35. 在窗体上画一个名称为Text1的文本框,然后编写如下事件过程:Private Sub Form_Load( ) Text1. Text=" " End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Const Alt = 4 Const Key_F2 = &H71 '&H71是F2键的键码 AltD = (Shift And Mt) > 0 F2D = (KeyCode = Key_F2) If AltD And F2D Then Text1. Text = "abl" End If End Sub 程序运行后,如果按Shift+F2键,则文本框中的内容是______。
37. 有如下程序: Private Sub Form_Click( ) Dim n As Integer, a As String Dim L As Integer, C As Integer n = InputBox("请输入一个整数") For i = 1 To n a = InputBox("请输入一个字符串") L = Len(A) C = 0 For j = 1 To L If Mid(a, j, 1) = "D" Then C = C+1 End If Next j Print a; C Next i End Sub 以上程序的功能是______。
38. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click( ) Dim x As Integer, y As Integer Dim s As String s = "2013-2014" x = Int(Rnd(1)) + 100 y = Val(Left(s, 3)) Select Case x + y Case Is > 301 Print "分支1" Case 300 To 301 Print "分支2" Case Is < 301 Print "分支3" End Select End Sub 程序运行时,单击Command1,则在窗体上输出的结果是______。
A.分支1
B.分支2
C.分支3
D.无任何输出
A B C D
B
[解析] Rnd英文全称Random,意随机数,Rnd * 100生成一个取值在[0,100)之间的随机数(注意不包含100)。取整函数Int(x),英文全称:Integer,返回值为不大于自变量x的最大整数,Int(Rnd(1)) =0,x=100。类型转换函数Val(s),返回值为字符串表达式s中所包含的数值,若遇到字母(指数符号除外)则终止转换。字符串截取函数Left$(s,n),截取字符串s左边的n个字符。Left(s,3) =201,Val(s) =val(201) =201。x+y=100+201=301;满足300 To 301,故最后输出的结果是分支2,本题正确选项为B。
39. 有下面程序代码: Private Sub Command1_Click( ) Dim k As Integer For k = 1 To 3 Call fun(k) Next k For k = 1 To 3 Call proc(k) Next k End Sub Private Sub fun(x As Integer) Static a As Integer a = a + 1 Print a * x; End Sub Private Sub proc(x As Integer) Dim a As Integer a = a + 1 Print a * x; End Sub 运行Command1_Click过程产生的输出是______。