机密★启用前
2005 年 4 月全国计算机等级考试二级笔试试卷
Visual Basic 语言程序设计
26
注意事项
一、考生应严格遵守考场规则,得到监考人员指令后方可作答。
二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。
三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。
四、注意字迹清楚,保持卷面整洁。
五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。
* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *
教育部考试中心
二 00 五年二月制
二级Visual Basic语言程序设计试卷 第1页(共10页)
2005年4月全国计算机等级考试二级笔试试卷
公共基础知识和Visual Basic语言程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题 2 分,共 70 分)
(1)数据的存储结构是指( )。
A)存储在外存中的数据 B)数据所占的存储空间量
C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示
(2)下列关于栈的描述中错误的是( )。
A)栈是先进后出的线性表
B)栈只能顺序存储
C)栈具有记忆作用
D)对栈的插入与删除操作中,不需要改变栈底指针
(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是
( )。
A)冒泡排序n/2 B)冒泡排序为n
C)快速排序为n D)快速排序为n(n-1)/2
(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。
A)log
2
n B)n/2
C)n)n+1
(5)下列对于线性链表的描述中正确的是( )。
A)存储空间不一定连续,且各元素的存储顺序是任意的
B)存储空间不一定连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
(6)下列对于软件测试的描述中正确的是( )。
A)软件测试的目的是证明程序是否正确
B)软件测试的目的是使程序运行结果正确
C)软件测试的目的是尽可能多地发现程序中的错误
D)软件测试的目的是使程序符合结构化原则
(7)为了使模块尽可能独立,要求( )。
A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(8)下列描述中正确的是( )。
A)程序就是软件
B)软件开发不受计算机系统的限制
C)软件既是逻辑实体,又是物理实体
D)软件是程序、数据与相关文档的集合
(9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。
A)数据与程序独立存放
二级Visual Basic语言程序设计试卷 第2页(共10页)
B)不同的数据被存放在不同的文件中
C)不同的数据只能被对应的应用程序所使用
D)以上3种说法都不对
(10)用树形结构表示实体之间联系的模型是( )。
A)关系模型 B)网状模型
C)层次模型 D)以上3个都是
(11)在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的 标题设置为“计算机等级考试”。下列能实现上述操作的事件过程是
( )。
A)Private Sub Text1_Change( )
Command1.Caption="计算机等级考试"
End Sub
B)Private Sub Command1_Click( )
Caption="计算机等级考试"
End Sub
C)Private Sub Form1_Click( )
Text1.Caption="计算机等级考试"
End Sub
D)Private Sub Command1_Click( )
Text1.Text="计算机等级考试"
End Sub
(12)设a=5,b=4,c=3,d=2,下列表达式的值是( )。
3>2*b Or a=c And b<>c Or c>d
A)1 B)True
C)False D)2
(13)设a="MicrosoftVisualBasic",则下列使变量b的值为“VisualBasic”的语句是( )。
A)b=Left(a,10) B)b=Mid(a,10)
C)b=Right(a,10) D)b=Mid(a,11,10)
(14)有下列的窗体事件过程,
Private Sub Form_Click( )
a$="MicrosoftVisual Basic"
b$=Right(a$,5)
c$=Mid(a$,1,9)
MsgBox a$,34,b$,c$,5
End Sub
程序运行后,单击窗体,则在弹出的信息框的标题栏中显示的信息是( )。
A)Microsoft Visual B)Microsoft
C)Basic D)5
(15)设a="a",b="b",c="c",d="d",执行语句x=IIf((a<b) Or (c>d),"A","B")后,x的值为
( )。
A)a B)b
C)B D)A
(16)为了使命令按钮(名称为Command1)右移200,应使用的语句是( )。
二级Visual Basic语言程序设计试卷 第3页(共10页)
A)Command1.Move-200
B)Command1.Move 200
C)Command1.Left=Command1.Left+200
D)Command1.Left=Command1.Left-200
(17)在窗体上画一个文本框,然后编写下列事件过程,
Private Sub Form_Click( )
x=InputBox("请输入一个整数")
Print x+Text1.Text
End Sub
程序运行时,在文本框中输入456,然后单击窗体,在输入对话框中输入123,单击
“确定”按钮后,在窗体上显示的内容为( )。
A)123 B)456
C)579 D)123456
(18)在窗体上画一个文本框和一个计时器控件,名称分别为Text1和Timer1,在属性窗口中把计时器的Interval属性设置为1000、Enabled属性设置为False。程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。下列是实现上述操作的程序。
Private Sub Command1_Click( )
Timer1.__
End Sub
Private Sub Timer1_Timer( )
Text1.Text=Time
End Sub
在___处应填入的内容是( )。
A)Enabled=True B)Enabled=False
C)Visible=True D)Visible=False
(19)在图片框Picture1中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是( )。
A)选择图片框,然后按Del键
B)执行语句Picture1.Picture=LoadPicture(“,)
C)执行语句Picture1.Picture=“,
D)选择图片框,在属性窗口中选择Picture属性条,然后按回车键
(20)在窗体上画一个名称为List1的列表框,一个名称为Labe11的标签,列表框中显示若干个项目。当单击列表框中的某个项目时,在标签中显示被选中项目的名称。下列能正确实现上述操作的程序是( )。
A)Private Sub List1_Click( )
Label1.Caption=List1.ListIndex
End Sub
B)Private Sub List1_Click( )
Label1.Name=List1.ListIndex
End Sub
C)Private Sub List1_Click( )
Label1.Name=List1.Text
End Sub
二级Visual Basic语言程序设计试卷 第4页(共10页)
D)Private Sub List1_Click( )
Label1.Caption=List1.Text
End Sub
(21)在窗体上画一个命令按钮,其名称为Command1,然后编写下列事件过程,
Private Sub Command1_Click( )
Dim i As Integer,x As Integer
For i= 1 To 6
If i=1 Then x=i
If i<=4 Then
x=x+1
Else
x=x+2
End If
Next i
Print x
End Sub
程序运行后,单击命令按钮,其输出结果为( )。
A)9 B)6
C)12 D)15
(22)在窗体上画一个名称为Command1的命令按钮,然后编写下列事件过程,
Private Sub Command1_Click( )
c="ABCD"
For n=1 To 4
Print___
Next
End Sub
程序运行后,单击命令按钮,要求在窗体上显示下列内容,
D
CD
BCD
ABCD
则在____处应填入的内容为( )。
A)Left(c,n) B)Right(c,n)
C)Mid(c,n,1) D)Mid(c,n,n)
(23)执行下列程序段后,x的值为( )。
Dim x As Integer,i As Integer
x=0
For i= 20 To 1 Step-2
x=x+i\5
Next i
A)16 B)17
C)18 D)19
(24)在Visual Basic工程中,可以作为“启动对象”的程序是( )。
A)任何窗体或标准模块
二级Visual Basic语言程序设计试卷 第5页(共10页)
B)任何窗体或过程
C)Sub Main过程或其他任何模块
D)Sub Main过程或任何窗体
(25)建立一个名为Command1的命令按钮数组,则下列说法中错误的是( )。
A)数组中每个命令按钮的名称(Name属性)均为Command1
B)数组中每个命令按钮的标题(Caption属性)都一样
C)数组中所有命令按钮可以使用同一个事件过程
D)用名称Command1(下标)可以访问数组中的每个命令按钮
(26)把窗体的KeyPreview属性设置为True,然后编写下列事件过程,
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim ch As String
ch=Chr(KeyAscii)
KeyAscii=Asc(UCase(ch))
Print Chr(KeyAscii+2)
End Sub
程序运行后,按键盘上的“A”键,则在窗体上显示的内容是( )。
A)A B)B
C)C D)D
(27)在窗体上画一个命令按钮和一个文本框,名称分别为Command1和Text1,然后编写下列事件过程,
Private Sub Command1_Click( )
a=InputBox("请输入日期 (1~31) ")
t="旅游景点:"_
&IIf(a>0 And a<=10,"长城",”,)_
&IIf(a>10 And a<=20,"故宫",”,)_
&IIf(a>20 And a<=31,"颐和园",”,)
Text1.Text=t
End Sub
程序运行后,如果从键盘上输入16,则在文本框中显示的内容是( )。
A)旅游景点:长城故宫 B)旅游景点:长城颐和园
C)旅游景点:颐和园 D)旅游景点:故宫
(28)在窗体上画一个名称为Label1的标签,然后编写下列事件过程,
Private Sub Form_Click( )
Dim arr(10,10)As Integer
Dim i As Integer,j As Integer
For i=2 To 4
For j=2 To 4
arr(i,j)=j*j
Next j
Next i
Label1,Caption=Str(arr(2,2)+arr(3,3))
End Sub
程序运行后,单击窗体,在标签中显示的内容是( )。
A)12 B)13
二级Visual Basic语言程序设计试卷 第6页(共10页)
C)14 D)15
(29)在窗体上画一个名称为Command1的命令按钮,然后编写下列通用过程和命令按钮的事件过程,
Private Function fun(ByVal m As Integer)
If m Mod 2=0 Then
fun=2
Else
fun=1
End If
End Function
Private Sub Command1_Click( )
Dim i As Integer,s As Integer
s=0
For i = 1 To 5
s=s+fun(i)
Next
Print s
End Sub
程序运行后,单击命令按钮,在窗体上显示的是( )。
A)6 B)7
C)8 D)9
(30)阅读程序,
Option Base 1
Dim arr( )As Integer
Private Sub Form_Click( )
Dim i As Integer,j As Integer
ReDim arr(3,2)
For i = 1 To 3
For j = 1 To 2
arr(i,j)=i*2+j
Next j
Next i
ReDim Preserve arr(3,4)
For j=3 to 4
arr(3,j)=j+9
Next j
Print arr(3,2)+arr(3,4)
End Sub
程序运行后,单击窗体,输出结果为( )。
A)21 B)13
C)8 D)25
(31)在窗体上画一个名称为Command1的命令按钮,然后编写下列事件过程,
Option Base 1
Private Sub Command1_Click( )
二级Visual Basic语言程序设计试卷 第7页(共10页)
Dim c As Integer,d As Integer
d=0
c=6
x=Array(2,4,6,8,10,12)
For i = 1 To 6
If x(i)>c Then
d=d+x(i)
c=x(i)
Else
d=d-c
End If
Next i
Print d
End Sub
程序运行后,单击命令按钮,则在窗体上输出的内容为( )。
A)10 B)16
C)12 D)20
(32)设有下列程序,
Private Sub Command1_Click( )
Dim c As Integer,d As Integer
c=4
d=InputBox("请输入一个整数")
Do While d>0
If d>c Then
c=c+1
End If
d=InputBox("请输入一个整数")
Loop
Print c+d
End Sub
程序运行后,单击命令按钮,如果在输入对话框中依次输入1、2、3、4、5、6、7、
8、9、0,则输出结果是( )。
A)12 B)11
C)10 D)9
(33)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入字符串“Microsoft Visual Basic Programming”,然后编写下列事件过程,
Private Sub Command1_Click( )
Open "d:\temp\outf.txt" For Output As#1
For i=1 To Len(Text1.Text)
c=Mid(Text1.Text,i,1)
If c>="A"And c<="Z"Then
Print # 1,LCase(c)
End If
Next i
二级Visual Basic语言程序设计试卷 第8页(共10页)
Close
End Sub
程序运行后,单击命令按钮,文件outf.txt中的内容是( )。
A)MVBP B)mvbp
C)M D)m
V v
B b
P p
(34)在窗体上画一个名称为Command1的命令按钮,然后编写下列程序,
Dim SW As Boolean
Function func(X As Integer)As Integer
If X<20 Then
Y=X
Else
Y=20+X
End If
func=Y
End Function
Private Sub Form_MouseDown(Button As Integer,Shift_
As integer,X As Single,Y As single)
SW=False
End Sub
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
SW=True
End Sub
Private Sub Command1_Click( )
Dim intNum As Integer
intNum=InputBox(“,)
If SW Then
Print func(intNum)
End If
End Sub
程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入25,则程序的执行结果为( )。
A)输出0 B)输出25
C)输出45 D)无任何输出
(35)设有下列通用过程,
Public Sub Fun(a( )As Integer,x As Integer)
For i= 1 To 5
x=x+a(i)
Next
End Sub
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写下列事件过程,
二级Visual Basic语言程序设计试卷 第9页(共10页)
Private Sub Command1_Click( )
Dim arr(5) As Integer,n As Interger
For i= 1 To 5
arr(i)=i+i
Next
Fun arr,n
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,则在文本框中显示的内容是( )。
A)30 B)25
C)20 D)15
二、填空题(每空 2 分,共 30 分)
(1)某二叉树中度为2的结点有18个,则该二叉树中有 【1】 个叶子结点。
(2)在面向对象方法中,类的实例称为 【2】 。
(3)诊断和改正程序中错误的工作通常称为 【3】 。
(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】 。
(5)问题处理方案准确而完整的描述称为 【5】 。
(6)下列语句的输出结果 【6】 。
Print Int(12345.6789*100+0.5)/100
(7)在窗体上画一个文本框和一个图片框,然后编写下列两个事件过程,
Private Sub Form_Click( )
Text1.Text="VB程序设计"
End Sub
Private Sub Text1_Change( )
Picture1.Print"VB Programming"
End Sub
程序运行后,单击窗体,则在文本框中显示的内容是 【7】,而在图片框中显示的内容是 【8】 。
(8)阅读下列程序,
Private Sub Form_Click( )
Dim Check As Boolean,Counter As Integer
Check=True
Counter=5
Do
Do While Counter<20
Counter=Counter+1
If Counter =10 Then
Check=False
Exit Do
End If
Loop
Loop Until Check=False
Print Counter
二级Visual Basic语言程序设计试卷 第10页(共10页)
End Sub
程序运行后,单击窗体,输出结果为 【9】 。
(9)有下列程序,
Private Sub Form_Click( )
Dim a As Integer,s As Integer
n=8
s=0
Do
s=s+n
n=n-1
Loop While n>0
Print s
End Sub
以上程序的功能是 【10】 。程序运行后,单击窗体,输出结果为 【11】 。
(10)有下列程序,
Option Base 1
Private Sub Command1_Click( )
Dim arr1
Dim Min As Integer,i As Integer
arr1=Array(12,435,76,-24,78,54,866,43)
Min= 【12】
For i=2 To 8
If arr1(i)<Min Then 【13】
Next i
Print"最小值是:";Min
End Sub
以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。
(11)在名称为Form1的窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写下列的事件过程,
Private Sub Form_Click( )
Open"d:\test\smtext1.txt"For Input As #1
Do While Not 【14】
Line Input #1,aspect$
Whole$=whole$+aspect$+Chr$(13)+Chr$(10)
Loop
Text1.Text=whole$
Close#1
Open"d:\test\smtext2.txt"For Output As #1
Print #1,【15】
Close #1
End Sub
以上程序的功能是:把磁盘文件smtex1.txt的内容读到内存并在文本框中显示出来,
然后把该文本框中的内容存入磁盘文件smtext2.txt。请填空。