2005年9月全国计算机等级考试二级VB笔试试卷(含参考答案)
一,选择题(每小题 2 分,共 70 分)
下列各题 A ),B ),C ),D )四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
( 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 )设有如下关系表,
R S T
A B C A B C A B C
1 1 2 3 1 3 1 1 2
2 2 3 2 2 3
3 1 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_Click()
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 = 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 "Item 1"
List1.AddItem "Item 2"
List1.AddItem "Item 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
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 = 0
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
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
程序运行后,单击命令按钮,输出结果是
A ) ABCDE B ) 1 2 3 4 5
C ) abcde D )出错信息
( 27 )以下关于函数过程的叙述中,正确的是
A )如果不指明函数过程参数的类型,则该参数没有数据类型
B )函数过程的返回值可以有多个
C )当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递
D )函数过程形参的类型与函数返回值的类型没有关系
( 28 )函数过程 F1 的功能是:如果参数 b 为奇数,则返回值为 1,否则返回值为 0 。以下能正确实现上述功能的代码是
A ) Function F1(b As Integer)
If b Mod 2 = 0 Then
Return 0
Else
Return 1
End If
End Function
B ) Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 0
Else
F1 = 1
End If
End Function
C ) Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 1
Else
F1 = 0
End If
End Function
D ) Function F1(b As Integer)
If b Mod 2 <> 0 Then
Return 0
Else
Return 1
End If
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 程序设计
( 31 )假定有下表所列的菜单结构,
━━━━━━━━━━━━━━━━━━━━
标题 名称 层次
────────────────────
显示 appear 1 (主菜单)
大图标 bigicon 2 (子菜单)
小图标 smallicon 2 (子菜单)
━━━━━━━━━━━━━━━━━━━━
要求程序运行后,如果单击菜单项,大图标,,则在该菜单项前添加一个,?” 。以下正确的事件过程是
A ) Private Sub bigicon_Click()
bigicon.Checked = False
End Sub
B ) Private Sub bigicon_Click()
Me,appear.bigicon.Checked = True
End Sub
C ) Private Sub bigicon_Click()
bigicon.Checked = True
End Sub
D ) Private Sub bigicon_Click()
appear.bigicon.Checked = True
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()
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(" 输入姓名 ")
TelNum = 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 】~【 15 】序号的横线上,答在试卷上不得分。
( 1 )数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【 1 】 。
( 2 )算法复杂度主要包括时间复杂度和 【 2 】 复杂度。
( 3 )在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 【 3 】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
( 4 )一棵二叉树第六层(根结点为第一层)的结点数最多为 【 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 Then
s = 【 7 】
End If
c = Chr$(Asc(c) 【 8 】 )
Wend
If s <> "" Then
Text1 = s
End If
End Sub
( 8 ) 在 n 个运动员中选出任意 r 个人参加比赛,有很多种不同的选法,选法的个数可以用公式 计算。下图窗体中 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
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 > Text1(k) Then
min = Text1(k)
End If
sum = sum + Text1(k)
Next k
Text2 = ( 【 13 】 ) / 5
End Sub
( 10 )如图所示,在列表框 List1 中已经有若干人的简单信息,运行时在 Text1 文本框(即,查找对象,右边的文本框)输入一个姓或姓名,单击,查找,按钮,则在列表框中进行查找,若找到,则把该人的信息显示在 Text2 文本框中。若有多个匹配的列表项,则只显示第 1 个匹配项;若未找到,则在 Text2 中显示,查无此人,。请填空。
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
2005 年 9 月全国计算机等级考试二级 VB 笔试试卷(含参考答案)
选择题
【 1- 5 】 CACDC 【 6-10 】 DAABB
【 11-15 】 BCCDC 【 16-20 】 CABBA
【 21-25 】 DAADC 【 26-30 】 ADBAC
【 31-35 】 CCDAB
填空题
【 1 】数据库系统 【 2 】空间 【 3 】驱动模块
【 4 】 32 【 5 】存储结构 【 6 】 30
【 7 】 s&c 【 8 】 -1 【 9 】 n-r
【 10 】 t=1 【 11 】 text1(0) 【 12 】 1
【 13 】( sum-max-min ) 【 14 】 text1.text 【 15 】 list1.list(k)