2007年3月全国计算机等级考试二级VB笔试真题
一、 选择题(第小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是(B)
A)算法的效率只与问题的规模有关,而与数据的存储结构无关
B)算法的时间复杂度是指执行算法所需要的计算工作量
C)数据的逻辑结构与存储结构是一一对应的
D)算法的时间复杂度与空间复杂度一定相关
(2)在结构化程序设计中,模块划分的原则是(D)
A)各模块应包括尽量多的功能
B)各模块的规模应尽量大
C)各模块之间的联系应尽量紧密
D)模块内具有高内聚度、模块间具有低耦合度
(3)下列叙述中正确的是(A)
A)软件测试的主要目的是发现程序中的错误
B)软件测试的主要目的是确定程序中错误的位置
C)为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作
D)软件测试是证明软件没有错误
(4) 下面选项中不属于面向对象程序设计特征的是(C)
A)继承性
B)多态性
C)类比性
D)封装性
(5) 下列对队列的叙述正确的是(D)
A)队列属于非线性表
B)队列按“先进后出”原则组织数据
C)队列在队尾删除数据
D)队列按“先进先出”原则组织数据
(6) 对下列二叉树(C)
A
B C
D E F X
Y Z
进行前序遍历的结果为
A)DYBEAFCZX
B)YDEBFZXCA
C)ABDYECFXZ
D)ABCDEFXYZ
(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(A)
A)n+1
B)n-1
C)2n
D)n/2
(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是(B)
A)并
B)交
C)投影
D)笛卡儿乘积
(9)在E—R图中,用来表示实体之间联系的图形是(C)
A)矩形
B)椭圆形
C)菱形
D)平行四边形
(10)下列叙述中错误的是(A)
A)在数据库系统中,数据的物理结构必须与逻辑结构一致
B)数据库技术的根本目标是解决数据共享问题
C)数据库技术是指己有数据管理系统的基础上建立数据库
D)数据库系统需要操作系统的支持
(11)下面可以正确定义2个整形变量和1个字符串变量的语句的是(D)
A)Dim n,m AS Interger,s AS String
B)Dim a%,b$,c AS String
C)Dim a AS Integer,b,c AS String
D)Dim x%,y AS Integer,z AS String
(12)下列表述中不能判断x是否为偶数的是(D)
A)x/2=Int(x/2)
B)x Mod 2=0
C)Fix(x/2)=x/2
D)x2=0
13)设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面叙述中正确的是(B)
A)窗体的Click事件过程的过程名是Myform_Click
B)命令按钮的Click事件过程名是C1_Click
C)命令按钮的Click事件过程的过程名是Command1_Click
(14)设窗体上有1个滚动条,要求单击滚动条右端的◢按钮一次,滚动条移动一定的刻度值,决定此刻度的属性是(C)
A)Max
B)Min
C)SmallChange
D)LargeChang
(15)1个二维数组可以存放1个矩形.在程序开始有语句Option Base 0,则下面定义的数组中正好可以存放1个4*3矩阵(即只有12个元素)的是(B)
A)Dim a(-2 To 0,2) AS Integer
B)Dim a(3,2) AS Ingeger
C)Dim a(4,3)AS Ingeger
D)Dim a(-1 To -4,-1 To -3)AS Ingeger
(16)若设置了文本框的属性PasswordChar=”$”,则运行程序时向文本框中输入8个任意字符后,文本框中显示的是(A)
A)8个”$”
B)1个”$”
C)8个”*”
D)无任何内容
(17)设在窗体上有1个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是(B)
A)veItem
B) veItem4
C) veItem Count
D) veItem5
(18)工程中有2个窗体,名称分别为2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是(A)
A)Private Sub Command1_Click( ) B) Private Sub Command1_Click( )
ble
End Sub End Sub
C) Private Sub Command1_Click( ) D)Private Sub Command1_Click( )
Load Form2
End Sub End Sub
(19)若在某窗体模块中有如下事件过程(D)
Private Sub Command1_Click(Index AS Integer)
……
End Sub
则以下叙述中正确的是
A) 此事件过程与不带参数的事件过程没有区别
B) 有1个名称为Command1的窗体,单击此窗体则执行此事件过程
C) 有1个名称为Command1的空件数组,数组中有多个不同类型控件
D) 有1个名称为Command1的空件数组,数组中有多个相同类型控件
(20)以下循环语句中在任何情况下都至少执行一次循环体的是(C)
A)Do While <条件> B)While <条件>
循环体 循环体
Loop Wend
C)Do D)Do Until <条件>
循环体 循环体
Loop Until <条件> Loop
(21)在窗体上有1个名为Cd1的.通用对话框,为了在运行程序时打开保存文件对话框,则在程序总应使用的语句是(A)
A)on=2
B)on=1
C)Save=Ture
D)Save=0
(22)下面关于菜单的叙述中错误的是(B)
A)各级菜单中的所有菜单项的名称必须唯一
B)同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同
C)弹出式菜单也用菜单编辑器编辑
(23)已知有下面的过程(D)
Private Sub proc1(a As Integer,b As String,Optional x As Boolean)
……
End Sub
正确调用此过程的语句是
A)Call procl(5)
B)Call proc1 5,”abc”,False
C)proc1(12,”abc”,True)
D)proc1 5, “abc”
(24)在窗体上有一个文件名称为Text1的文本框和1个名称为Command1的命令按钮,要求在程序执行时,每单击命令按钮一次,文本框向右移动一定距离。下面能够正确实现上述功能的程序是(C)
A)Private Sub Command1_Click() B) Private Sub Command1_Click()
=100 T = -100
End Sub End Sub
C)Private Sub Command1_Click() D) Private Sub Command1_Click()
+100
End Sub End Sub
(25)某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是(A)
A)在工程属性对话框中把“启动对象”设置为Form2
B)在Form1的Load事件过程中加入语句 Load Form2
C)在Form2的Load事件过程中加入语句
D)在Form2的TabIndex属性设置为1,把Form1的TabIndex属性设置为2
(26)窗体上有1个名称为Text1的文本框和1个名称为Command1的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写到文件中,每次写入的内容附加到文件原有内容之后。下面能够实现上述功能的程序是(C)
A)Private Sub Command1_Click() B) Private Sub Command1_Click()
Open “” For Inpit As#1 Open “” For Outpit As#1
Print#1, Print#1,
Close#1 Close#1
End Sub End Sub
C) Private Sub Command1_Click() D) Private Sub Command1_Click()
Open “” For Append As#1 Open “” For Random As#1
Print#1, Print#1,
Close#1 Close#1
End Sub End Sub
(27)为计算1+3+5+……+99的值,某人编程如下
k=1
s=0
While k<=99
k=k+2 : s=s+k
Wend
Print s
在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是(D)
A)While …Wend循环语句错误,应改为For k=1 To 99 …Next k
B)循环条件错误,应改为Whlie k<99
C)循环前的赋值语句k=1错误,应改为k=0
D)循环中两条赋值语句的顺序错误,应改为s=s+k : k=k+2
(28)下面程序在调试时出现了死循环
Private Sub Command1_Click()
n=InputBox(“请输入一个整数”)
Do
If n Mod 2=0 Then
n=n+1
Else
n=n+2
Else If
Loop Until n=1000
End Sub
下面关于死循环的叙述中正确的是(D)
A)只有输入的n是偶数时才会出现死循环,否则不会
B)只有输入的n是奇数时才会出现死循环,否则不会
C)只有输入的n是大于1000的整数时才会出现死循环,否则不会
D)输入任何整数都会出现死循环
(29)在窗体上有1个名称为CommonDialog1的通用对话框和1个名称为Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击Command1按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件。以下是Command1_Click事件过程的两种算法
算法1:
Private Sub Command1_Click()
Open
Open Name For Input As#1
End Sub
算法2:
Private Sub Command1_Click()
Open
Name<>””Then
Open Name For Input As#1
End If
End Sub
下面关于这两种算法的叙述中正确的是(B)
A) 显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会
B) 显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会
C) 两种算法的执行结果完全一样
D) 算法1允许输入的文件名中含有空格,而算法2不允许
(30)窗体上有1个名称为List的列表框,其中已经输入了若干个项目(如图所示):还有2个文本框,名称分别为Text1、Text2, 1个名称为 Command1的命令按钮,并有以下程序
Private Sub Command1_Click()
Dim str As String, s As String, k As Integer
s=Text1
Str=””
For k=Count-1 to 0 Step-1
If InStr((k),s)>0 then
str=str&(k)&” ”
End If
Next k
If str=””Then
Text2=”没有匹配的项目”
Else
Text2=str
End If
End Sub
程序运行时,在Text1中输入“京”,单击命令按钮,则在Text2中显示的内容是(C)
A) 京
B) 北京 南京
C) 南京
D) 没有匹配的项目
(31)在窗体上画1一个名称为Command1的命令按钮,并编写以下程序
Private Sub Command1_Click()
Print fun(“ABCDEFG”)
End Sub
Function fun(st As String) As String
stlen=Len(st)
temp=””
For k
fun=temp
End Function
程序运行时,单击命令按钮,则窗体上显示的是(B)
A)ABCDEFG
B)AGBFCE
C)GFEDCBA
D)AGBFCED
(32)在窗体上先后画2个图片框,名称分别为Picture1和banana,banana中添加了香蕉图片(见图1),且将Mode属性设置为1。要求程序运行时,可以用鼠标把banana拖拽到Picture1中(见图2)。能实现此功能的事件过程是(C)
A) Priate Sub Form_DragDrop(Source As Control,X As Single,Y As Single +X,+Y)
End Sub
B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single )
++Y
End Sub
C) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )
++Y
End Sub
D) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )
+X, +Y
End Sub
(33)在窗体上画1个名称为Command1的命令按钮,然后编写如下事件过程
Option Base 1
Pribate Sub Command1_Click()
Dim a(5.5) As Integer
For i=1 To 5
a(I,j)*510
Next j
Next i
S=0
For i=1 To 5
S=s+a(i,i)
Next i
Print s
End Sub
程序运行后,单击命令按钮,输出结果是(A)
A) 15
B)13
C)11
D)9