2004年9月全国计算机等级考试二级VB语言笔试试题及答案
一、选择题((1)~(20)每题2分,(21)~(30)每题3分,共70分)。以下四个选项(a),
B),c)和d)只有一个是正确的。请在答题卡相应位置填写正确选项并作答。
(1)假设表单上有一个名为text1的文本框。程序运行后,要求这个文本框只能显示信息,不能接受输入信息。下面的语句可以实现这个操作是
a . text 1 . maxlength = 0
b . text 1 . enabled = flare
c . text 1 . visible = flare
d . text 1 . width = 0
(2下面的语句可以在Form1的标题栏显示“VisualBasic form”是
a . form 1 . name = " visual basic form "
b . form 1 . title = " visual basic form "
c程序运行后,如果移动滚动条,滚动条的当前值会显示在文本框中,如图所示。
下面可以实现上述操作的程序段是
a . Private Sub hscroll 1 _ change()
text 1 . text = hscroll 1 . value
end Sub
B . Private Sub hscroll 1 _ Click()
text 1 .Text=HScroll1。value
End Sub
C . Private Sub hscroll 1 _ Change()
1 . text = hscroll 1 . caption
End Sub
d . Private Sub hscroll 1 _ click()
text 1 . text = hscroll 1 . caption
End Sub
(4)设置菜单中有一个菜单项。如果你想为这个菜单命令设置访问键,也就是当你按下Alt和字母O时,你可以执行“打开”命令。在菜单编辑器中设置“打开”命令的方法是
a .将Caption属性设置为& open
b .将Caption属性设置为o&pen
c .将Name属性设置为& open
d .将Name属性设置为o&pen
在窗体上绘制一个名为Command1的命令按钮,然后编写以下事件过程:
Private subcommand 1 _ Click()
X = InputBox(" input ")
3
打印"分支1 "[/Br/]Case > 4[/Br/]打印"分支2 "
case else
打印" else分支"[/Br/]End Select[/Br/]End Sub[/Br/]程序运行后,如果在输入对话框中输入2,表单将显示
A .分支1
B .分支2
C. Else分支
D .程序错误
(6) 错误是
a . MsgBox函数返回一个整数
B .信息框中图标和按钮的类型可以通过MsgBox函数设置
c . MsgBox语句没有返回值
d . MsgBox函数的第二个参数是一个整数,这个参数只能决定对话框中显示的按钮个数
(7)在窗体上画一个名为Timer1的定时器控件,要求每0.5秒发生一次timer事件。 下面正确的属性设置语句是
a . timer 1 . interval = 0.5
b . timer 1 . interval = 5
c . timer . interval = 50
d . timer 1 . interval = 500
在窗体上绘制一个名为Command1的命令按钮,然后编写下面的事件过程:
private subcommand 1 _ click()
static x as integer
cls
for I = 1 to 2[] 连续三次单击Command1按钮后,表单上显示的内容是
A . 4 2
B . 12 18
c . 12 30
d . 4 6
(9)在以下对多表单程序的描述中,错误的是
a .使用Hide,它可以清除内存中的表单
b .在多表单程序中,每个表单的菜单是相互独立的
可以根据需要指定启动窗体
D .对于多窗体程序,需要单独保存每个窗体
(10)下面对文件的描述中,错误的是
A .顺序文件中的记录是一一存储的
B .随机文件中记录的长度是随机的
C .执行命令打开文件后, 自动生成文件指针
d.lof函数返回分配给文件的字节数
(11)下列说法错误的是
A .事件过程是响应特定事件的程序
B .不同的对象可以同名
C .对象的方法是执行指定的操作。 d .对象事件的名称可以由程序员指定
(12)下列合法的Visual Basic标识符是
a . for loop
b . const
c . 9 ABC
d . a # x
(13)其Value属性的值是
a . 3
b . 2
c . 1
d . 0
(14)表达式5m 以下表达式的值为
x z)或z
a . 1
b .-1
c . true
d . false
(16)在窗体上绘制一个名为Command1的命令按钮,然后编写以下事件过程:
private subcommand 1 _ Click()
a $ = " visual basic "
print string(3,a $)
end sub
Click 表单上显示的内容是
a . vvv
b . vis
c . sic
d . 11
(17)有以下程序段:
x = 2
for I. Next
运行上述程序后,x的值是
a . 26
b . 27
c . 38
d . 57 Br/] C .在KeyDown和KeyUp事件期间,键盘输入的“a”和“a”被视为相同的字母
D .在KeyDown和KeyUp事件期间,来自大键盘的“1”输入和来自右小键盘的“1”输入被视为不同的字符
(19)。将执行以下两个操作。表单显示
a = 9.8596
打印格式(a," [2],00.00")
A.0,009.86
B.9.86
C.9 .然后编写以下事件过程:
private子命令1 _ click()
common dialog 1 . filename = " "
common dialog 1 . filter = " all file | *。* | (*.做某事。Doc|(*。Txt)|*。txt " "/br/]common dialog 1。filter index = 2
common dialog 1。dialog title = " VB test "
common dialog 1。Action=1
End
对于这个程序,下面语句中的错误是
A .这个对话框被设置为“打开”对话框
B .这个对话框中指定的默认文件名是空
C .这个对话框的标题是VB Test
D
(21)一个项目由两个表单组成,名称分别为Form1和Form2,Form1上有一个名为Command1的命令按钮。Form1的程序代码如下:
Private subcommand 1 _ click()
dim a As Integer
a = 10
call g(Form 2,a)
End Sub
Private Sub g(f As Form,x As Integer)
y=IIf(x>10,100,-100)
f,Show
f . caption = y
End Sub 正确的结果是
a . form 1的标题属性值为100
B. Form2为-100
C. Form1为-100
D. Form2为100
(22在窗体上绘制一个名为Command1的命令按钮,并编写以下程序:
private subcommand 1 _ click()
dim x as integer
static y as integer
x y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer,As Integer)
x1 = x1+2
y1 = y1+2
End Sub
程序运行后点击命令按钮, 表单上显示的内容是[/Br/]a . 105[/Br/]b . 125[/Br/]c . 107[/Br/]d . 127[/Br/](23)有以下程序[/Br/]Option Base 1[/Br/]Private Br/]Dim a(10)As Integer[/Br/]Dim n As Integer[/Br/]n =输入框("输入数据")
If n Call GetArray(a,n)[/br 2然后
j = j+1
C(j)= B(I)
end if
next
print j
end sub
下面语句中的错误是[ A .数组B中的偶数保存在数组C中
B .程序运行后,窗体上显示数组C中的元素个数,
c . get array过程的参数N通过value传递
D .如果输入数据大于10,则窗体上不显示
(24)在窗体上绘制一个名为Command1的命令按钮,然后编写以下事件过程:
option base 1
private subcommand 1 _ click()
dim a
a = array(1,2,3,4, 5)
For I = 1 To UBOUND(A)
A(I)= A(I)+I-1
Next
Print A(3)
End Sub
程序运行后,那么表单上显示的内容是
A . 4
b . 5
c . 6
d . 7
(25)Reader
Option base 1 3然后
sum = sum+arr(I)
end if
next I
print sum
end sub
程序运行后,单击窗体,结果为
a . 13
b . 14
c . 27
d . 15
(26)在窗体上绘制一个名为File1的文件列表框,并编写以下程序:[/br 错误在于
a.x没有实际作用,因此,语句可以写成:call shell (file1,filename,1)
B .双击文件列表框中的文件,会触发事件进程
C .要执行的文件的名称由file1指定。 FileName
D. File1显示当前驱动程序和当前目录中的文件
(27)在名为Label1、标题为“VisualBasic Exam”的表单上绘制一个标签,两个命令按钮分别名为Command1和Command2、标题为Start和Stop。然后绘制一个名为Timer1的定时器控件,并将其Interval属性设置为500,如图所示。
编写下面的程序:
private subform _ load()
timer 1 . enabled = false
end sub
private subcommand 1 _ click()
timer 1。enabled = True
End Sub
Private Sub command 2 _ Click()
timer 1。enabled = False
End Sub
private timer 1 _ timer()
iflabel 1 . left
label 1 . left = label 1 . left+20
else
label 1 . left = 0
End if
End Sub
对于这个程序,下列语句中的错误是
A .标签移动的方向是从右向左
B .单击 并且标签从停止位置继续移动
C .当所有标签从表单中移除后,从表单的另一端出现并再次移动
d .以指定的时间间隔移动标签
(28)执行下面的程序段
a $ = " abbacdcba "
for I = 6t 2 step-2
x = mid(a,a i)
Y=Left(a,i)
(29)在窗体上绘制一个名为Command1的命令按钮,然后编写以下程序:
Option base 1
Private subcommand 1 _ Click()
Dim A as variant
A = array(1,2,3,4,5)
Sum=0
For i=1到5
Sum = Sum+A(I)
Next I
x = Sum/5
For
在下一个I
end sub
程序运行后,单击命令按钮, 而Form1上显示的内容是
a . 12
b . 123
c . 345
d . 45 .
Model 1代码如下:
public x as integer
public y as integer
Sub S1()
x = 1
S2
end Sub
S2()
y = 10
其中程序运行后的sub,各模块的执行顺序是
a . form 1→model 1→model 2
b . model 1→model 2→form 1
c . model 2→model 1
d . model 2→form 1→model 1 II . 填写/[/]]30分中2分)
请在答题卡[1] ~ list1.listcount-1横线上写下每一个空的正确答案,该答案不在试卷上计分。
(1)有如下程序段:
a $ = "北京上海"
b$ = mid (a $,instr (a $," g))+1)
上述程序段执行后,变量b $[br/](2)下面程序段的输出结果为[2]。
num = 0
while num = num+1
wend
print num
(3)该表单有一个名为List1的列表框、一个名为Text1的文本框、一个名称Label1和一个标题属性“Sum”程序运行后,1到100之间能被7整除的数字将被添加到列表框中。如果点击“计算”按钮,List1中的数字会被累加求和,计算出的结果会显示在文本框中,如图所示。以下是实现上述功能的程序,请填写空。
Private Sub Form _ Load()
For I = 1 To 100
If I Mod 7 = 0 Then
【3】
End If
Next
End Sub
Private Sub command 1 _ Click()
Sum = 0
For I = 0 To【4]
Sum = Sum+【5]
Next
text 1 .Text = Sum
End
(4)这个程序的作用是利用随机数函数模拟投币。方法是每次随机产生一个0或1的整数,相当于一次投币,1代表正面,0代表背面。表单上有三个文本框,分别命名为Text1、Text2和Text3,用于显示用户输入的硬币总数、正反次数,如图所示。程序运行后,在文本框Text1中输入总次数,然后点击“开始”按钮,根据输入的次数模拟投币,分别统计正反面的次数,并显示结果。以下是实现上述功能的程序,请填写空。
Private Sub command 1 _ Click()
随机化
n = CInt(Text1。text)
n1 = 0
N2 = 0
For I = 1 To【6】
r = Int(Rnd * 2)
If r =【7】Then
n1 = n1+1
Else
N2 = N2+1
End If
Next
2 .text = n1
text 3 . text = N2
end sub
(5)阅读程序:
option base 1
private subform _ click()
dim a(3)as integer
for I = 1to 3
a(I)= input box("输入数据")
Print a(I);
Next
Print
If a(1)
t = a(1)
a(1)= a(2)
a(2)=【8]
End If
If a(2)> a(3)则
M = a(2)
else If a(1)> a(3)则
m = 21) B (22) D (23) C (24) B (25) C
else程序会输出三个数的中间数,如图。请填写空。
(6)在窗体上绘制一个名为“Command1”、标题为“Calculate”的命令按钮,然后绘制7个标签,其中5个标签组成一个名为Label1的控件数组;名为Label2的标签用于显示计算结果,其Caption属性的初始值为空;标签3的标题为“计算结果”。运行程序时,会自动生成五个随机数,显示在标签控件数组的每个标签中,如图。单击“计算”按钮,将标签数组中每个元素的值相加,计算结果将显示在Label2中。请填写空。
Private Sub Command1 _ Click()
Sum = 0
For I = 0 To 4
Sum = Sum+【11】
Next
【12】= Sum
End
(7)在表单上绘制两个命令按钮,名称分别为command 1和Command2,标题分别为Initialize和Sum。程序运行后,如果点击“初始化”命令按钮,给数组A的每个元素赋值;如果单击“求和”命令按钮,就会找到数组A的元素之和,并显示在文本框中,如图所示。请填写空。
Option Base 1
Dim a(3,2)As Integer
Private Sub命令1_Click()
For i = 1到3
For j = 1到2
【2】 3= I+j
Next j
Next I
End Sub
Private Sub命令2_Click()
For j = 1到3
For i = 1到2
一、选择题((1)-(20)每小题2分,(21)-(30)每小题2分,共70分)
(1) B (2) C (3) A (4) A (5) C
(6) D (7) D (8) B (9) A (10) B
11) D (12) A (13) C (14) C (15) D
(16) A (17) B (18) B (19) D (20) D
[9]
(26) A (27) A (28) B (29) D (30) C
二。填写空题(每题2分空共30分)
【1】“上海”
[13]
清单1.additem i
[15]
第一册
【6】 n
【7】 1
【8】 t
【九】一(3)
【10】答(1)
【11】标签1(i)。标题
标签2 .标题
【13】a(i,j)
a(j,I)
[15]s
0条评论