2005年3月全国计算机等级考试二级VB语言笔试试题及答案

时间:2013-11-14 16:13:00   来源:无忧考网     [字体: ]
®无忧考网为大家收集整理了《2005年3月全国计算机等级考试二级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
(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
  (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
选择题
  【 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)