7. 设窗体上有一个标签Label1和一个计时器Timer1,Timer1的Interval属性被设置为1000,
Enabled属性被设置为True,要求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是()。
A. Private Sub Timer1_Timer()
Label1.Caption = True End Sub
C. Private Sub Timer1_Timer()
Label1.Interval = 1 End Sub B. Private Sub Timer1_Timer()
Label1.Caption = Time$ End Sub
D. Private Sub Timer1_Timer()
Label1.Text = Time
End Sub
8. 若看到程序中有以下事件过程,则可以肯定的是,当程序运行时()。
Private Sub Click_MouseDown(Button As Integer, Shift As Integer, X As Single, _ Y As Single)
If Button = 2 Then Print “VB Program”
End Sub
A. 鼠标右键按下Command1对象,执行此过程
B. 鼠标右键单击Click对象,执行此过程
C. 鼠标左键单击Click对象,执行此过程
D. 鼠标左键按下MouseDown对象,执行此过程
9. 窗体上有名为Option1的单选按钮,则以下语句中与If Option1.Value = True Then不等价
的是()。
A. If Option1.Value Then
B. If Option1 = True Then
C. If Value = True Then
D. If Option1 Then
10. 文本框Text1的KeyDown事件过程如下:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
End Sub
其中参数KeyCode的值表示的是发生此事件时()。
A. 是否按下了Shift键
B. 按下的是哪个数字键
C. 所按的键盘键的键码(扫描码)
D. 所按的键盘键的Ascii码
11. 窗体上有一个用菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠
标右键,则弹出快捷菜单。如图所示。以下叙述中错误的是()。
A. 在设计“粘贴”菜单项时,在菜单编辑器窗口中设置“有效”属性
(有“√”)
B. 菜单中的横线是在该菜单项的标题输入框中输入了一个“-”(减号)
字符
C. 在设计“选中”菜单项时,在菜单编辑器窗口中设置“复选”属性(有“√”)
D. 在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见”前面的“√”
二、填空题〖每空2分,共计50分〗;
1. 为了在运行时把d:\pic 文件夹下的图形文件a.jpg 装入图片框picture1,所使用的语句为
(1) 。
2. 在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Private Sub Command1_Click()
CommonDialog1.Filter = "All Files|*.*|Text Files|*.txt|Batch Files|*.bat" CommonDialog1.FilterIndex = 2 CommonDialog1.ShowOpen End Sub
程序运行后,单击命令按钮,此时在打开的对话框“文件类型”框中显示的是 (2) 。 3. VB 提供了结构化程序设计的三种基本结构,分别是顺序结构、分支结构和 (3) 结构。 4. 如图所示有两个列表框,左侧List1列表框可以多项选择,请完善以下程序,要求双击List1
中的某一项时,被选中的项目被添加到右侧List2中,同时清除List1中相应项目,若单击按钮,List1中所有选中的项目显示在List2中,而List1中的内容不变。 Private Sub List1_DblClick() List2.AddItem List1.Text List1. (4) End Sub
Private Sub Command1_Click() For i = 0 To (5)
If List1.Selected(i) Then List2. (6) Next End Sub
5. 下面的事件过程执行结束后,K 的值是 (7) ,程序中第二个循环被执行了 (8) 次,
程序中第三个循环被执行了 (9) 次。 Option Base 1
Private Sub Command1_Click()
Dim A(10) As Integer, i As Integer, K As Integer For i = 1 To 10 A(i) = 1 Next i K = 4
For K = 1 To K Step K A(K) = 0
本题 得分
8. 以下程序功能:利用图片框输出3*4矩阵A中每一行的最大值以及最大值所在的列(矩阵中
的数据在[50, 90]内随机整数),请完善代码。
Dim A(1 To 3, 1 To 4) As Integer
Private Sub CmdRowMax_Click()
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 3
(14)
For j = 2 To 4
If (15) Then k = j
Next j
Picture1.Print "第" & i & "行的第" & k & "列元素" & A(i, k) & "为最大值"
Next i
End Sub
Private Sub InitA_Click()
Dim i As Integer, j As Integer
Randomize
For i = 1 To 3
For j = 1 To 4
A(i, j) = (16)
Picture1.Print (17)
Next j
(18)
Next i
End Sub
9. 下面程序的功能是:将用户在文本框TxtA和TxtB中输入的任意多个无序数据(数据之间用
空格分隔)进行递增有序插入合并,最后
在右侧的文本框TxtAB中显示输出,要求
每行显示4个数据。试完善程序。
Private Sub CmdSortUnion_Click()
Dim i As Integer, A, B, x
A = Split(TxtA)
B = Split(TxtB)
Call Sort(A)
For i = LBound(B) To UBound(B)
(19)
Next i
行号程序代码
1. Option Explicit
2. Dim n As Integer, a() As Integer
3. Private Sub Command1_Click()
4. Dim i As Integer, n As Integer
5. n = InputBox("输入n:", , 3)
6. Dim a(1 To n, 1 To 3)
7. For i = 1 To n
8. a(i, 1) = Int(Rnd * 90) + 10
9. a(i, 2) = nx(a(i, 1))
10. a(i, 3) = gcd(a(i, 1), a(i, 2))
11. Next i
12. End Sub
13. Private Sub Command2_Click()
14. Dim i As Integer, j As Integer
15. Text1 = "运行结果是:" & vbCrLf
16. For i = 1 To n
17. For j = 1 To 3
18. Text1 = Text1 & Right(" " & Str(a(i, j)), 3)
19. Next j
20. Text1 = Text1 & vbCrLf
21. Next i
22. End Sub
23. Function nx(x As Integer) As Integer
24. nx = (x Mod 10) * 10 + x / 10
25. End Function
26. Function gcd(a As Integer, b As Integer) As Integer
27. Dim r As Integer
28. Do
29. r = a Mod b
30. a = b
31. b = r
32. Loop Until r = 0
33. gcd(a,b) = b
34. End Function