打印本文 打印本文  关闭窗口 关闭窗口  
二级VB模拟试卷(一)
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 14:49:41  文章录入:杜斌  责任编辑:杜斌

一、选择题:35题,2分/题,共70分 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.当运行程序时,系统自动执行启动窗体的某个事件过程。这个事件过程是( )
A)Load
B)Click
C)Unload
D)GotFocus
2.无论何控件,都具有一个共同属性。这个属性是( )
A)Text
B)Font
C)Name
D)Caption
3.在一行内写多条语句时,语句之间要用某个符号分隔。这个符号是( )
A),
B);
C)、
D):
4.表达式3∧2*2+3 MOD 10\4的值是( )
A)18
B)1
C)19
D)0
5.下面的变量名合法的是( )
A)k_name
B)k ame
C)name
D)k-name
6.设有如下变量声明Dim time1 As Date,为变量time1正确赋值的表达式是( )
A)time1 = #11:34:04 #
B)time1 = Format(Time,"yy:mm:dd")
C)time1 = #"11:34:04"#
D)time1 = Format("hh:mm:ss",Time)
7.表达式12000 + "129" & 200的值是( )
A)12329
B)"12129200"
C)"12000129200"
D)"12329"
8.若设a = 4,b = 5,则下列表达式值为真的是( )
A)(True+a)>0 And b>10
B)a>b Or b>10-a
C)(False-b< 0) Eqv (a>b)
D)a>b Xor b+3>5
9.当窗体上的文字或图形被覆盖或最小化后能恢复原貌,需要设置窗体的属性是( )
A)Appearance
B)Visible
C)Enable
D)Autoredraw
10.在窗体上画一个名称为Command1的命令按钮,编写以下程序:
Private Sub Command1_Click( )
Dim a As Integer
Static b As Integer
a = a + b
b = b + 4
Print a,b
End Sub
程序运行后,单击该命令按钮三次,屏幕上显示的值是( )
A)4 12
B)0 4
C)4 8
D)8 12


11.Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是( )
A)属性、控件和方法
B)属性、事件和方法
C)窗体、控件和过程
D)控件、过程和模块
12.下列程序段错误的是( )
A)Dim a As Integer
a = array(1,2,3,4)
B)Dim a(),b()
a = array(1,2,3,4):b = a
C)Dim a As Variant
a = array(1,"asd",true)
D)Dim a() As Variant
a = array(1,2,3,4)
13.表达式String(1,"I am student") + Replace("am harass","rass","ppy") & "!"的值是( )
A)"I am happy!"
B)"I am student I am s am harass studentam happy!"
C)"I am student am harass!"
D)"I am student am happy!"
14.下列程序段中,能正常结束循环的是( )
A)I = 1
Do
I = I + 2
Loop Until I = 10
B)I = 5
Do
I = I + 1
Loop Until I < 0
C)I = 10
Do
I = I + 1
Loop Until I > 0
D)I = 6
Do
I = I - 2
Loop Until I = 1
15.引用列表框(List1)最后一个数据项应使用的表达式是( )
A)List1.List(List1.ListCount)
B)List1.List(List1.ListCount-1)
C)List1.List(ListCount)
D)List1.List(ListCount-1)
16.有如下程序:
Option Base 1
Private Sub Command1_Click()
Dim x,y(3,3)
x = Array(1,2,3,4,5,6,7,8,9)
For i = 1 To 3
For j = 1 To 3
y(i,j) = x(i*j)
If(j > = i) Then Print y(i,j);
Next j
Print
Next i
End Sub
运行时输入出的结果是(D)
A)1 2 3
2 4 6
4 6 8
B)1 2 3
2 4 6
3 6 9
C)1
2 4
3 6 9
D)1 2 3
4 6
9
17.在窗体上画一个名称为Command1的命令按钮,编写如下程序:
Private Sub Command1_Click()
Print pl(3,7)
End Sub
Public Function pl(x As Single,n As Integer) As Single
If n=0 Then
pl=1
Else
If n Mod 2=1 Then
pl=x*x+n
Else
P1=x*x-n 
End If
End If
End Function
程序运行后,单击该命令按钮,屏幕上显示的结果是( )
A)2
B)1
C)0
D)16
18.以下属性和方法中,可重定义坐标系的是( )
A)DrawStyle属性
B)DrawWidth属性
C)Scale方法
D)ScaleMode属性
19.在窗体上画一个文本框,然后编写如下事件过程:
Private Sub Form_Load()
Text1.Text = ""
Text1.SetFocus
For i = 1 To 5
Sum = Sum +i
Next i
Text1.text = Sum
End Sub
上述程序的运行结果是( )
A)在文本框中输出15
B)在文本框中输出0
C)在文本框中输出不定值
D)出错


