11.若需要在同一窗口内安排两组相互的单选按钮(OptionButton),适当的控件将它们分隔开。下列不能将单选按钮分组的控件是( )。 ① TexBox ②PictureBox ③ Image ④Frame ⑤ListBox A)①②③ B)①③⑤ C)②④⑤ D)③④⑤ 12.设整型变量a、b的当前取值分别为200与20,以下赋值与句中不能正确执行的是( )。 A)Text1 = a / b * a B)Text1 = a * a / b C)Text1 = \"200\" * a / b D)Text1 = a & b & a 13.文件操作的一般顺序是( )。 A)操作→关闭文件 B)打开文件→操作→关闭文件 C)打开文件→操作 D)打开文件→关闭文件→操作 14.下列操作中不能向工程中添加窗体的是( )。 A)执行“工程”菜单中的“添加窗体”命令 B)单击工具栏上的“添加窗体”按钮C)右击窗体,在弹出的菜单中选择“添加窗体”命令
D)右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令。
15.在使用菜单编辑器创建菜单时,可在菜单名称中某字母前插入( )符号,那么在运行程序时按Alt键和该字母键就可以打开该命令菜单。 A)下划线 B)& C)$ D)@ 16.下面关于Sub过程的说法,错误的是( )。 A)不能用GoTo 语句进入或转出一个Sub过程 B)可以通过调用执行Sub过程,而且可以嵌套调用 C)Sub过程可以嵌套
D)在Sub过程内,不能定义Sub过程或Function过程 17.以下关于方法的叙述中,错误的是( )。
A)事件是由Visual Basic预先设置好的、能够被对象识别的动作 B)虽然事件名称相同,但不同的对象能够识别的事件也不一样 C)单击鼠标左键即可在触发Click事件
D)响应某个事件后所执行的操作可以通过一指令来实现 18.下列关于数组的叙述中,错误的是( )。 A)在过程中可以用Dim语句对形参数组进行说明 B)数组是同类变量的一个有序的集合 C)数组元素可以是控件
D)数组在使用之前,必须先用数组说明语句进行说明
19.某过程的说明语句中,正确的数组说明语句是( )。 Const N As Integer=4 Dim L As Integer ① Dim X(L) As Integer ② Dim A(K) As Integer Const K As Integer=3 ③ Dim B(N) As Integer ④ Dim Y(2000 to 2008) As Integer A)①②④ B)①③④ C)③④ D)②③
20.用Hide方法隐藏窗体时,它就从屏幕上被删除,并将其Visible属性设置为( )。 A)1 B)0 C)False D)True
二、填空题(每空1分,共40分)
1.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( )。 Private Sub Command1_Click() Dim a As Integer, b As Integer a = 100: b = 24 a = a Mod b b = b \\ a a = b - a Print a Print b End Sub
2.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( ),第三行内容是( )。 Private Sub Command1_Click()
Dim s1 As String * 1, s2 As String, i As Integer s1 = \"A\"
For i = Asc(s1) To Asc(s1) + 2 s2 = s2 & Chr(i) Print s2
Next i 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 s1 As String, n As Integer, k As Integer s1 = \"abcdefabcdefabcdef\" k = InStr(s1, \"d\") Do While k > 0 n = n + 1
s1 = Mid(s1, k + 1) k = InStr(s1, \"d\") Print k Loop Print n End Sub
5.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( ),第四行内容是( )。 Private Sub Command1_Click() Dim a As Integer, b As Integer a = 32: b = 5 Do
a = a / 2
b = b + 2 Print b
Loop While b < 10 Print a End Sub
6.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( )。 Private Sub Command1_Click() Dim x As Integer, y As Integer x = 8: y = 2
Print fun1((x), y) Print x End Sub
Private Function fun1(x As Integer, y As Integer) As Integer Dim s As Integer s = x x = s / y
fun1 = s Mod y End Function
7.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( ),第三行内容是( )。 Private Sub Command1_Click()
Dim i As Integer, j As Integer, x As Integer, k As Integer For i = 1 To 3 x = 1
For j = 1 To 2 x = 5
For k = 1 To 4 x = x + 2 Next k Next j Print x Next i End Sub
8.执行下面程序,单击命令按钮Command1,窗体上显示的第一行内容是( ),第二行内容是( ) ,第三行内容是( ),n内容是( )。 Private Sub Command1_Click()
Dim x As String, y As String, i As Integer, n As Integer x = \"123\": y = \"abc\" n = Len(x) For i = 1 To n
Print Mid(x, n + 1 - i, 1) + Mid(y, i, 1) Next i End Sub
9.运行下面程序,单击Command1,在窗体上显示a的值是( ),b的值是( ),i的值是( )。 Option Explicit
Private Sub Command1_Click()
Dim i As Integer, a As Integer, b As Integer a=1:b=10
For i=a To b Step a+1 a=a+1 b=b+1 i=i+1 Next i Print a, b, i End Sub
10.运行下列程序,单击Command1,在窗体上显示的第一行内容是( ),第二行的内容是( ),第三行的内容是( )。 Option Explicit
Private Sub Command1_Click() Dim n As Integer, i As Integer n = 2
For i = 7 To 1 Step -1 Call sub2(i, n) Print i, n Next i End Sub
Private Sub sub2(x As Integer, y As Integer) Static n As Integer Dim i As Integer For i = 2 To 1 Step -1 n = n + x x = x - 1 Next i
y = y + n End Sub
11.执行下面程序,单击Command1按钮后,变量fir值是( ),变量sec值是( ),变量thir值是( )。 Private Sub Command1_Click()
Dim fir As Integer, sec As Integer, thir As Integer fir = 96 sec = 421 thir = 3857
Call look_for(fir, sec, thir) Print fir; sec; thir End Sub
Sub look_for(f As Integer, s As Integer, t As Integer) Dim tem As String If 1# * f * s <> t Then tem = Left(CStr(f), 1)
f = Right(CStr(f), 1) & Left(CStr(s), 1) s = Right(CStr(s), 2) & Left(CStr(t), 1) t = Right(CStr(t), 3) & tem Call look_for(f, s, t) End If End Sub
12.执行下面程序,单击Command1,数组元素a(3, 2)的值是( ),a(1, 2)的值是( ),a(2, 3)的值是( )。 Option Explicit Option Base 1
Private Sub Command1_Click()
Dim n As Integer, i As Integer, j As Integer Dim a(3, 3)As Integer, k As Integer n=3:k=1
i=n:j=(n+1)/2 a(i, j)=k
For k=2 To n*n i=i+1:j=j+1
If i>n And j<=n Then i=1
ElseIf i<=n And j>n Then j=1
ElseIf i>n And j>n Then i=i-2:j=j-1
ElseIf i<=n And j<=n And a(i, j)<>0 Then i=i-2:j=j-1 End If a(i, j)=k Next k
For i=1 To n For j=1 To n
Pic1.Print Right(\" \" & Str(a(i, j)), 3); Next j Pic1.Print Next i End Sub
13.执行下面的程序,单击Command1,窗体上显示的的第一行是( ),第二行是( ),最后一行是( )。 Option Explicit
Private Sub Command1_Click() Dim a As Integer, b As Integer a = 1 b = 2
Print fun((a + 2), fun(2 * a, b)) Print a; b End Sub
Private Function fun(x As Integer, ByVal y As Integer) As Integer x = x + 2 y = x - y + 3 fun = x + y Print x; y; fun End Function
14.下列程序的功能是:计算圆周率π(计算精确到第n项减1的绝对值小于10-5为止)。
π=2×222×××… 222222Option Explicit
Private Sub Command1_Click()
Dim y As Integer, t As Integer, a As Integer
y = 2: t = 0 Do
( ) a=2/t
If ( ) Then Exit Do y = y * a Loop
Print “pi=”; y End Sub
南京师范大学泰州学院2011—2012学年度第二学期 电力工程学院电气专业10级《VB程序设计》期末考试试卷A卷 一、选择题 1.A 2.C 6.C 7.C 11.B 12.B 16.C 17.D
二、填空题 1.2 1.6 2.A 2.AB 3.2 3.2 4.6 4.6 5.7 5.9 6.0 6.8 7.13 7.13 8.3a 8.2b 9.5 9.14 10.5 15 10.2 35 11. 42 11. 138 12.1 12.9 13.4 5 9 13.5 -1 4 14. t=Sqr(2+t)
参:
3.A
4.C 5.A 8.B 9.B 10.C 13.B 14.C 15.B 18.A
19.C
20.C
2.ABC 3.30 4.3 5.4
7.13 8.1c 8.3
9.13 10.-1 56 11. 5796 12.7 13.1 2
14. Abs(a-1)<0.00001