发布时间 : 星期二 文章江苏省计算机等级考试05VB秋更新完毕开始阅读ce97c729e2bd960590c67785
第二部分 Visual Basic 程序设计
一、选择题(用答题卡答题,答案依次填在21~30答题号内) 21.以下所列的8个控件中,具有Caption属性的有 21 个。
CheckBox(复选框)、ComboBox(组合框)、HscrollBar(水平滚动条)、DirListBox(文件夹列表框)、Image(图像框)、Frame(框架)、Label(标签)、Line(线条) A. 5 B. 4 C. 3 22.执行下面语句后,Len函数值最大的是 22 。
D. 2
Dim IA As Integer, B As Single, S As String * 5, Ch As String IA = 32767 : B = 23.5 : S = \
A. Len(IA) B. Len(B) C. Len(S) D. Len(Ch) 23.假设变量Lng 为长整型变量,下面的 23 语句不能执行。
A. Lng = 16384 * 2 C. Lng = 190 ^ 2 24.数学表达式
?b?b?4ac2a2 B. Lng = 4 * 0.5 * 16384 D. Lng = 32768 * 2
对应的正确Visual Basic表达式为 24 。
A. -b + Sqr(b * b - 4 * a * c) / 2 * a B. -b + Sqr(b * b - 4 * a * c) / (2 * a) C. (-b + Sqr(b * b - 4 * a * c)) / (2 * a)
D. (-b + Sqr(b * b - 4 * a * c)) / 2 * a
25.设Mys1,Mys2均为字符串型变量,Mys1=\,Mys2=\,则下面关系表达式中结果为True的是 25 。
A. Len(Mys1) <> 2 * InStr(Mys1, \
B. Mid(Mys1, 8, 1) > Mys2
C. Chr(98) & Right(Mys1, 4) = \
D. InStr(Left(Mys1, 6), \
26.在窗体模块代码窗口的通用声明处,可以使用 26 语句说明数组。
① Public A(10) As Integer ② Dim A(10) As Integer
③ Private A(10) As Integer A. ①② B. ②③
④ Static A(10) As Integer
C. ③④ D. ①④
27.设A = 7,B = 4,C = 6,则表达式A Mod 3 + B ^ 3 / C \\ 5的值为 27 。
A. 1 B. 2 C. 3 D. 出错 28.下列说法中,错误的是 28 。
A. 当程序正常结束时,所有没用Close语句关闭的文件都会自动关闭
B. 在关闭文件或程序结束之前,可以不用Unlock语句对已锁定的记录解锁 C. 可以用不同的文件号同时打开一个随机文件
D. 用Output模式打开一个顺序文件,即使不对它进行写操作,原来内容也被清除
29.程序中有两个过程Private Sub Fun1(S As String)和Private Sub Fun2(a() As String * 6),在调用过程中用Dim St(6) As String * 6定义了一个字符串数组。下面调用语句中正确的是
第4页 VB
29 。
① Call Fun1(St(3)) ② Call Fun2(St) ③ Call Fun1(St) ④ Call Fun2(st(6))
A. ①②
B. ①③
C. ②③ D. ②④
30.DrawStyle属性用于设置图形方法输出的线型,它受 30 属性的限制。
A. FillStyle B. FillColor C. BorderStyle D. DrawWidth 二、填空题(将答案填写在答题纸的相应答题号内,每个答案只占一行)
1.若窗体有列表框List1,则List1.List(List1.ListIndex)的值等于List1的 (1) 属性值。 2.执行下面的程序,当单击Command1时,列表框List1的第2列表项内容是 (2) ,第4列表项内容是 (3) ,第5列表项内容是 (4) 。
Private Sub Command1_Click()
Dim I As Integer, j As Integer For I = 1 To 10 j = I + j
List1.AddItem j Next I
For I = 1 To 4
List1.RemoveItem List1.ListCount - I Next I End Sub
3.运行下面的程序,当单击Command1时,窗体上显示的第一行内容是 (5) ,第三行内容是 (6) ,第四行内容是 (7) 。
Private Sub Command1_Click() Print Test(3)
End Sub
Private Function Test(t As Integer) As Integer Dim i As Integer If t >= 1 Then Call Test(t - 1)
For i = 3 To t Step -1
Print Chr(Asc(\ Next i Print End If Test = t
End Function
4.运行下面的程序,当单击窗体时,窗体上显示的第一行内容是 (8) ,第三行内容是 (9) ,第四行内容是 (10) 。
Dim x As Integer, y As Integer Private Sub Form_Click()
Dim a As Integer, b As Integer a = 5: b = 3
第5页 VB
Call sub1(a, b) Print a, b Print x, y End Sub
Private Sub sub1(ByVal m As Integer, n As Integer) Dim y As Integer
x = m + n : y = m - n m = fun1(x, y) n = fun1(y, x)
End Sub
Private Function fun1(a As Integer, b As Integer) As Integer x = a + b : y = a - b Print x, y fun1 = x + y
End Function 5.执行下面的程序,当单击Command1时,Picture1中显示内容的第二行与第四行分别是 (11) 与 (12) ,Picture2中显示内容的第一行和第三行分别是 (13) 与 (14) 。
Private Sub Command1_Click()
Dim a(4, 4) As Integer, i As Integer, j As Integer Dim b(4, 4) As Integer For i = 1 To 4 s = \
For j = 1 To 4
a(i, j) = ((i - 1) * 4 + j)
s = s & Right(\ Next j
Picture1.Print s Next i
For i = 1 To 4
For j = 1 To 4
b(5 - j, i) = a(i, j) Next j Next i
For i = 1 To 4 s = \
For j = 1 To 4
If Len(CStr(b(i, j))) < 2 Then s = s & \ Else
s = s & CStr(b(i, j)) & \ End If
第6页 VB
Next j
Picture2.Print s Next i End Sub
6.下面程序的功能是,输入x的值,利用递推法分别求出级数前n项(n = 0, 1, 2, 3, ?)之和。
S?a0?a1???an??
其中,
a0?1, an?an?1?x(3?2n)2nn?1,2,3,....
计算直到级数第n项的绝对值小于等于0.001 为止。完善程序,实现以上功能。
Private Sub Command1_Click()
Dim x As Single, n As Integer, i As Integer x = Text1 a = 1 s = a
List1.AddItem \ Do
i = i + 1 (15) s = s + a1
List1.AddItem \ If Abs(a1) <= 0.001 Then Text2 = i
(16) Else
a = a1 End If
Loop End Sub
7.下面程序的功能是,验证任意一个大于5的奇数可表示为3个素数之和。完善程序,实现以上功能。
Option Base 1
Private Sub Command1_Click()
Dim P() As Integer, N As Integer, L As Integer Dim I As Integer, J As Integer, k As Integer Dim ch As String
N = InputBox(\输入一个大于5的奇数!\ Label1.Caption = (17) Call Prime(P, N) L = UBound(P) For I = 1 To L
第7页 VB