20.已知x代表某个百分制成绩,下列程序段用于显示对应的五级制成绩,正确的是( )
A)If x > = 60 Then
Print "及格"
ElseIf x > = 70 Then
Print "中"
ElseIf x > = 80 Then
Print "良"
ElseIf x > = 90 Then
Print "优"
Else
Print "不及格"
End If
B)If x < 90 Then
Print "良"
ElseIf x < 80 Then
Print "中"
ElseIf x < 70 Then
Print "及格"
ElseIf x < 60 Then
Print "不及格"
Else
Print "优"
End If
C)If x > = 90 Then
Print "优"
ElseIf x > = 80 Then
Print "良"
ElseIf x > = 70 Then
Print "中"
ElseIf x > = 60 Then
Print "及格"
Else
Print "不及格"
End If
D)Select Case x
Case x > = 90
Print "优"
Case x > = 80
Print "良"
Case x > = 70
Print "中"
Case x > = 60
Print "及格"
Case Else
Print "不及格"
End Select
21.下面说法不正确的是(D)
A)滚动条的重要事件是Change和Scroll
B)框架的主要作用是将控件进行分组,以完成各自相对独立的功能
C)组合框是组合了文本框和列表框的特性而形成的一种控件
D)计时器控件可以通过对Visible属性的设置,在程序运行期间显示在窗体上
22.在窗体上画一个名称为Check1复选框,在程序运行的过程中,若选中复选框,则Check1.value的值是( )
A)True
B)2
C)0
D)1
23.在下列关于菜单的说法中,错误的是( )
A)每一个菜单项都是一个控件,与其他控件一样都有自己的属性和事件
B)除了Click事件之外,菜单项还能响应其他的如 DblClick等事件过程
C)菜单项的快捷键不可以任意设置
D)在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择
24.下面关于多重窗体的叙述中,正确的是( )
A)作为启动对象的Main 子过程只能放在窗体模块内
B)如果启动对象是Main 子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载窗体或加载哪一个窗体
C)没有启动窗体,程序不能执行
D)以上都不对
25.与键盘操作有关的事件有KeyPress、KeyUp和KeyDown事件,当用户按上并且释放一个键后,这三个事件发生的顺序是( )
A)KeyDown、KeyPress、KeyUp
B)KeyDown、KeyUp、KeyPress
C)KeyPress、KeyDown、、KeyUp
D)没有规律
26.要从磁盘上读入一个文件名为“c:\filel.txt”的顺序文件,下面程序段正确的是( )
A)F="c:\filel.txt"
Open F For Input As # 1
B)F="c:\filel.txt"
Open "F" For Input As # 2
C)Open "c:\filel.txt" For Output As # 2
D)Open c:\filel.txt For Input As # 1
27.下列关于过程叙述不正确的是( )
A)过程的传值调用是将实参的具体值传值递给形参
B)过程的传址调用是将实参在内存的地址传递给形参
C)过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的
D)无论过程传值调用还是过程传址调用,参数传递都是双向的
28.执行了下面程序后,组合框中数据项的值是( )
Private Sub Form_Click()
For i=1 to 6
Combo1.AddItem i
Next i
For i= 1 to 3
Combo1.RemoveItem i
Next i
End Sub
A)1 5 6
B)1 3 5
C)4 5 6
D)2 4 6
29.若在Shape 控件内以FillStyle属性所指定的图案填充区域,而填充图案的线条颜色由FillColor属性指定,非线条的区域由Back Color属性填充,则应( )
A)将Shape控件的FillSte属性设置为2至7间的某个值,BackStyle属性设置为1
B)将Shape控件的FillSte属性设置为0或1,BackStyle属性设置为1
C)将Shape控件的FillSte属性设置为2至7间的某个值,BackStyle属性设置为0
D)将Shape控件的FillSte属性设置为0或1,BackStyle属性设置为0


