(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:
Option Base 1
Private Sub Command1_Click()
d = 0
c = 10
x = Array(10, 12, 21, 32, 24)
For i = 1 To 5
If x(i) > c Then
d = d + x(i)
c = x(i)
Else
d = d-c
End If
Next i
Print d
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为
A)89 B)99 C)23 D)77
(26)在窗体上画两个滚动条,名称分别为Hscroll1 、Hscroll2;六个标签,名称分别为Label1、Label2、Label3、Label4、Label5、Label6,其中标签Label 4~ Label6分别显示"A"、"B"、"A*B"等文字信息,标签Label1、Label2分别显示其右侧的滚动条的数值,Label3 显示A*B的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮"计算"时,对标签Label1、Label2中显示的两个值求积,并将结果显示在Label3中。以下不能实现上述功能的事件过程是
A)Private Sub Command1_Click()
Label3.Caption = Str(Val(Label1.Caption )*Val( Label2.Caption))
End Sub
B)Private Sub Command1_Click()
Label3.Caption = HScroll1.Value * HScroll2.Value
End Sub
C)Private Sub Command1_Click()
Label3.Caption = HScroll1 * HScroll2
End Sub
D)Private Sub Command1_Click()
Label3.Caption = HScroll1. Text * HScroll2.Text
End Sub
(27)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod 3 <> 0 Then m = m + n \ 3
Next n
Print n
End Sub
程序运行后,如果单击命令按钮,则窗体上显示的内容是
A)15 B)18 C)21 D)24
(28)在窗体上画一个名称为Text1的文本框,并编写如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single,
Y As Single)
Print "程序设计"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Print "Visual Basic";
End Sub
程序运行后,如果按"A"键,然后单击窗体,则在窗体上显示的内容是
A)Visual Basic B)程序设计
C)A程序设计 D)Visual Basic程序设计
(29)设有如下程序:
Private Sub Command1_Click()
Dim sum As Double, x As Double
sum = 0
n = 0
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
(30)以下有关数组定义的语句序列中,错误的是
A) Static arr1(3) B)Dim arr2() As Integer
arr1(1) = 100 Dim size As Integer
arr1(2) = "Hello" Private Sub Command2_Click()
arr1(3) = 123.45 size = InputBox("输入:")
ReDim arr2(size)
......
End Sub
C)Option Base 1 D)Dim n As Integer
Private Sub Command3_Click() Private Sub Command4_Click()
Dim arr3(3) As Integer Dim arr4(n) As Integer
...... ......
End Sub End Sub
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)执行下面的程序段后,i的值为 【1】 ,s的值为 【2】 。
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(2)把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print Chr(KeyCode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
程序运行后,如果直接按键盘上的"A"键(即不按住Shift键),则在窗体上输出的字符分别是 【3】 和 【4】 。
(3)在窗体上画一个标签(名称为Label1)和一个计时器(名称为Timer1),然后编写如下几个事件过程:
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 【5】
End Sub
Private Sub Form_Click()
Timer1.Enabled = 【6】
End Sub
Private Sub Timer1_Timer()
Label1.Caption = 【7】
End Sub
程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次(见图)。请填空。
(4)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程:
Private Sub Command1_Click()
S$ = InputBox("请输入一个字符串")
Text1.Text = S$
End Sub
Private Sub Text1_Change()
Label1.Caption = UCase(Mid(Text1.Text, 7))
End Sub
程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串"VisualBasic",则在标签中显示的内容是 【8】 。
(5)在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为List1、Command1和Label1,通过属性窗口把列表框中的项目设置为:"第一个项目"、"第二个项目"、"第三个项目"、"第四个项目"。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示(选择"第三个项目"的情况)。下面是实现上述功能的程序,请填空。
Private Sub Command1_Click()
If List1.ListIndex >= 【9】 Then
List1.RemoveItem 【10】
Label1.Caption = 【11】
Else
MsgBox "请选择要删除的项目"
End If
End Sub
(6)设有程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1, Max as Integer
arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)
【12】 = arr1(1)
For i = 1 To 8
If arr1(i) > Max Then 【13】
Next i
Print "最大值是: "; Max
End Sub
以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值。请填空。
(7)以下程序的功能是:把当前目录下的顺序文件smtext1.txt的内容读入内存,并在文本框Text1中显示出来。请填空。
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ""
Open ".\smtext1.txt" 【14】 As #1
Do While 【15】
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
全国计算机等级考试二级笔试试卷
Visual Basic语言程序设计
参考答案
一、 选择题
(1) C (2) A (3) B (4) B (5) C
(6) A (7) B (8) D (9) C (10)B
(11)A (12)D (13)A (14)A (15)B
(16)A (17)D (18)C (19)A (20)A
(21)B (22)C (23)C (24)A (25)C
(26)D (27)C (28)D (29)C (30)D
二、 填空题
(1) 【1】 5.6 【2】 5
(2) 【3】 A 【4】 a
(3) 【5】 1000 【6】 True 或 任何非0数值 【7】 Time 或 Time$
(4) 【8】 BASIC
(5) 【9】 0 【10】 List1.ListIndex 【11】 List1.ListCount
(6) 【12】 Max 【13】 Max = arr1(i)
(7) 【14】 For Input 【15】 Not EOF(1)