一、选择题:35题,2分/题,共70分
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1.当运行程序时,系统自动执行启动窗体的某个事件过程。这个事件过程是(A)
A)Load
B)Click
C)Unload
D)GotFocus
2.无论何控件,都具有一个共同属性。这个属性是(C)
A)Text
B)Font
C)Name
D)Caption
3.在一行内写多条语句时,语句之间要用某个符号分隔。这个符号是(D)
A),
B);
C)、
D):
4.表达式3∧2*2+3 MOD 10\4的值是(C)
A)18
B)1
C)19
D)0
5.下面的变量名合法的是(A)
A)k_name
B)k ame
C)name
D)k-name
6.设有如下变量声明Dim time1 As Date,为变量time1正确赋值的表达式是(A)
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的值是(B)
A)12329
B)"12129200"
C)"12000129200"
D)"12329"
8.若设a = 4,b = 5,则下列表达式值为真的是(D)
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.当窗体上的文字或图形被覆盖或最小化后能恢复原貌,需要设置窗体的属性是(D)
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
程序运行后,单击该命令按钮三次,屏幕上显示的值是(D)
A)4 12
B)0 4
C)4 8
D)8 12
11.Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是(B)
A)属性、控件和方法
B)属性、事件和方法
C)窗体、控件和过程
D)控件、过程和模块
12.下列程序段错误的是(A)
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)
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.下列程序段中,能正常结束循环的是(C)
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)最后一个数据项应使用的表达式是(B)
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
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
程序运行后,单击该命令按钮,屏幕上显示的结果是(D)
A)2
B)1
C)0
D)16
18.以下属性和方法中,可重定义坐标系的是(C)
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
上述程序的运行结果是(D)
A)在文本框中输出15
B)在文本框中输出0
C)在文本框中输出不定值
D)出错
20.已知x代表某个百分制成绩,下列程序段用于显示对应的五级制成绩,正确的是(C)
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的值是(D)
A)True
B)2
C)0
D)1
23.在下列关于菜单的说法中,错误的是(B)
A)每一个菜单项都是一个控件,与其他控件一样都有自己的属性和事件
B)除了Click事件之外,菜单项还能响应其他的如 DblClick等事件过程
C)菜单项的快捷键不可以任意设置
D)在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择
24.下面关于多重窗体的叙述中,正确的是(B)
A)作为启动对象的Main 子过程只能放在窗体模块内
B)如果启动对象是Main 子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载窗体或加载哪一个窗体
C)没有启动窗体,程序不能执行
D)以上都不对
25.与键盘操作有关的事件有KeyPress、KeyUp和KeyDown事件,当用户按上并且释放一个键后,这三个事件发生的顺序是(A)
A)KeyDown、KeyPress、KeyUp
B)KeyDown、KeyUp、KeyPress
C)KeyPress、KeyDown、、KeyUp
D)没有规律
26.要从磁盘上读入一个文件名为“c:\filel.txt”的顺序文件,下面程序段正确的是(A)
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.下列关于过程叙述不正确的是(D)
A)过程的传值调用是将实参的具体值传值递给形参
B)过程的传址调用是将实参在内存的地址传递给形参
C)过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的
D)无论过程传值调用还是过程传址调用,参数传递都是双向的
28.执行了下面程序后,组合框中数据项的值是(D)
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)
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.下列程序的执行结果是(A)
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
运行程序后,显示结果是(C)
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,然后单击"确定"按钮,则输出结果是(B)
A)123456
B)654321
C)135246
D)246135
34.设定文本框内的文字内容是否允许修改的属性是(B)
A)Text
B)Locked
C)PasswordChar
D)Multiline
35.要建立一个学生成绩的随机文件,如下定义了学生的记录类型,由学号、姓名、三门课程成绩(百分制)组成,下列程序段正确的是(C)
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
答案: author(n) ;b_concerm(n) ;End
2.在窗体上画一个名称为Timer1的计时器和一个名称为Label1的标签。当运行程序后,将在标签中显示当前时间的数字时钟(包括时:分:秒)。程序运行后的结果如图2-2所示。请在__[4]__处填入适当的内容,将程序补充完整。
Private Sub Form_Load()
Timer1.Interval=1000
End Sub
Private Sub Timer1_timer()
__[4]__
End Sub
答案: Labell.Caption=Time
3.在刚建立工程时,使窗体上的所有控件具有区别于默认值的相同的字体格式,应对__[5]__的__[6]__属性进行设置。
答案: Form窗体 、 Font
4.整形变量M中存放了一个两位数,要将两位数交换位置,例如24变成42,实现的表达式为__[7]__
答案:((M mod 10)*10 + M\10)
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
答案: InputBox; X"A"To"z" "0"To"9"
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
答案: n;Sn = Sn + S
7.如果菜单标题的某个字母前输入一个“__[14]__”符号,那么该字母就成了热键字母;如果建立菜单时在标题文本框中输入一个“__[15];[_16]”,那么显示时将形成一行分隔符。
答案: & 、 - 、 _