30.下列程序的执行结果是( )
Private Sub Form_Activate()
Dim score(3) As Integer, total As Integer
Dim aa_score As Variant
score(1)=50: score(2) =14:score(3)=36
tota=0: i=0
For Each aa_score In score
i=i+1
total=tota + aa+_score
Print i,aa_score,total
Next
End Sub
A)1 0 0
2 50 50
3 14 64
4 36 100
B)1 50 50
2 14 64
3 36 100
C)0 50 50
1 14 64
2 36 100
D)0 0 0
1 50 50
2 14 64
3 36 100
分析:
答案: 
31.在Activate 事件过程中,写入下面的程序:
Option Base 1
Private Sub Form_Activate()
Dim t As Integer
Dim a( ) As Variant
a=Array (2,4,6,8,10,1,3,5,7,9)
For i=1 to 10\2
t= a(i)
a(i)=a(10 - i + 1)
a(10 - i + 1)=t
Next i
For j= 1 to 10
Print a(j);
Next j
End Sub
运行程序后,显示的结果是(C)
A)2 4 6 8 10 1 3 5 7 9
B)1 3 5 7 9 2 4 6 8 10
C)9 7 5 3 1 10 8 6 4 2
D)10 8 6 4 2 9 7 5 3 1
分析:
答案: 
32.在Activate 事件过程中,写入下面的程序:
Private Sub Form _Activate()
Dim S As String, a As String, b As String
a= "*" : b =" $"
For i= 1 to 4
If i / 2= Int(i / 2) Then
S=String(Len (a)+i , b)
Else
S=String(Len(a) + i, a)
End If
Print S;
Next i
End Sub
运行程序后,显示结果是( )
A)$$ ***$$$$*****
B)*$$**$$***$$$****$$$$
C)**$$$****$$$$$
D)$*$$**$$$***$$$$****
分析:
答案: 
33.在窗体上设置相应的控件,并在代码窗口编写下列程序:
Printe Sub Form_Click()
Dim a As Long ,b As Long
a=InputBox("请输入若干个整数")
Call P(a,b)
Print b
End Sub
Private Sub P(x As Long, y As Long)
Dim n As Integer, j As String*1, s As String
k=Len(Trim(Str(x)))
s=""
For i= K To 1 Step -1
j=Mid(x,i,1)
s=s+j
Next i
y=Val(s)
End Sub
运行程序,在InputBox框中输入123456,然后单击"确定"按钮,则输出结果是( )
A)123456
B)654321
C)135246
D)246135
分析:
答案: 


