20.要在文本框Text1中显示列表框List1中最后一个项目的正确语句是______。 (A)Text1.Text=List1.List(ListCount-1) (B)Text1.Text=List1.List(0) (C)Text1.Text=List1.List(List1.ListCount-1) (D)Text1.Text=List1.ListIndex
21.设组合框Combo1中有5个项目,则以下能删除最后一项的语句是________。 (A)Combo1.RemoveItem Text (B)Combo1.RemoveItem 5
(C)Combo1.RemoveItem 4 (D)Combo1.RemoveItem Combo1.Listcount 22.在通用声明代码中有以下语句: Option Base 1
Dim a (4,-3 to 3) As String 则该数组有____个元素。 (A) 28
(B) 24
(C) 35
(D) 30
23.要使菜单项能通过按键盘上的Alt键及K键打开,应在菜单编辑器中设置____。 (A) 在“名称”栏中“K”字符前加上“&” (B) 在“标题”栏中“K”字符前加上“&” (C) 在“名称”栏中“K”字符后加上“&” (D) 在“标题”栏中“K”字符后加上“&” 24. 以下Case语句中错误的是____。 (A) Case 0 To 10
(B) Case Is>10
(D) Case 3,5,Is>10
(C) Case Is>10 And Is<50
25.假定有以下两个过程,则以下说法中不正确的是________。 Private Sub PPP (a As Single, b As Single) a = a + b b = a + b Print a, b End Sub
Private Sub Form_Activate( ) x=18
Call PPP (x,(x)) Print x End Sub
(A)形参是 a 和b ,两个实参x和(x)允许重名 (B)形参是 a 和b ,实参(x)表示是传值调用 (C)形参是 a 和b ,实参x表示是传址调用 (D)Print a, b 输出的值分别为36,36
26.若需要在同一窗口内安排两组相互独立的单选按钮(OptionButton),可使用 ______ 控件将它们分隔开。 ① TextBox ② PictureBox ③ Image ④ Frame (A) ①或② (B) ②或③ (C) ②或④ (D) ③或④
27.在窗体上画一个名称为CommandDialog1 的通用对话框,一个名称为Command1的命令按钮。然后编写如下事件过程:
Private Sub Command1_Click()
26
CommonDialog1.FileName =\
CommonDialog1.Filter=\CommonDialog1.FilterIndex=2 CommonDialog1.DialogTitle=\CommonDialog1.Action=1 End Sub
对于这个程序,以下叙述中错误的是______
(A)该对话框被设置为“打开”对话框 (B) 在该对话框中指定的默认文件名为空
(C)该对话框的标题为VBTest (D)在该对话框中指定的默认文件类型为文本文件(*.Txt) 28.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Option Base 1
Private Sub Command1_Click() Dim a
a= Array(1,2,3,4,5) For i=1 To UBound(a) a(i) = a(i)+i-1 Next Print a(3) End Sub
程序运行后,单击命令按钮,则在窗体上显示的内容是______。 (A) 4 (B) 5 (C) 6 (D) 7
29.在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程,该事件过程的功能是____ Private Sub Command1_Click() n = Val(Text1.Text) For i = 2 To n For j = 2 To sqr(i)
If i Mod j = 0 Then Exit For Next j
If j > Sqr(i) Then Print i Next i End Sub
(A) 输出n以内的奇数 (B) 输出n以内的偶数 (C) 输出n以内的素数 (D) 输出n以内能被j整除的数 30.设有如下程序: Private Sub Command1_Click() Dim sum As Double, x As Double sum = 0: n = 0
27
For i = 1 To 5
x = n / i: n = n + 1: sum = sum + x Next End Sub
该程序通过For循环计算一个表达式的值,这个表达式是_______ (A)1+1/2+ 2/3+3/4+4/5 (B)1+1/2+2/3+3/4 (C)1/2+2/3+3/4+4/5 (D)1+1/2+1/3+1/4+1/5 二、填空题(50分,每空2分)
1、设a=6,则执行x=Iif(a>5,-1,0)后,x的值为_____[1]__________。
2、Visual Basic提供了三种对数据文件的访问方式,它们是顺序访问方式、__[2]____访问方式和二进制访问方式。
3、 赋值语句:a=123 & MID(\执行后,a变量中的值_[3]_____ 。
4、如果有以下程序代码,则输出结果是[4]________。 x = 10 y = 5
Print x ^ 2 >= y ^ 3
5、运行下面的程序,单击窗体后在窗体上显示的内容是_[5]_____;若将程序中的A语句与B语句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是__[6]____。 Private Sub Form_Click() Dim a As Integer,b As Integer a=0: b=0 Do While a<=8
a=a+2 ' A语句 b=b+a*a ' B语句 Loop Print a,b End Sub
6、运行下面这段程序,在文本框Text1和Text2中分别输入一串字符,单击命令按钮时,在Text1中删除掉Text2中的内容。例如Text1中输入“ABCDEFG”,Text2中输入“CD”,则单击Command1时,Text1中显示“ABEFG”。填空完成程序。
Sub DeleStr(S1$, S2$) Dim n%
28
Do
n = InStr(S1, S2) If n = 0 Then __[7]____ S1 = Left(S1, n - 1) + __[8]__ Loop End Sub
Private Sub Command1_Click() Dim x$, y$ x = Text1.Text y = Text2.Text Call __[9]___ Text1.Text = x End Sub
7、找出四位数中的幸运数,并统计幸运数的个数。所谓幸运数是指前两位数的和与后两位数的和相等的四位数。要求:满足条件的幸运数显示在列表框中,幸运数的个数显示在文本框中。 Option Explicit ' 该句的作用是: ___[10]____ Private Sub Command1_Click()
Dim i As Integer, n As Integer, n1 As Integer, n2 As Integer For i = 1000 To 9999 ___[11]____ n2 = i Mod 100
If sum(n1) = sum(n2) Then ___[12]____
List1. ___[13]____ CStr(i) End If Next i Text1.Text = n End Sub
Private Function sum(s As Integer) As Integer Dim p As Integer, q As Integer p = s \\ 10 ___[14]___ sum = p + q End Function
8、完善程序。将100至150之间的偶数,拆分成两个素数之和(只要一对即可)。子函数过程Prime用于判断一个数是否为素数。
Private Function prime(ByVal x As Integer) As Boolean prime = True
29
For i = 2 To Sqr(x)
If _______[15]_______ Then
prime = __________[16]______________ Exit Function End If Next End Function
Private Sub Form_Click() Dim i%, k%, n%
For n = 100 To 150 __________[17]_____________ For k = 3 To n / 2
If prime(k) And __________[18]__________ Then Print n; \ Exit For End If Next k Next n End Sub
9、下面的程序段用“冒泡”法将数组a中的10个整数按升序排列,请将程序补充完整。Option Base 1
Private Sub Command1_Click() Dim a()
a = ___[19]___ (-2, 5, 24, 58, 43, -10, 87, 75, 27, 83) For i = 1 To ___[20]___ - 1
For j = 1 To ___[20]____-i ' 注意,两个[20]空表示填的是同一内容 If a(j) > a(j + 1) Then a1 = a(j) a(j) = a(j + 1) a(j + 1) = a1 ___[21]____ Next j Next i End Sub
10、在C盘根目录下有一数据文件(cj.dat),内容如下: 9901,56,78 9902,97,89 9903,67,75 9904,78,76
30