(26) 在窗体上画一个名称为File1的文件列表框,并编写如下程序:
Private Sub File1_DblClick()
x=Shell(File1.FileName,1)
End Sub
以下关于该程序的叙述中,错误的是
A) x没有实际作用,因此可以将该语句写为:Call Shell(File1,FileName,1)
B) 双击文件列表框中的文件,将触发该事件过程
C) 要执行的文件的名字通过File1.FileName指定
D) File1中显示的是当前驱动器、当前目录下的文件
(27) 在窗体上画一个名称为Label1、标题为“VisualBasic考试”的标签,两个名称分别为Command1和Command2、标题分别为“开始”和“停止”的命令按钮,然后画一个名称为Timer1的计时器控件,并把其Interval属性设置为500,如图所示。
编写如下程序:
Private Sub Form_Load()
Timer1.Enabled=False
End Sub
Private Sub Command1_Click()
Timer1.Enabled=True
End Sub
Private Sub Command2_Click()
Timer1.Enabled=False
End Sub
Private Sub Timer1_Timer()
If Label1.Left
Label1.Left = Label1.Left + 20
Else
Label1.Left=0
End If
End Sub
程序运行后单击“开始”按钮,标签在窗体中移动。
对于这个程序,以下叙述中错误的是
A) 标签的移动方向为自右向左
B) 单击“停止”按钮后再单击“开始”按钮,标签从停止的位置继续移动
C) 当标签全部移出窗体后,将从窗体的另一端出现并重新移动
D) 标签按指定的时间间隔移动
(28) 执行以下程序段
a$="abbacddcba"
For i=6 To 2 Step -2
X=Mid(a,i,i)
Y=Left(a,i)
z=Right(a,i)
z=UCase(X & Y & z)
Next i
Print z
输出结果为
A) ABA B) BBABBA C) ABBABA D) AABAAB
(29) 在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a As Variant
a=Array(1,2,3,4,5)
Sum=0
For i=1 To 5
Sum = sum+a(i)
Next i
x=Sum/5
For i =1 To 5
If a(i)>x Then Print a(i);
Next i
End Sub
程序运行后,单击命令按钮,在窗体上显示的内容是
A) 1 2 B) 1 2 3 C) 3 4 5 D) 4 5
(30) 假定一个工程由一个窗体文件Form1和两个标准模块文件Model1及Model2组成。
Model1代码如下:
Public x As Integer
Public y As Integer
Sub S1()
x =1
S2
End Sub
Sub S2()
y=10
Form1.Show
End Show
Model2的代码如下:
Sub Main()
S1
End Sub
其中Sub Main被设置为启动过程。程序运行后,各模块的执行顺序是
A) Form1→Model1→Model2 B) Model1→Model2→Form1
C) Model2→Model1→Form1 D) Model2→Form1→Model1
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1) 设有如下程序段:
a$="BeijingShanghai"
b$=Mid(a$,InStr(a$,"g")+1)
执行上面的程序段后,变量b$的值为【1】 。
(2) 以下程序段的输出结果是【2】 。
num =0
While num<=2
num = num + 1
Wend
Print num
(3) 窗体上有一个名称为List1的列表框,一个名称为Text1的文本框,一个名称为Label1、Caption属性为“Sum”的标签,一个名称为Command1、标题为“计算”的命令按钮。程序运行后,将把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 Command1_Click()
Sum = 0
For i = 0 To 【4】
Sum = Sum + 【5】
Next
Text1.Text = Sum
End Sub
(4) 本程序的功能是利用随机数函数模拟投币,方法是:每次随机产生一个0或1的整数,相当于一次投币,1代表正面,0代表反面。在窗体上有三个文本框,名称分别是Text1、Text2、Text3,分别用于显示用户输入投币总次数、出现正面的次数和出现反面的次数,如图所示。程序运行后,在文本框Text1中输入总次数,然后单击“开始”按钮,按照输入的次数模拟投币,分别统计出现正面、反面的次数,并显示结果。以下是实现上述功能的程序,请填空。
Private Sub Command1_Click()
Randomize
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
Text2.Text = n1
Text3.Text = n2
End Sub
(5) 阅读程序:
Option Base 1
Private Sub Form_Click()
Dim a(3) As Integer
Print "输入的数据是:";
For i = 1 To 3
a(i)=InputBox("输入数据")
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) Then
m = a(2)
ElseIf a(1)>a(3) Then
m = 【9】
Else
m = 【10】
End If
Print "中间数是:";m
End Sub
程序运行后,单击窗体,在输入对话框中分别输入三个整数,程序将输出三个数中的中间数,如图所示。请填空。
(6) 在窗体上画一个名称为“Command1”,标题为“计算”的命令按钮,再画7个标签,其中5个标签组成名称为Label1的控件数组;名称为Label2的标签用于显示计算结果,其Caption属性的初始值为空;标签Label3的标题为“计算结果”。运行程序时会自动生成5个随机数,分别显示在标签控件数组的各个标签中,如图所示。单击“计算”按钮,则将标签数组各元素的值累加,然后计算结果显示在Label2。请填空。
Private Sub Command1_Click()
Sum = 0
For i = 0 To 4
Sum = Sum + 【11】
Next
【12】 = Sum
End Sub
(7) 在窗体上画两个名称分别为Command1和Command2、标题分别为“初始化”和“求和”的命令按钮。程序运行后,如果单击“初始化”命令按钮,则对数组a的各元素赋值;如果单击“求和”命令按钮,则求出数组a的各元素之和,并在文本框中显示出来,如图所示。请填空。
Option Base 1
Dim a(3,2) As Integer
Private Sub Command1_Click()
For i = 1 To 3
For j = 1 To 2
【13】 = i + j
Next j
Next i
End Sub
Private Sub Command2_Click()
For j = 1 To 3
For i = 1 To 2
s = s + 【14】
Next i
Next j
Text1.Text = 【15】
End Sub
评分标准和参考答案
一、选择题((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
(21) B (22) D (23) C (24) B (25) C
(26) A (27) A (28) B (29) D (30) C
二、填空题(每空2分,共30分)
【1】"Shanghai"【2】 3
【3】list1.additem i【4】 list1.listcount-1【5】 list1.list(i)【6】 n
【7】 1【8】 t【9】 a(3)【10】 a(1)【11】 label1(i).caption
【12】label2.caption【13】a(i,j)【14】a(j,i)【15】s