34.设定文本框内的文字内容是否允许修改的属性是( )
A)Text
B)Locked
C)PasswordChar
D)Multiline
分析:
答案: 
35.要建立一个学生成绩的随机文件,如下定义了学生的记录类型,由学号、姓名、三门课程成绩(百分制)组成,下列程序段正确的是( )
A)Type studl
no As Integer
name AS String
score(1 to 3) As Single
End Type
B)Type studl
no As Integer
name As String *10
score() As Single
End Type
C)Type studl
no As Integer
name As String *10
score(1 to 3) As Stngle
End Type
D)Type studl
no As Integer
name As String
score(1 to 3) As String
End Type
分析:
答案: 
二、填空:每空2分,共30分。
1.有一图书查询系统,当在组合框中选择书名后,则在两个文本框中显示出作者和出版社,程序运行后的界面如图2-1所示,当单击“结束”按钮时,结束程序。程序中有一个组合框、两个文本框、三个标签及一个命令按钮。请__[1]__、_[2]__和__[3]__处填入适当的内容,将程序补充完整。
Dim k As Integer
dim author(),b_concern
Privage Sub Combol_Click()
Dim n As Integer
n=Combol.ListIndex
Text(1)=[1]
Text(2)=[2]
End Sub
Private Sub Combol_Click()
[3]
End Sub
Private Sub Form_Load()
Combol.AddItem"哭泣的骆驼"
Combol.AddItem"双城记"
Combol.AddItem"窗外"
Combol.AddItem"红与黑"
Combol.AddItem"废都"
author()=Array("三毛","荻更斯","琼瑶","司汤达、"贾平凹")
b_concern()=Array("作家","商务","香江文艺","外国文学"、"上海")
End Sub
2.在窗体上画一个名称为Timer1的计时器和一个名称为Label1的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。程序运行后的结果如图2-2所示。请在__[4]__处填入适当的内容,将程序补充完整。
Private Sub Form_Load()
Timer1.Interval=1000
End Sub
Private Sub Timer1_timer()
__[4]__
End Sub
3.在刚建立工程时,使窗体上的所有控件具有区别于默认值的相同的字体格式,应对__[5]__的__[6]__属性进行设置。
4.整形变量M中存放了一个两位数,要将两位数交换位置,例如24变成42,实现的表达式为__[7]__
5.下列程序运行时,当单击窗体后,从键盘输入一个字符,判断该字符是字母字符、数字字符还是其他字符,并做相应的显示。窗体上无任何控件,并禁用Asc和Chr函数,Select Case 语句中禁用枚举值。请在__[8]__、__[9]__、__[10]和__[11]__ 处填入适当的内容,将程序补充完整。
Private Sub Form_Load()
Dim x As String*1
X=__[8]__(“请输入单个字符”,“字符”)
Select Case UCase(__[9]__)
Case __[10]__
Print X+“是字母字符”
Case __[11]__
Print X+“是数字字符”
Case Else 
Print X+“是其他字符”
End Select
End Sub
6.下列程序为求Sn=a+aa+aaa+……+aa…a(n个a),其中a为一个随机数产生的1~9(包括1、9)中的一个正整数,n是一个随机数产生的5~10(包括5、10)中的一个正整数,请在__[12]__和__[13]__处填入适当的内容,将程序补充完整。
Private Sub Form_Load()
Dim a As Integer,n As Integer, S As Double,Sn As Double
a=Fix(9*Rnd)+1
n=Fix(6*Rnd)+5
Sn=0
S=0
For i=1 to __[12]__
S=S+a*10^(i-1)
__[13]__
print Sn
Next i
End Sub
7.如果菜单标题的某个字母前输入一个“__[14]__”符号,那么该字母就成了热键字母;如果建立菜单时在标题文本框中输入一个“__[15]”,那么显示时将形成一行分隔符。

 
二级VB模拟试卷(一)参考答案
一、(1)A (2)C (3)D (4)C (5)A (6)A (7)B (8)D (9)D (10)D (11)B (12)A (13)A (14)C (15)B (16)D
    (17)D (18)C (19)D (20)C (21)D (22)D (23)B (24)B (25)A (26)A (27)D (28)D (29)A (30)A
    (31)C (32)C (33)B (34)B (35)C 
分析:
(7)12000 + "129" & 200:先计算12000 + "129"值为数值类型12129,再进行字符串相连接
(8)一般True的值为非0,False的值为0.在VB通常True的值为非-1.a>b Xor b+3>5也就是0 Xor 8,Xor是按位进行异或操作,其结果为8,非0就为真.

二、[1]author(n) [2]b_concerm(n) [3]End [4]Labell.Caption=Time [5]Form窗体 [6]Font
    [7]((M mod 10)*10 + M\10) [8]InputBox [9]X [10]"A"To"Z" [11]"0"To"9" [12]n 
    [13]Sn = Sn + S [14]& [15]-
打印本文 打印本文  关闭窗口 关闭窗口