2007年4月全国计算机等级考试二级VB语言笔试试题及答案
2007年4月全国计算机等级考试二级笔试试卷Visual Basic语言编程
一、选择题(70分中的2分题)。下列问题A)、B)、C)、D)中的四个选项只有一个是正确的。请在答题卡相应位置填写正确选项,试卷上不计分。
(1)下列说法正确的是:(B)
A)算法的效率只与问题的规模有关,然而, 与数据的存储结构无关
B)算法的时间复杂度是指执行算法所需的计算工作量
C)数据的逻辑结构和存储结构是一一对应的
D)算法的时间复杂度与空
之间的复杂度有关(2)模块划分的原则是(D)
A)每个模块应包含尽可能多的函数
B) 每个模块的规模要尽可能大
C)模块之间的联系要尽可能紧密
D)模块之间具有高内聚、低耦合
[/br A)软件测试的主要目的是发现程序中的错误
B)软件测试的主要目的是确定程序中错误的位置
C)提高软件测试的效率, 程序员自己完成软件测试
D)软件测试是为了证明软件没有错误
(4)下列不属于面向对象程序设计特点的选项是(C)
A)继承性
B)多态性
C)。
(5)下列关于队列的说法正确的是:(D)
A)队列属于非线性表
B)队列按照“先入后出”的原则组织数据
C)队列删除队列末尾的数据
D)队列遵循“先入先出”的原则
B C
D E F X
Y Z
前序遍历的结果是
A)Dybeafczx
B)Ydebfzxca
ABEF·XYZ
(7)如果一棵二叉树中有n个2度节点,则二叉树的叶节点数为(a)
a) n+1
(8)在下列关系运算中, 不改变关系表中属性个数但能减少元组个数的是(B)
A)和
B)交叉
C)投影
D)笛卡尔积
(9)用来表示实体间连接的图形是(C)
A)矩形
B)椭圆
C)菱形
D)平行四边形
(10)下列说法错误的是(A) [/br数据的物理结构必须与逻辑结构一致
B)数据库技术的根本目标是解决数据共享问题
C)数据库技术是指在现有数据管理系统的基础上建立数据库
D)数据库系统需要操作系统的支持
(11)下列能正确定义两个整数变量和一个字符串变量的说法是(d)
a) dim n,m as inter,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,As string
(12)下列语句中,是(D)
a)x/2 = int(x/2)
b)x mod 2 = 0
c)fix(x/]2 = 下列说法正确的是:(B)
A)窗体的Click事件过程的过程名是Myform_Click
B)命令按钮的Click事件过程的过程名是C1_Click
C)命令按钮的Click事件过程的过程名是Command1_Click
(14)如果窗口上有滚动条,单击一次滚动条右端的◢按钮,将滚动条移动一定的刻度值 决定当前度数的属性是(c)
a)max
b)min
c)small change
d)large Chang(15)。二维数组可以容纳一个矩形。程序开头有语句Option Base 0,那么下面定义的数组正好可以存储一个4*3矩阵(也就是只有12个元素)是(b)
a) dim a (-2to0,2) as integer
b) dim a (3,2) as inger
c) dim a(。3) as ingeger
d) dim a (-1to-4,-1 to-3)as in geger
(16)如果设置了文本框的属性password char = "$ "运行程序时在文本框中输入8个任意字符后,文本框中显示的是(A)
A)8 " $ "
b)1 " $ "
c)8 " * "
d)无Remove Item5
(18)项目中有两个窗体,名为Form1。Form2,Form1是启动窗体。这个窗体上有一个命令按钮Command1,程序运行后点击命令按钮时需要显示Form2。那么按钮的Click事件过程应该是(a)
a)私有子命令1 _ click () b)私有子命令1 _ Click()
form 2 . show form 2 . visible
End Sub End Sub
C)私有子命令1_Click( ) D)私有子命令1 _ Click()
load 2 form 2 . load
End Sub End Sub
(19)如果有以下事件过程(D 下列说法正确的是
A)这个事件过程和没有参数的事件过程没有区别
B)有一个名为Command1的表单。 单击此表单执行此事件流程
C)有一个名为Command1的空片段数组,数组中有许多不同类型的控件
D)有一个名为Command1的空片段数组,数组中有多个相同类型的控件
(20)在下列循环语句中,在任何情况下至少执行一次的循环体是(C)
A)Do While B
循环体循环体循环体循环直到循环
(21)表单上有一个名为Cd1的通用对话框。为了在运行程序时打开保存文件对话框,那么程序应该始终使用的语句是(a)
a)cd1 . action = 2
b)cd1 . action = 1
C)cd1 . show save = true
d)cd1 . show save = 0(22)各级菜单中所有菜单项的名称必须是
B)同一子菜单中的菜单项名称必须是,但不同子菜单中的菜单项名称
(23)下面的过程(D)是已知的
Private sub C1(a为整数,b为字符串,可选的x为布尔值)
…
end sub
调用此过程的正确语句是
a)call procl(5)
b)call proc 1 5," ABC ",True
c) proc1 (12," ABC ",true)
d) proc1 5," ABC"
(24)下列能正确实现上述功能的程序是(c)
a)私有子命令1 _ click () b)私有子命令1 _ click ()
Text1。左=100 T ext1。左=文本1。left-100
End Sub End Sub
C)私有Sub命令1_Click() D)私有Sub命令1_Click()
Text1。Move.Text.Left+100 Text1move . text . left
End Sub End Sub
(25)有人创建了一个项目,其中表单名称为Form1之后我又添加了一个名为Form2的窗体,希望程序执行时Form2窗体先显示。然后,他需要做的是(A)
A)在项目属性对话框中设置“启动对象”为Form2
b)添加语句Loadform2
c)添加语句form 2。在Form2的load事件期间,在Form2的TabIndex属性中显示
D]。
(26)表单上有一个名为Text1的文本框和一个名为Command1的命令按钮。当需要运行程序时,点击命令按钮,将文本框中的内容写入文件out.txt,每次写入的内容都会追加到文件的原始内容中。可以实现上述功能的程序有(c)
a)私有子命令1 _ click () b)私有子命令1 _ click ()
打开" out.txt" for inpit as # 1打开" out . txt " For Outpit As # 1
Print # 1,Text1。文本打印#1,文本1。text
Close # 1 Close # 1
End Sub End Sub
C)Private Sub命令1_Click() D) Private Sub命令1 _ Click()
Open " out . txt " For Append As # 1 Open " out . txt " For Random As # 1
Print # 1,Text1。文本打印#1,文本1。Text
关闭#1关闭#1
结束Sub结束Sub
(27)计算1+3+5+…+99的值,有人编程如下
k = 1
s = 0
While k = k+2:s = s+k
Wend
以下错误原因及正确的修改方案是(D)
A)While …Wend循环语句错误,对于k = 1到99…应改为下一个k
B)循环条件错误,应是
(28)下面的程序在调试过程中出现无限循环
private子命令1 _ click ()
n = inputbox("请输入一个整数")[/Br/]do[/Br/]if n mod 2 = 0 then[/Br/]n = n+1[Br/]n = n+2[/Br/]else if[/Br/]循环直到n = 1000
end sub
下面关于无限循环的说法正确的是:(D)
不会
B)只有当输入n为奇数时,不会
C)只有当输入n为大于1000的整数时,不会
D)如果输入任意整数,会出现无穷大(29)表单上有一个名为CommonDialog1的通用对话框和一个名为Command1的命令按钮。 当需要运行程序时,单击Command1按钮,将显示打开文件对话框。选择或输入文件名后,您可以打开文件。下面是Command1_Click事件过程
算法1的两个算法:
Private子command 1 _ Click()
Common dialog 1。将Open
Open dialog1.filename显示为# 1
end sub
算法2:
private子命令1 _ click ()
CommonDialog1。ShowOpen
IfCommonDialog1。FileName " "然后
打开CommonDialog1。用于输入的文件名为#1
End If
End
以下关于这两种算法的说法正确的是:(B)
A)如果打开文件对话框显示后没有选择或输入文件名,算法2会出错,算法1不会
B)如果打开文件对话框显示后没有选择或输入文件名,算法1会出错, 算法2不会
C)两种算法的执行结果完全相同
D)算法1允许输入文件名包含空,而算法2不允许。
(30)表单上有一个名为List的列表框,里面已经输入了几个项目(如图):还有两个名为Text1和Text2的文本框,一个名为Command1的命令按钮。并有如下程序
private子命令1 _ click ()
dimstr为string,s为string,k为Integer
s = text 1
Str = " "
For k = list 1。ListCount-1到0 Step-1
If InStr(List。List(k),S)> 0然后
str = str & list . list(k)& "
end if
next k
if str = " "然后
text2 = "没有匹配项"[/br/Text = str
end if
end sub
程序运行时,在Text1中输入“北京”并单击命令按钮,则text2中显示的内容为(C) [.
(31)在窗体上绘制一个名为Command1的命令按钮,并编写以下程序
private subcommand 1 _ click()
print fun(" abcdefg ")
end sub
fun(sta as string)as string
En = len(ST)
temp = " "
for k
fun = temp
end fun
程序运行时,单击命令按钮,并(b
(32)在表格上画两个图片框,它们的名字分别是Picture1和Banana。添加了香蕉图片(见图1),和香蕉。DragMode属性设置为1。当程序需要运行时,您可以用鼠标将banana拖动到Picture1中(见图2)。能实现该功能的事件流程是(c)
a)private subform _ dragdrop(source为控件,x为单个,y为单个香蕉. movepicture 1.left+x,picture 1。top+Y)
End Sub
B)Private Sub banana _ DragDrop(Source作为控件,X作为Single,Y作为Single )
Source。移动图片1。left+X . picture 1 . top+Y
End Sub
C)B)Private Sub picture 1 _ DragDrop(Source作为控件,X作为Single,Y作为Single )
Source。移动图片1。left+X . picture 1 . top+Y
End Sub
D)B)Private Sub picture 1 _ DragDrop(Source为Control,X为Single,Y为Single )
banana。移动香蕉。左+X,香蕉。Top+Y
End Sub
(33)在窗体上绘制一个名为Command1的命令按钮,然后编写以下事件过程
option base 1
pribate subcommand 1 _ click()
dim a(5.5)as integer
For I = 1 To 5
a(I,j)* 5 \ 10
Next j
Next I
S = 0
For I = 1 To 5
S = S+
(34)表单上从左到右有两个文本框Text1和Text2(见图)。当程序需要运行时,在Text1中输入一个分数,按enter键判断该分数的合法性。如果分数是0~100中的一个,将光标移到Text2附近;否则光标不动,会弹出显示“分数错误”的对话框。下面程序中正确的是(d)
a)Private Subtext 1 _ _ keypress(keyascii为整数)
如果keyascii = 13那么'回车的ACSII代码是13
a=Val(Text1)
如果a>=0或者是Text2,SetFocus
Else
Text1。SetFocusMsgBox("分数错误")
end if
end if
end sub
b)private sub text 1 _ _ keypress(KeyASCII为整数)
KeyASCII = 13然后'回车的ACSII代码为13
a = val(text 1)
if a > = 0和a text 1 . set focus
else
text 2 . set focus;MsgBox("分数错误")
end if
end if
end sub
c)private sub text 1 _ _ keypress(keyas CII为整数)
KeyASCII = 13然后'回车的ACSII代码为13
a = val(text 1)
if a100然后
text 2 . set focus
else
text 1 . set focus;MsgBox("分数错误")
end if
end if
end sub
d)private sub text 1 _ _ keypress(KeyASCII为整数)
KeyASCII = 13然后'回车的ACSII代码为13
a = val(text 1)
if a > = 0和a text 2 . set focus
else
text 1 . set focus;MsgBox("错误的分数")
ENDIF
ENDIF
ENDIB
(35)在窗体上绘制两个命令按钮,分别命名为Command1和command2,并编写以下程序
const n = 4
Dim a(m,n)
Private Sub command 1 _ Click()
K = 1
For I = 1 To m
For j = 1 To J)= k
k = k+1
Next J
Next I
Private Sub command 2 _ Click()
Summ = 0
For i=1 To m
For j=1 To n
如果I = 1或i=m,则
Summ=summ+a(i,j)
否则
如果j=I或J = 1 Command2_Click()的功能是(A)
A)计算矩阵周围一个圆中元素的和
B)计算矩阵中除一个圆之外的所有元素的和
C)计算矩阵第一列和最后一列中元素的和
D)计算矩阵第一行和最后一行中元素的和。0/]题(每题2分空,共30分)
请将每题空的正确答案写在答题卡[1]~[15]序号横线上,并在试卷上作答,答案不在试卷上计分。
注意
(2)软件测试可分为白盒(箱)测试和黑盒(箱)测试,等价类划分法属于_ _黑盒(或黑盒)测试。
(3)在数据库系统中,实现各种数据管理功能的核心软件称为数据库管理系统(DBMS)_ _ _ _ _ _ _。
(4)软件生命周期可以分为几个阶段,一般包括定义阶段、开发阶段和维护阶段。而编码和测试属于开发_ _ _ _ _阶段。
(5)在结构化分析中使用的数据流图(DFD)中,使用数据字典对其中的图形元素进行了准确的解释。
(6)1 ++的N.......n .请填写空
private子命令1 _ _ click ()
dim s,m,为整数
m = val (Inputbox("请输入大于100的整数"))
n = 0
s = 0
do while s n = n+1
s = s+n *。
(7)下面这个程序的作用是去掉文件file11.txt中重复的字符(即如果有多个字符相同,只保留一个)写入文件file2.txt请填入空。
Private Sub command 1 _ _ Click()
Dim inchar AS String,temp AS String,out char AS String
out char = " "
Open = " file 1 . txt " For Input AS # 1
Open = " file 2 . txt " For Output AS # 2
n = LOF(1)
inchar = Input $(n,1)
For k = 1 To n
temp = Mid(inch out char
close # 2
close # 1
end sub
(8)先在窗体上绘制一个名为Text1的文本框和一个名为Label1的标签,然后绘制一个名为OP1的四个单选按钮的数组,其Index属性为0 \按季度顺序排列。 在sales.txt文件中,按月顺序存储了某企业某年12个月的销售额。当需要执行程序时,用鼠标单击一个单选按钮,相应季度的总销售额将显示在Text1中,相应的文本将显示在标签上。图2显示了单击“Q3”单选按钮的结果。请填写空。
Dim sales(12)As Long
Private Sub Form _ _ Load()
open " sales . txt " For Input As # 1
For k = 1 To 12
Input # 1,sales(k)
Next k
Close # 1
End Sub
Private Sub Op1 _ Click(Index,AS Integer)
Dim sum AS Long,kcaption = opl(索引)。caption & "总销售额:"
text 1 = sum
end sub
(9)有人写以下函数判断A是否是质数,如果是,函数返回True;否则,它返回False
Function prime(a AS integer)AS Boolean
dim k AS inter,is prime AS Boolean
If a is prime = False
Else
is prime = True
k = 2
Do While k If a Mod k = 0 Then
is prime = False
Else
k = k+1
End If
循环
End
多项选择问题:
1-10 cdacd cabaa
11-20 ddbcd abadc
21-30 bbdca cddbc
公元前31至35年
填写空:
3黑盒测试DBMS开发阶段数据字典0n-1 # 2 1 0
out charop 1 _ click 3 caption 4
0条评论