则输出结果是( )。 A)-1 B)1 C)False D)True13.设变量D为Date型、A为Integer型、S为String型、L为Long型,下面赋值语句中不能执行的是( )。 A)D=#11:30:00 PM# B)A= \"182\" * 182 C)S=Date D)L=\"5487D4\" 14.为菜单上访问键被显示成带下划线的字母,请在要作为访问键的字母前面键入一个( )号。 A)\"-\" B)\"&\" C)\"#\" D)\"+\" 15.下列不是Visual Basic事件名称的是( )。 A)Change B)Click C)Scroll D)ChDir 16.下面(( ))方法,可以将列表框List1中的所有项删除掉。 A)List1.Text=\"\" B)AddItem C)RemoveItem D)Clear 17.下面有关数组处理的叙述中,错误的是( )。
①在过程中用ReDim语句定义的动态数组,其下标的上下界可为赋了值的变量 ②在过程中,可以使用Dim、Private和Static语句定义数组 ③用ReDim语句重新定义动态数组时,不得改变该数组的数据类型 ④可用Public语句在窗体模块的通用说明处定义一个全局数组 A)①②③④ B)①③④ C)①②③ D)②④ 18.以下有关对象属性的说法中错误的是( )。 A)所有的对象都具有Name(名称)属性
B)只能在执行时设置或改变的属性为执行时属性
C)对象的某些属性只能在设计时设定,不能使用代码改变 D)Enabled属性值设为False的控件对象在窗体上将不可见 19.语句Print \"5*20\"输出的结果是( )。 A)\"5*20\" B)出现错误信息 C)5*20 D)100
20.在 Select Case a结构中,描述判断条件 1 ≦ a ≦ 10 的测试项应该写成( )。 A)Case 1 <= a <= 10 B)Case 1 ≦ a And a ≦ 10 C)Case Is >= 10 or Is >= 1 D)Case 1 To 10
二、填空题(每空1分,共40分)
1.下列程序运行后,信息框显示的内容是( )。
Private Sub Command1_Click() Dim s1 As String, n As Integer s1 = \"Hello-World,2012\"
n = Len(s1) + InStr(1, s1, \"2\") MsgBox n End Sub
2.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第三行内容是( ),最后一行内容是( )。 Option Base 1
Private Sub Command1_Click()
Dim y As Integer, x As Variant, i As Integer, z As Integer y = 22
x = Array(21, 4, 50, 18, 23) For i = 1 To 5
If x(i) < y Then z = x(i) + 1 y = x(i) Else
z = z + y End If Print z Next i Print y End Sub
3.执行下面程序,单击命令按钮Command1,窗体上显示的A(2)内容是( ),A(7)内容是( ),s内容是( )。 Option Explicit
Private Sub Command1_Click()
Dim A(10) As Integer, i As Integer, s As Integer For i = 1 To 5 A(i) = i A(i + 5) = i Next i
For i = 1 To 10 s = s + A(i) Next i Print s End Sub
4.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第三行内容是( ),最后一行内容是( )。 Private Sub Command1_Click() Dim x As Integer, n As Integer
n = 0 Do
n = n + 2 x = x + n Print x
Loop While n < 8 End Sub
5.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( ),第三行内容是( )。 Private Sub Command1_Click() Dim x As Integer x = 3
If x < 3 Then Print x + 3 If x < 4 Then Print x + 4 If x < 5 Then Print x + 5 If x < 6 Then Print x + 6 End Sub
6.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第三行内容是( ),最后行一内容是( )。 Private Sub Command1_Click() Dim a As Integer, i As Integer a = 1
For i = 1 To 5 Call fun1(a) Print a Next i End Sub
Private Sub fun1(x As Integer) Dim y As Integer y = 2 Do
x = x + y Loop Until x > 10 End Sub
7.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( ),最后一行内容是( )。 Private Sub Command1_Click()
Dim x As Integer, y As String, z As String y = \"ABCD\"
For x = 1 To Len(y)
z = Mid(Right(y, x), 1) Print z
Next x End Sub
8.执行下面程序,单击Command1,则图片框中显示的第一行是( ),显示的第二行是( ),最后一行显示的是( )。 Private Sub Command1_Click() Dim a(3, 3) As Integer
Dim i As Integer, j As Integer For i = 1 To 3
For j = 3 To 1 Step -1 If i >= j Then a(i, j) = i - j Else
a(i, j) = j - i End If Next j Next i
For i = 1 To 3
For j = 3 To 1 Step -1 Picture1.Print a(i, j); Next j
Picture1.Print Next i End Sub
9.下面的事件过程执行结束后,A(2)的值是( ),A(7)的值是( ),程序中第二个循环被执行了( )次。 Option explicit Option Base 1
Private Sub Command1_Click() Dim a(10) As Integer
Dim i As Integer, k As Integer For i = 1 To 10 a(i) = 1 Next i k = 1
For k = 1 To 10 Step k a(k) = 0 k = k + 2 Next k End Sub
10.执行下面的程序,单击Command1,窗体上显示的第一行是( ),第二行是( ),第四行是( ),最后一行是( ) Option Explicit
Private Sub Command1_Click() Dim n As Integer n = 5
Call test(n) Print n End Sub
Private Sub test(ByVal n As Integer) Dim i As Integer, S As String If n > 0 Then
For i = 1 To n
S = S & CStr(i) Next i Print S
Call test(n - 2) Else
Print \"OVER\" End If End Sub
11.运行下面程序,当单击窗体时,窗体上显示内容的第一行是( ),第三行是( ),第五行是( )。 Private Sub Form_Click()
Dim s As String, i As Integer, n(9) As Integer Dim s1 As String * 1, j As Integer s = Trim(\"12345a307291b233\") For i = 1 To Len(s) s1 = Mid(s, i, 1)
If s1 >= \"0\" And s1 <= \"9\" Then j = Val(s1) n(j) = n(j) + 1 End If Next i
For j = 0 To 9 Print j; \":\"; n(j) Next j End Sub
12.执行下面的程序,单击Command1,窗体上显示的的第一行是( ),第三行是( ),最后一行是( )。 Option Explicit
Private Sub Command1_Click() Dim i As Integer, s As Integer For i = 1 To 9 Step 3 s = fun((i)) + fun(i) Print s
Next i End Sub
Private Function fun(m As Integer) As Integer Static a As Integer If m Mod 2 = 0 Then a = a + 1 m = m + 1 Else
a = a + 2 m = m + 2 End If
fun = a + m Print fun End Function
13.下面程序的功能是,找出仅由数字1、2、3、4组成的4位素数,要求每个素数由4个不同数字组成。算法提示:函数Validate用于验证一个4位数是否由4个不同数字组成。在函数中用A数组的各个元素分别对应数字0~9,只要某数字出现在四位数中,无论几次,均将该数字对应的数组元素值置为1。 Option Explicit
Private Sub Command1_Click()
Dim i As Integer, Flg As Boolean For i = 1234 To 4321 ( )
Call Prime(i, Flg) If Flg Then
If Validate(i) Then
Text1 = Text1 & i & vbCrLf End If End If Next i End Sub
Private Sub Prime(n As Integer, f As Boolean) Dim k As Integer For k = 2 To Sqr(n) ( ) Next k f = True End Sub
Private Function Validate(n As Integer) As Boolean Dim A(0 To 9) As Integer, s As String, i As Integer Dim s1 As String * 1 ( )
For i = 1 To Len(s)
s1 = Mid(s, i, 1) ( ) Next i
If A(1) + A(2) + A(3) + A(4) = 4 Then ( ) End If End Function
B卷参考 一、选择题
1.B 2.A 3.D 4.A 5.B 6.A 7.A 8.A 9.D 10.A 11.B 12.C 13.B 14.B 15.D 16.D 17.D 18.D 19.C 20.D
二、填空题 1.29 2.22 2.9 2.4 3.2 3.2 3.30 4.2 4.12 4.20 5.7 5.8 5.9 6.11 6.15 6.19 7.D 7.CD 7.ABCD 8.2 1 0 8.1 0 1 8.0 1 2 9.1 9.0 9.4 10.12345 10.123 10.OVER 10.5 11.0 : 1 11.2 : 3 11.4 : 1 12.5 12.12 12.25 13.flg=False 13.If n Mod k=0 Then Exit Sub 13.s=Cstr(n) 13.A(val(s1))=1