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]”,那么显示时将形成一行分隔符。
答案: & 、 - 、 _