机密★启用前
2005 年 9 月全国计算机等级考试二级笔试试卷
Visual Basic 语言程序设计
26
注意事项
一、考生应严格遵守考场规则,得到监考人员指令后方可作答。
二、考生拿到试卷后应首先将自己的姓名、准考证号等内容涂写在答题卡的相应位置上。
三、选择题答案必须用铅笔填涂在答题卡的相应位置上,填空题的答案必须用蓝、黑色钢笔或圆珠笔写在答题卡的相应位置上,答案写在试卷上无效。
四、注意字迹清楚,保持卷面整洁。
五、考试结束将试卷和答题卡放在桌上,不得带走。待监考人员收毕清点后,方可离场。
* * * 版权所有,任何单位或个人不得保留、复制和出版,违者必究 * * *
教育部考试中心
二 00 五年七月制
二级Visual Basic语言程序设计试卷 第1页(共11页)
2005年9月全国计算机等级考试二级笔试试卷
公共基础知识和Visual Basic语言程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题 2 分,共 70 分)
(1)下列叙述中正确的是( )。
A)程序设计就是编制程序
B)程序的测试必须由程序员自己去完成
C)程序经调试改错后还应进行再测试
D)程序经调试改错后不必进行再测试
(2)下列数据结构中,能用二分法进行查找的是( )。
A)顺序存储的有序线性表
B)线性链表
C)二叉链表
D)有序线性链表
(3)下列关于栈的描述正确的是( )。
A)在栈中只能插入元素而不能删除元素
B)在栈中只能删除元素而不能插入元素
C)栈是特殊的线性表,只能在一端插入或删除元素
D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素
(4)下列叙述中正确的是( )。
A)一个逻辑数据结构只能有一种存储结构
B)数据的逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
(5)下列描述中正确的是( )。
A)软件工程只是解决软件项目的管理问题
B)软件工程主要解决软件产品的生产率问题
C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D)软件工程只是解决软件开发中的技术问题
(6)在软件设计中,不属于过程设计工具的是( )。
A)PDL(过程设计语言) B)PAD图
C)N-S图 D)DFD图
(7)下列叙述中正确的是( )。
A)软件交付使用后还需要再进行维护
B)软件一旦交付使用就不需要再进行维护
C)软件交付使用后其生命周期就结束
D)软件维护是指修复程序中被破坏的指令
(8)数据库设计的根本目标是要解决( )。
A)数据共享问题 B)数据安全问题
C)大量数据存储问题 D)简化数据维护
(9)设有下列关系表,
二级Visual Basic语言程序设计试卷 第2页(共11页)
R S T
A B C
1 1 2
2 2 3
则下列操作中正确的是( )。
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
(10)数据库系统的核心是( )。
A)数据模型 B)数据库管理系统
C)数据库 D)数据库管理员
(11)假定一个Visual Basic应用程序由一个窗体模块和一个标准模块构成。为了保存该应用程序,下列正确的操作是( )。
A)只保存窗体模块文件
B)分别保存窗体模块、标准模块和工程文件
C)只保存窗体模块和标准模块文件
D)只保存工程文件
(12)为了消除窗体上的一个控件,下列正确的操作是( )。
A)按回车键
B)按<Esc>键
C)选择(单击)要清除的控件,然后按<Del>键
D)选择(单击)要清除的控件,然后按回车键
(13)下列叙述中错误的是( )。
A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件
B)当程序运行时,双击一个窗体,则触发该窗体的DblClick事件
C)Visual Basic应用程序只能以解释方式执行
D)事件可以由用户引发,也可以由系统引发
(14)设a=2,b=3,c=4,d=5,下列表达式的值是( )。
Not a<=c Or 4*c=b^2 And b<>a+c
A)-1 B)1 C)True D)False
(15)设a=5,b=10,则执行c=Int((b-a)*Rnd+a)+1后,c值的范围为( )。
A)5~10 B)6~9 C)6~10 D)5~9
(16)在窗体上画一个命令按钮,名称为Command1,然后编写下列事件过程,
Private Sub Command1_Cilck( )
a$ = "software and hardware"
b$ = Right(a$,8)
c$ = Mid(a$,1,8)
MsgBox a$,,b$,c$,1
End Sub
运行程序后,单击命令按钮,则在弹出的信息框的标题栏中显示的是( )。
A)software and hardware B)software
C)hardware D)-1
(17)在窗体上有一个命令按钮和一个文本框,其名称分别为Command1和Text1,把文本框的Text属性设置为空白,然后编写下列事件过程,
Private Sub Command1_Click( )
A B C
1 1 2
2 2 3
3 1 3
A B C
3 1 3
二级Visual Basic语言程序设计试卷 第3页(共11页)
a=InputBox("Enter an integer")
b=InputBox("Enter an integer")
Text1.Text=b+a
End Sub
程序运行后,单击命令按钮,如果在输入对话框中分别输入8和10,则文本框中显示的内容是( )。
A)108 B)18 C)810 D)出错
(18)在窗体上画两个文本框,其名称分别为Text1和Text2,然后编写下列程序,
Private Sub Form_Load( )
Show
Text1.Text=“,
Text2.Text=“,
Text1.SetFocus
End Sub
Private Sub Text1 Change( )
Text2.Text=Mid(Text1.Text,8)
End Sub
程序运行后,如果在文本框Text1中输入BeijingChina,则在文本框Text2中显示的内容是( )。
A)BeijingChina B)China
C)Beijing D)BeijingC
(19)在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编写下列事件过程,
Private Sub Form_Load( )
List1.AddItem "Iterm 1"
List1.AddItem "Iterm 2"
List1.AddItem "Iterm 3"
End Sub
Private Sub Command1_Click( )
List1.List(List1.Listcount)="AAAA"
End Sub
程序运行后,单击命令按钮,其结果为( )。
A)把字符串"AAAA"添加到列表框中,但位置不能确定
B)把字符串"AAAA"添加到列表框的最后(即“Item 3”的后面)
C)把列表框中原有的最后一项改为"AAAA"
D)把字符串"AAAA"插入到列表框的最前面(即“Item 1”的前面)
(20)有下列事件过程,
Private Sub Form_Click( )
Dim x As Integer,n As Integer
x=1
n=0
Do While X<28
x=x*3
n=n+1
二级Visual Basic语言程序设计试卷 第4页(共11页)
Loop
Print x,n
End Sub
程序运行后,单击窗体,输出结果是( )。
A)81 4 B)56 3 C)28 1 D)243 5
(21)有下列事件过程,
Private Sub Form_Click( )
Dim Check,Counter
Check=True
Counter=( )
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,Check
End Sub
程序运行后,单击窗体,输出结果为( )。
A)15 0 B)20 -1 C)10 True D)10 False
(22)有下列事件过程,
Private Sub Form_Click( )
Dim i As Integer,sum As Integer
sum=0
For i=2 To 10
If i Mod 2<>0 And i Mod 3=0 Then
sum=sum+i
End If
Next i
Print sum
End Sub
程序运行后,单击窗体,输出结果为( )。
A)12 B)30 C)24 D)18
(23)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编与下列事件过程,
Private Sub Command1_Click( )
Dim array1(10,10)As Integer
Dim i As Integer,j As Integer
For i=1 To 3
For j=2 To 4
array1(i,j)=i+j
二级Visual Basic语言程序设计试卷 第5页(共11页)
Next j
Next i
Text1.Text=array1(2,3)+array1(3,4)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是( )。
A)12 B)13 C)14 D)15
(24)在窗体上画一个命令按钮,其名称为Command1,然后编写下列事件过程,
Private Sub Command1_Click( )
Dim a1(4,4),a2(4,4)
For i=1 To 4
For j=1 To 4
a1(i,j)=i+j
a2(i,j)=a1(i,j)+i+j
Next j
Next i
Print a1(3,3);a2(3,3)
End Sub
程序运行后,单击命令按钮,在窗体上输出的是( )。
A)6 6 B)10 5 C)7 21 D)6 12
(25)有下列事件过程,
Option Base 1
Private Sub Form_Click( )
Dim arr,sum
Sum=0
arr=Array(1,3,5,7,9,11,13,15,17,19)
For i=1 To 10
If arr(i)/3=arr(i)\3 Then
Sum=Sum+arr(i)
End If
Next i
Print Sum
End Sub
程序运行后,单击窗体,输出结果为( )。
A)25 B)26 C)27 D)28
(26)在窗体上有一个命令按钮,然后编写下列事件过程,
Private Sub Command1_Click( )
Dim a(5) As String
For i=1 To 5
a(i)=Chr(Asc("A")+(i-1))
Next i
For Each b In a
Print b;
Next
End Sub
二级Visual Basic语言程序设计试卷 第6页(共11页)
程序运行后,单击命令按钮,输出结果是( )。
A)ABCDE B)12345 C)abcde D)出错信息
(27)下列关于函数过程的叙述中,正确的是( )。
A)如果不指明函数过程参数的类型,则该参数没有数据类型
B)函数过程的返回值可以有多个
C)当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递
D)函数过程形参的类型与函数返回值的类型没有关系
(28)函数过程F1的功能是:如果参数b为奇数,则返回值为1,否则返回值为0。下列能正确实现上述功能的代码是( )。
A)Function F1(b As Integer) B)Function F1(b As Integer)
If b Mod 2=0 Then if b Mod 2=0 Then
Return0 F1=0
Else Else
Return1 F1=1
End If End If
End Function End Function
C)Function F1(b As Intger) D)Function F1(b As Integer)
If b Mod 2=0 Then If b Mod 2<>0 Then
F1=1 Return 0
Else Else
F1=0 Return 1
End If End If
End Function End Function
(29)下列关于KeyPress事件过程中参数KeyAscii的叙述中正确的是( )。
A)KeyAscii参数是所按键的ASCII码
B)KeyAscii参数的数据类型为字符串
C)KeyAscii参数可以省略
D)KeyAscii参数是所按键上标注的字符
(30)窗体上有一个名为Text1的文本框,并编写下列程序,
Private Sub Form_Load( )
Show
Text1.Text=“,
Text1.SetFocus
End Sub
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As single,Y As Single)
Print"程序设计"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
Print "Visual Basic";
End Sub
程序运行后,如果在文本框中输入字母“a”,然后单击窗体,则在窗体上显示的内容是( )。
A)Visual Basic B)程序设计
C)Visual Basic程序设计 D)a程序设计
二级Visual Basic语言程序设计试卷 第7页(共11页)
(31)有下表所列的菜单结构,
标题 名称 层次
显示 appear 1(主菜单)
大图标 bigicon 2(子菜单)
小图标 smallicon 3(子菜单)
要求程序运行后,如果单击菜单项“大图标”,则在该菜单项前添加一个“√”。下列正确的事件过程是( )。
A)Private Sub bigicon_Click( ) B)Private Sub bigicon_Click( )
bigicon.Checked=False Me.appear.bigicon.Checked=True
End Sub End Sub
C)Private Sub bigicon_Click( ) D)Private Sub bigicon_Click( )
bigicon.Checked=True appear.bigicon.Checked=True
End Sub End Sub
(32)通用对话框的名称为CommonDialog1,命令按钮的名称为Command1,则单击命令按钮后,能使打开的对话框的标题为“New Title”的事件过程是( )。
A)Private Sub Command1_Click( )
CommonDialog1.DialogTitle="New Title"
CommonDialog1.ShowPrinter
End Sub
B)Private Sub Command1_Click( )
CommonDialog1.DialogTitle="New Title"
CommonDialog1.ShowFont
End Sub
C)Private Sub Command1_Click( )
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowOpen
End Sub
D)Private Sub Command1_Click( )
CommonDialog1.DialogTitle="New Title"
CommonDialog1.ShowColor
End Sub
(33)如果一个工程含有多个窗体及标准模块,则下列叙述中错误的是( )。
A)任何时刻最多只有一个窗体是活动窗体
B)不能把标准模块设置为启动模块
C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体
D)如果工程中含有Sub Main过程,则程序一定首先执行该过程
(34)在工程文件中有一个标准模块,其中定义了下列记录类型,
Type Books
Name As String *10
TelNum As String *20
End Type
要求在执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。
下列能够完成该操作的事件过程是( )。
A)Private Sub Command1_Click( )
二级Visual Basic语言程序设计试卷 第8页(共11页)
Dim B As Books
Open"c:\Person.txt"For Output As #1
B.Name=InputBox("输入姓名")
B.TelNum=InputBox("输入电话号码")
Write #1,B.Name,B.TelNum
Close #1
End Sub
B)Private Sub Command1_Click( )
Dim B As Books
Open "c:\Person.txt"For Input As#1
B.Name=InputBox("输入姓名")
B.TelNum=InputBox("输入电话号码")
Print#1,B.Name,B.TelNum
Close #1
End Sub
C)Private Sub Command1_Click( )
Dim B As Books
Open "c:\Person.txt"For Output As #1
Name=InputBox("输入姓名")
TelNom=InputBox("输入电话号码")
Write #1,B
Close #1
End Sub
D)Private Sub Command1_Click( )
Dim B As Book
Open "c:\Person.txt"For Input As #1
Name=InputBox("输入姓名")
TelNum=InputBox("输入电话号码")
Print #1,B.Name,B.TelNum
Close #1
End Sub
(35)目录列表框的Path属性的作用是( )。
A)显示当前驱动器或指定驱动器上的某目录下的文件名
B)显示当前驱动器或指定驱动器上的目录结构
C)显示根目录下的文件名
D)显示指定路径下的文件
二、填空题(每空 2 分,共 30 分)
(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统3个阶段,其中数据独立性最高的阶段是 【1】 。
(2)算法复杂度主要包括时间复杂度和 【2】 复杂度。
(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块
(桩模块)。其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
二级Visual Basic语言程序设计试卷 第9页(共11页)
(4)一棵二叉树第6层(根结点为第一层)的结点数最多为 【4】 个。
(5)数据结构分为逻辑结构和存储结构,循环队列属于 【5】 结构。
(6)设有下列函数过程,
Function fun(m As Integer)As Integer
Dim k As Integer,sum As Integer
sum=0
For k=m To 1 Step-2
sum=sum+k
Next k
fun=sum
End Function
若在程序中用语句s=fun(10)调用此函数,则s的值为 【6】 。
(7)在窗体上画一个命令按钮和一个文本框,然后编写命令按钮的Click事件过程。程序运行后,
在文本框中输入一串英文字母(不区分大小写),单击命令按钮,程序可找出未在文本框中输入的其他所有英文字母,并以大写方式降序显示到Text1中。例如,若在Text1中输入的是
abDfdb,则单击Command1按钮后Text1中显示的字符串是ZYXWVUTSRQPONMLKJIHGEC。
请填空。
Private Sub Command1_Click( )
Dim str As String,s As String,c As String
str=UCase (Text1)
s=“,
c="Z"
While c>="A"
If Instr(str,c)=0 The
s= 【7】
End If
c=Chr$(Asc(c) 【8】 )
Wend
If s<>“,Then
Text1=s
End If
End Sub
(8)在n个运动员中选出任意r个人参加比赛,有很多种不同的选法,选法的个数可以用公式
!)!(
!
rrn
n
计算,下图窗体中3个文本框的名称依次是Text1、Text2、Text3。程序运行时在Text1、Text2中分别输入n和r的值,单击Command1按钮即可求出选法的个数,并显示在Text3文本框中,如图所示。请填空。
Private Sub Command1_Click( )
Dim r As Integer,n As Integer
n=Text1
r=Text2
二级Visual Basic语言程序设计试卷 第10页(共11页)
Text3=fun(n)/fun( 【9】 )/fun(r)
End Sub
Function fun(n As Integer)as long
Dim t As Long
【10】
For k=1 To n
t=t*k
Next
fun=t
End Function
(9)下列是一个比赛评分程序。在窗体上建立一个名为Text1的文本框数组,然后画一个名为Text2的文本框和名为Command1的命令按钮。运行时在文本框数组中输入7
个分数,单击“计算得分”命令按钮,则最后得分显示在Text2文本框中(去掉一个最高分和一个最低分后的平均分即为最后得分),如图所示。请填空。
Private Sub Command1_Click( )
Dim k As Integer
Dim sum As Single,max As Single,min As Single
sum=Text1(0)
max=Text1(0)
min= 【11】
For k= 【12】 To 6
If max<Text1(k)Then
max=Text1(k)
End If
If min>Text(k)Then
Min=Text1(k)
End If
sum=sum+Text1(k)
Next k
Text2=( 【13】 )/5
End Sub
(10)如图所示,在列表框list1中已经有若干人的简单信息,运行时在Text1文本框(即
“查找对象”右边的文本框)输入一个姓或姓名,单击“查找”按钮,则在列表框中进行查找,若找到,则把该人的信息显示在Text2文本框中。若有多个匹配的列选项,
则只显示第1个匹配项;若未找到,则在Text2中显示“查无此人”。请填空。
二级Visual Basic语言程序设计试卷 第11页(共11页)
Private Sub Command1_Click( )
Dim k As Integer,n As Integer,found As Boolean
found=False
n=Len( 【14】 )
k=0
While k<List1.ListCount And not found
If Text1=Left$(List1.List(k),n) Then
Text2= 【15】
found=True
End If
k=k+1
Wend
If Not found Then
Text2="查无此人"
End If
End Sub