C)Type TelBook D)Typedef TelBook
Name String*10 Name String*10
TelNum Integer TelNum Integer
End Type TelBook End Type
(7)以下声明语句中错误的是
A)Const var1=123 B)Dim var2 = 'ABC'
C)DefInt a-z D)Static var3 As Integer
(8)设窗体上有一个列表框控件Lis选中的列表项内容的是t1,且其中含有若干列表项。则以下能表示当前被
A)List1.List B)List1.ListIndex C)List1.Index D)List1. Text
(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是
A)MouseDown B)MouseUp C)Load D)Click
(10)设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是
A)True B)False C)1 D)出错信息
(11)如果要改变窗体的标题,则需要设置的属性是
A)Caption B)Name C)BackColor D)BorderStyle
(12)以下能判断是否到达文件尾的函数是
A)BOF B)LOC C)LOF D)EOF
(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是
A)如果工程中含有Sub Main过程,则程序一定首先执行该过程
B)不能把标准模块设置为启动模块
C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体
D)任何时刻最多只有一个窗体是活动窗体
(14)窗体的MouseDown事件过程
Form_MouseDown (ButtSingle)on As Integer, Shift As Integer, X As Single, Y As
有4个参数,关于这些参数,正确的描述是
A)通过Button参数判定当前按下的是哪一个鼠标键
B)Shift参数只能用来确定是否按下Shift键
C)Shift参数只能用来确定是否按下Alt和Ctrl键
D)参数x,y用来设置鼠标当前位置的坐标
(15)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItem Combo1.Listcount
(16)以下关于焦点的叙述中,错误的是
A)如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据
B)当文本框失去焦点时,触发LostFocus事件
C)当文本框的Enabled属性为False时,其Tab顺序不起作用
D)可以用TabIndex属性改变Tab顺序
(17)如果要在菜单中添加一个分隔线,则应将其Caption属性设置为
A)= B)* C)& D)-
(18)执行语句Open "数据能够执行的操作是Tel.dat" For Random As #1 Len = 50后,对文件Tel.dat中的
A)只能写,不能读 B)只能读,不能写
C)既可以读,也可以写 D)不能读,不能写
(19)在窗体上画一个本框,然后编写如下事件过名称为Command1的命令按钮和两
程:个名称分别为Text1、Text2的文
Private Sub Command1_Click()
n = Text1.Text
Select Case n
Case 1 To 20
x = 10
Case 2, 4, 6
x = 20
Case Is < 10
x = 30
Case 10
x = 40
End Select
Text2.Text = x
End Sub
程序运行后,如果在文内容是本框Text1中输入10,然后单击命令按钮,则在Text2中显示的
A)10 B)20 C)30 D)40
(20)设有以下循环结构
Do
循环体
Loop While <条件>
则以下叙述中错误的是
A)若"条件"是一个为0的常数,则一次也不执行循环体
B)"条件"可以是关系表达式、逻辑表达式或常数
C)循环体中可以使用Exit Do语句
D)如果"条件"总是为True,则不停地执行循环体
(21)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim num As Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是
A)1 3.4 5.8 B)1 3 5
C)1 4 7 D)无数据输出
(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
Dim a As Integer, s As Integer
a = 8
s = 1
Do
s = s + a
a = a-1
Loop While a <= 0
Print s; a
End Sub
程序运行后,单击命令按钮,则窗体上显示的内容是
A) 7 9 B) 34 0
C) 9 7 D)死循环
(23)设有如下通用过程:
Public Function f(x
As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1
_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x; y
End Sub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是
A)10 5 B)20 5
C)20 40 D)10 40
(24)设有如下通用过程:
Public Sub Fun(a(),
ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗体上画一个名称为Text1的文本下的事件过程:框和一个名称为Command1的命令按钮,然后编写如
Private Sub Command1_Click()
Dim arr(5) As Variant
For i = 1 To 5
arr(i) = i
Next
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序运行后,单击命令按钮,则在文本框中显示的内容是
A)10 B)15 C)25 D)24
(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)在窗体上画两个别为Label1、Label2、Labe显示"A"、"B"、"A*B"等文Label3 显示A*B的计算结果。当单击命令按钮"计算"时Label3中。以下不能实现上滚动条,名称分别为Hscroll1 l3、Label4、Label5、Label6,字信息,标签Label1、Label2分。如图所示。当移动滚动框时,,对标签Label1、Label2中显示
述功能的事件过程是、Hscroll2;六个标签,名称分其中标签Label 4~ Label6分别显示其右侧的滚动条的数值,在相应的标签中显示滚动条的值的两个值求积,并将结果显示在
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_MouY As Single)
seUp(Button As Integer, Shift As Integer, X As Single,
Print "程序设计"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Sh
ift 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)
arr1(1) = 100
arr1(2) = "Hello"
arr1(3) = 123.45
B)Dim arr2() As Integer
Dim size As Integer
Private Sub Command2_Click()
size = InputBox("输入:")
ReDim arr2(size)
......
End Sub
C)Option Base 1
Private Sub Command3_Click()
Dim arr3(3) As Integer
......
End Sub
D)Dim n As Integer
Private Sub Command4
_Click()
Dim arr4(n) As Integ
er
......
End Sub
二、填空题(每空2分,共30分)
(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
程序运行后,如果直接分别是 〖3〗 和 〖4〗 。按键盘上的"A"键(即不按住Shift键),则在窗体上输出的字符
(3)在窗体上画一个标签(名称为L写如下几个事件过程: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秒钟变换一次(见图)。请
————————————————
——————
14:54:41
————————————————
——————
(4)在窗体上画一个Label1和Command1,然后编文本框、一个标签和一个命令按 钮,其名称分别为Text1、Command1
写如下两个事件过程:
Private Sub Command1_Click()
S$ = InputBox("请输
入一个字符串")
Text1.Text = S$
End Sub
Private Sub Text1_Ch
ange()
Label1.Caption = UCa
se(Mid(Text1.Text, 7))
End Sub
程序运行后,单击命令"VisualBasic",则在标签按钮,将显示一个输入对话框,中显示的内容是 〖8〗 。如果在该对话框中输入字符串
(5)在窗体上画一个列表框、一个Command1和Label1,通过属性窗口把列表、"第三个项目"、"第四个项目"。程序运钮,即可将所选择的项目删除,并在标签
选择"第三个项目"的情况)。下面是实现
命令按钮和一个标签,其名称分别为List1、
框中的项目设置为:"第一个项目"、"第二个项目"
行后,在列表框中选择一个项目,然后单击命令按
中显示列表框当前的项目数,运行情况如图所示(
上述功能的程序,请填空。
Private Sub Command1_Click()
If List1.ListIndex >= 〖9〗 Then
List1.RemoveItem 〖10〗
Label1.Caption = 〖11〗
Else
MsgBox "请选择要删除的项目"
End If
End Sub
——————————
———————————
第一个项目
第二个项目
COMMAND1
第三个项目 3
——————————
———————————
(6)设有程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1, Max as Int
eger
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)以下程序的功能在文本框Text1中显示出来是:把当前目录下的顺序文件sm。请填空。text1.txt的内容读入内存,并
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
2003年9月全国计算机等级考试二级VB语言笔试试卷参考答案
一、 选择题
(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 〖7〗 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)