全国计算机二级考试历年真题(整理)_计算机二级考试真题
全国计算机二级考试历年真题(整理)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机二级考试真题”。
05年试卷
一、选择题((1)~(35)每小题2分,共70分
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)数据的存储结构是指()。A.存储在外存中的数据
B.数据所占的存储空间量
C.数据在计算机中的顺序存储方式 D.数据的逻辑结构在计算机中的表示
(2)下列关于栈的描述中错误的是()。
A.栈是先进后出的线性表 B.栈只能顺序存储 C.栈具有记忆作用
D.对栈的插入与删除操作中,不需要改变栈底指针
(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。A.冒泡排序为n/2 B.冒泡排序为n C.快速排序为n D.快速排序为n(n-1)/2
(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。A.log2n B.n/2 C.n D.n+1
(5)下列对于线性链表的描述中正确的是()。A.存储空间不一定是连续,且各元素的存储顺序是任意的 B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C.存储空间必须连续,且前件元素一定存储在后件元素的前面 D.存储空间必须连续,且各元素的存储顺序是任意的
(6)下列对于软件测试的描述中正确的是()。
A.软件测试的目的是证明程序是否正确
B.软件测试的目的是使程序运行结果正确
C.软件测试的目的是尽可能多地发现程序中的错误
D.软件测试的目的是使程序符合结构化原则
(7)为了使模块尽可能独立,要求()。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
(8)下列描述中正确的是()。
A.程序就是软件
B.软件开发不受计算机系统的限制
C.软件既是逻辑实体,又是物理实体
D.软件是程序、数据与相关文档的集合
(9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。
A.数据与程序独立存放
B.不同的数据被存放在不同的文件中
C.不同的数据只能被对应的应用程序所使用
D.以上三种说法都不对
(10)用树形结构表示实体之间联系的模型是()。
A.关系模型
B.网状模型
C.层次模型
D.以上三个都是(11)在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是()。
A.Private Sub Text1_Change()
Command1.Caption = “计算机等级考试”
End Sub
B.Private Sub Command1_ Click()
Caption = “计算机等级考试”
End Sub
C.Private Sub Form1_ Click()
Text1.Caption = “计算机等级考试”
End Sub
D.Private Sub Command1_ Click()
Text1.Text = “计算机等级考试”
End Sub
(12)设a=5,b=4,c=3,d=2下列表达式的值是()。> 2 * b Or a = c And b c Or c > d
A.1
B.True
C.False
D.2
(13)设a = “MicrosoftVisualBasic”,则以下使变量b的值为“VisualBasic”的语句是()。
A.b = Left(a, 10)
B.
该文章转载自无忧考网:http://www.daodoc.command1)右移200,应使用的语句是()。
A.Command1.Move-200
B.Command1.Move 200
C.Command1.Left = Command1.Left + 200
D.Command1.Left = Command1.Leftc
End If
Next
Print d
End Sub
程序运行后,如果单击命令按钮,则在窗体上输出的内容为()。
A. 10
B. 16
C.12
D. 20
(32)设有如下程序:
Private Sub Command1_Click()
Dim c As Integer, d As Integer
c = 4
d = InputBox(“请输入一个整数”)
Do While d > 0
If d > c Then
c = c + 1
End If
d = InputBox(“请输入一个整数”)
Loop
Print c + d
End Sub
程序运行后,单击命令按钮,如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、0,则输出结果是()。
A.12
B.11
D.9
(33)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串:Microsoft Visu
该文章转载自无忧考网:http://www.daodoc.command1_Click()
Open “d:tempoutf.txt” For Output As #1
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= “A” And c
Print #1, LCase(End If
Next i
Close
End Sub
程序运行后,单击命令按钮,文件outf.txt中的内容是()。
A.MVBP
B.mvbp
C.M
D.m
V v
B b
P p(34)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Dim SW As Boolean
Function func(X As Integer)As Integer
If X
Y = X
Else
Y = 20 + X
End If
func = Y
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = False
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = True
End Sub
Private Sub Command1_Click()
Dim intNum As Integer
intNum = InputBox(“”)
If SW Then
Print func(intNum)
End If
End Sub
程序运行后,单击命令按钮,将显示一个输入对话框,如果在输入对话框中输入25,则程序的执行结果为()。
A.输出0
B.输出25
输出45
D.无任何输出
(35)设有如下通用过程:
Public Sub Fun(a()As Integer, x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写如下的事件过程:
Private Sub Command1_Click()
Dim arr(5)As Integer, n As Integer
For i = 1 To 5
arr(i)= i + i
Next
Fun arr, n
Text1.Text = Str(n)
End Sub
程序运行后,单击命令按钮,则在文本框中显示的内容是()。
A.30
B.25
C.20
D.15
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
(1)某二叉树中度为2的结点有18个,则该二叉树中有 【1】 个叶子结点。
(2)在面向对象方法中,类的实例称为 【2】。
(3)诊断和改正程序中错误的工作通常称为 【3】。
(4)在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】。
(5)问题处理方案的正确而完整的描述称为 【5】。
(6)以下语句输出结果是 【6】。
Print Int(12345.6789 * 100 + 0.5)/ 100
(7)在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程:
Private Sub Form_
该文章转载自无忧考网:http://www.daodoc.command1_Click()
Dim arr1
Dim Min As Integer, i As Integer
arr1 = Array(12, 435, 76,-24, 78, 54, 866, 43)
Min = 【12】
For i = 2 To 8
If arr1(i)
Next
Print “最小值是:”;Min
End Sub
以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中各元素的最小值。请填空。
(11)在名称为Form1的窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如下的事件过程:
Private Sub Form_Click()
Open “d:testsmtext1.txt” For Input As #1
Do While Not 【14】
Line Input #1, aspect$
whole$ = whole$ + aspect$ + Chr$(13)+ Chr$(10)
Loop
Text1.Text = whole$
Close #1
Open “d:testsmtext2.txt” For Output As #1
Print #1, 【15】
Close #1
End Sub
上述程序的功能是,把磁盘文件smtext1.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt。请填空2005年4月全国计算机等级考试二级VB语言笔试答案
参考答案:
选择题:
1---5 DBDCA
6---10 CBDDC
11--15 ABBCD
16--20 CDABD
21--25 ABCDB
26--30 CDBBA
31--35 CDDDA
填空题:
【1】19
【2】 对象
【3】 程序调试
该文章转载自无忧考网:http://www.daodoc.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)若设置了文本框的属性PawordChar=”$”,则运行程序时向文本框中输入8个任意字符后,文本框中显示的是(A)
A)8个”$”
B)1个”$”
C)8个”*”
D)无任何内容
(17)设在窗体上有1个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是(B)
A)Combo1.RemoveItem Combo1.Text
B)Combo1.RemoveItem4
C)Combo1.RemoveItem Combo1.ListCount
D)Combo1.RemoveItem5
(18)工程中有2个窗体,名称分别为Form1.Form2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是(A)
A)Private Sub Command1_Click()
B)Private Sub Command1_Click()
Form2.Show
Form2.Visible
End
Sub
End
Sub
C)Private Sub Command1_Click()
D)Private Sub Command1_Click()
Load Form2
Form2.Load
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)Cd1.Action=2
B)Cd1.Action=1
C)Cd1.ShowSave=Ture
D)Cd1.ShowSave=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()
Text1.Left=100
T
ext1.Left= Text1.Left-100
End Sub
End Sub
C)Private Sub Command1_Click()
D)Private Sub Command1_Click()
Text1.Move.Text.Left+100
Text1.Move.Text.Left
End Sub
End Sub
(25)某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是(A)
A)在工程属性对话框中把“启动对象”设置为Form2
B)在Form1的Load事件过程中加入语句 Load Form2
C)在Form2的Load事件过程中加入语句Form2.Show
D)在Form2的TabIndex属性设置为1,把Form1的TabIndex属性设置为2
(26)窗体上有1个名称为Text1的文本框和1个名称为Command1的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写到文件out.txt中,每次写入的内容附加到文件原有内容之后。下面能够实现上述功能的程序是(C)
A)Private Sub Command1_Click()
B)Private Sub Command1_Click()
Open “out.txt” For Inpit As#1
Open “out.txt” For Outpit As#1
Print#1,Text1.Text
Print#1,Text1.Text
Close#1
Close#1
End Sub
End Sub
C)Private Sub Command1_Click()
D)Private Sub Command1_Click()
Open “out.txt” For Append As#1
Open “out.txt” For Random As#1
Print#1,Text1.Text
Print#1,Text1.Text
Close#Close#1
End End Sub
(27)为计算1+3+5+„„+99的值,某人编程如下
k=1
Sub
s=0
While k
k=k+2
:
s=s+k
Wend
Print s
在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是(D)
A)While „Wend循环语句错误,应改为For k=1 To 99 „Next k
B)循环条件错误,应改为Whlie k
C)循环前的赋值语句k=1错误,应改为k=0
D)循环中两条赋值语句的顺序错误,应改为s=s+k :
(29)在窗体上有1个名称为CommonDialog1的通用对话框和1个名称为Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击Command1按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件。以下是Command1_Click事件过程的两种算法
算法1:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As#1
End Sub
算法2:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
IfCommonDialog1.FileName””Then
Open CommonDialog1.FileName 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=List1.ListCount-1 to 0 Step-1
If InStr(List.List(k),s)>0 then
str=str&List.List(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),且将banana.DragMode属性设置为1。要求程序运行时,可以用鼠标把banana拖拽到Picture1中(见图2)。能实现此功能的事件过程是(C)
A)Priate Sub Form_DragDrop(Source As Control,X As Single,Y As Single banana.Move Picture1.Left+X,Picture1.Top+Y)
End Sub
B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single)
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
C)B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single)
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
D)B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single)
banana.Move banana.Left+X, banana.Top+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
(34)在窗体上从左到右有Text1、Text2两个文本框(见图),要求程序运行时,在Text1中输入1个分数后按回车键,则判断分数的合法性,若分数为0~100中的1个数,周围光标移到Text2中;否则光标不动,并弹出对话框显示“分数错”,下面程序中正确的是(D)
A)Private Sub Text1__KeyPre(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回车符的ACSII码是13
a=Val(Text1)
If a>=0 or a
Text2.SetFocus
Else
Text1.SetFocus
;MsgBox(“分数错”)
End If
End If
End Sub
B)Private Sub Text1__KeyPre(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回车符的ACSII码是13
a=Val(Text1)
If a>=0 And a
Text1.SetFocus
Else
Text2.SetFocus
;MsgBox(“分数错”)
End If
End If
End Sub
C)Private Sub Text1__KeyPre(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回车符的ACSII码是13
a=Val(Text1)
If a100 Then
Text2.SetFocus
Else
Text1.SetFocus
;MsgBox(“分数错”)
End If
End If
End Sub
D)Private Sub Text1__KeyPre(KeyAscii AS Integer)
If KeyAscii=13 Then
‘回车符的ACSII码是13
a=Val(Text1)
If a>=0 And a
Text2.SetFocus
Else
Text1.SetFocus
;MsgBox(“分数错”)
End If
End If
End Sub
(35)在窗体上画2个命令按钮,名称分别为Command1、command2,并编写如下程序
Const n=5,m=4
Dim a(m,n)
Private Sub Command1_Click()
K=1
For i=1 To m
For j=1 To n
a(i,j)=k
k=k+1
Next j
Next i
Private Sub Command2_Click()
Summ=0
For i=1 To m
For j=1 To n
If i=1 Or i=m Then
Summ=summ+a(i,j)
Else
If j=I Or j=n Then
Summ=summ+a(i,j)
End If
End If
Next j
Next i
Print summ
End Sub
过程Command1_Click()的作用是二维数组a 中存放1个 m行n列的矩阵;过程Command2_Click()的作用是(A)
A)
计算矩阵外围一圈元素的累加和
B)
计算矩阵除外一圈以外的所有元素的累加和
C)
计算矩阵第1列和最后一列元素的累加和
D)
计算矩阵第1行和最后一行元素的累加和
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题纸上[1]~[15]序号的横线上,答在试卷上,答在试卷上不得分,注意:以命令关键字填空的必须写完整
(1)
在深度为7的满二叉树中,度为2的结点个数为___63_____。
(2)
软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于__黑箱(或黑盒)测试。
(3)
在数据库系统中,实现各种数据管理功能的核心软件称为
数据库管理系统(DBMS)_____。
(4)
软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于
开发_____阶段。
(5)在结构化分析使用的数据流图(DFD)中,利用
数据字典
对其中的图形元素进行确切解释。
(6)1+ + + +„„.n
最大的n。请填空
Private Sub Command1__Click()
Dim s ,m,n AS Integer
m=Val(InputBox(“请输入一个大于100的整数”))
n=
0
s=0
Do While s
N=n+1
S=s+n*n
Loop
Print “满足不等式的最大n是
n-1
End Sub
(7)下面程序的功能是把文件file11.txt中重复字符去掉后(即若有多个字符相同,则只保留1个)写入文件file2.txt。请填空。
Private Sub Command1__Click()
Dim inchar AS String,temp AS String,outchar AS String
Outchar=” ”
Open=”file1.txt” For Input AS #1
Open=”file2.txt” For Output AS
#2
n=LOF()
inchar=Input$(n,1)
For k=1 To n
temp=Mid(inchar,k,1)
If InStr(outchar,temp)=
0
Then
outchar=outchar & temp
End If
Next k
print #2,outchar
close #2
close #1
End Sub
(8)在窗体上先画1个名为Text1的文本框和平个名为Label1的标签,再画1个名为OP1的有4个单选按钮数组,其Index属性按季度顺序为0∽3(见图1)。在文件sales.txt中按月份顺序存有某企业某年12个月的销售额。要求在程序执行时,鼠标单击1个单选按钮,则Text1中显示相应季度的销售总额,并把相应的文字显示在标签上。图2是单击“第3季度”单选按钮产生的结果。请填空。
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 ,k AS Ingeger,month AS Ingeger
sum=0
month=Index*
For k=1 To 3
month=month+1
sum=sum+sales(month)
Next k
Label1.Caption=Opl(Index).Caption
& “销售总额:”
Text1=sum
End Sub
(9)某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False
Function Prime(a As Integer)AS Boolean
Dim k As Interger,isprime AS Boolean
If a
isprime=False
Else
isprime=True
k=2
Do While k
If a Mod k=0 Then
isprime=False
ELSE
k=k+1
End IF
LOOP
End If
prime=isprime
End Function
在测试时发现有1个非素数也被判断为素数,这个错判的数是
2007年4月全国计算机等级考试二级VB语言笔试试题答案
选择题:
1-10
cdacd cabaa
11-20
ddbcd abadc
21-30
bbdca cddbc
31-35
bcada 填空:
黑盒测试
DBMS
开发阶段
数据词典
0
N-1 #2 1 0
outchar
op1_click 3
caption 4
07年9月全国计算机二级VB笔试含答案
引用地址:http://www.daodoc.command1的命令按钮和一个名称为Text1的文本框。要求单击Command1按钮时可把光标移到文本框中。下面正确的事件过程是
A)Private Sub Command1_Click()B)Private Sub Text1.GotFocus Command1.GotFocus End Sub EndSub C)Private Sub Command1_Click()D)Private Sub Text1.SetFocus Command1.SetFocus End Sub End Sub(14)执行以下程序后输出的是 Private Sub Command1_Click()Ch$=”AABCDEFGH”
Print Mid(Righ(ch$,6),Len(left(ch$,4)),2)End Sub A)CDEFGH B)ABCD C)FG D)AB(15)设在窗体Form1上有一个列表框List1,其中有若干个项目。要求单击列表框中某一项时,把该项显示在窗体上,正确的事件过程是
A)Prvate Sub List1_Click()B)Private Sub Form1_Click()Print List1.Text Print List1.Text End Sub End Sub C)Private Sub List1_Click()D)Private Sub Form1_Click()Print Form1.Text List1.Print List1.Text End Sub End Sub(16)若窗体上的图片框中有一个命令按钮,则此按钮的Left属性是指 A)按钮左端到窗体左端的距离 B)按钮左端到图片框左端的距离 C)按钮中心点到窗体左端的距离 D)按钮中心点到图片框左端的距离
(17)为使程序运行时通用对话框CD1上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是
A)CD1.DialogTitle=“对话框窗口” B)CD1.Action=“对话框窗口” C)CD1.FileName=“对话框窗口” D)CD1.Filter=“对话框窗口”(18)在窗体上有如右图所示的控件,各控件的名称 与其标题相同,并有如下程序: Private Sub Form_Load()Command2.Enabled=False Check1.value=1 End Sub 刚运行程序时,看到的窗体外观是:
(19)设在窗体中有一个名称为List1的列表框,其中有若干个项目(如图)。要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是
A)Private Sub Command1_Click()List1.Clear End Sub B)Private Sub Command1_Click()List1.Clear List1.ListIndex End Sub C)Private Sub Command1_Click()List1.Removeltem List1.ListIndex End Sub D)Private Sub Command1_Click()List1.Removeltem End Sub(20)某人设计了如下程序用来计算并输出7!(7的阶乘)Private Sub Command1_Click()t=0 For k=7 To 2 Step-1 t=t*k Next Print t End Sub 执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结构的是 A)把t=0改为t=1 B)把For k = 7 To 2 Step-1改为For k =7 To 1 Step-1 C)把For k = 7 To 2 Stip-1改为Fork=1 To 7 D)把Next改为Nexi k(21)若窗体中已经有若干个不同的单选按钮,要把它们改为一个单选按钮数组,在属性窗口中需要且只需要进行的操作是
A)把所有单选按钮的Index属性改为相同值 B)把所有单选按钮的Index 属性改为连续的不同值 C)把所有单选按钮的Caption属性值改为相同
D)把所有单选按钮的名称改为相同,且把它们的Index属性改为连续的不同值。(22)窗体上有文本框Text1和一个菜单,菜单标题、名称如表,结构见图。要求程序执行时单击“保存”菜单项,则把其标题显示在Text1文本框中。下面可实现此功能的事件过程是: 标题 名称 文件 file 新建 new 保存 save A)Private Sub save_Click()B)Private Sub save_Click()Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub C)Private Sub file_Click()D)Private Sub file_Click()Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub(23)某人在窗体上画了一个名称为Timer1的计时器和一个名称为Lab 的属性设置为Enabled=True, Interval=0,并编程如下。希望在每2秒在标签上显示一次系统当前时间。
Private Sub Timer1_Timer()Label1.Caption=Time$ End Sub 在程序执行时发现未能实现上述目的,那么,他应做的修改是 A)通过属性窗口把计时器的Interval属性设置为2000 B)通过属性窗口把计时器的Enabled属生设置为False C)把事件过程中的Label1.Caption=Time$语句改为Timer1.Interval=Tims$ D)把事件过程中的Label1.Caption=Time$语句改为Label1.Caption=Timer1.Time(24)形状控件的Shape属性有6种取值,分别代表6种几何图形。下列不属于这6种几何图形的是
(25)下面关于文件的叙述中错误的是 A)随机文件中各条记录的长度是相同的] B)打开随机文件时采用的文件存取方式应该是Random C)向随机文件中写数据应使用语句Print#文件号
D)打开随机文件与打开顺序文件一样,都使用Open语句(26)设窗体上有一个图片框Picture1,要在程序运行期间装入当前文件夹下的图形文件File1.jpg,能实现此功能的语句是
A)Picture1.Picture=”Flie1.jpg
B)Picture1.Picture=LoadPicture(“File1.jpg”)C)LoadPicture(“File1.jpg”)D)Call LoadPicture(“File1.jpg”)(27)下面程序执行时,在窗体上显示的是 Private Sub Command1_Click()Dim a(10)For k = 1 To 10 a(k)= 11 – k Next k Print a(a(3)a(7)Mod a(5))End Sub A)3 B)5 C)7(28)为达到把a、b中的值交换后输出的目的,某人编程如下: Private Sub Command1_Click()a% = 10:b% = 20 Call swap(a,b)Print a,b End Sub Private Sub swap(ByVal a As Integer,ByVal b As Integer)c= a:a=b:b=c End Sub 在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是 A)调用swap过程的语句错误,应改为Call swap a,b B)输出语句错误,应改为:Print ”a”,”b”
C)过程的形式参数有错,应改为:swap(ByRef a As Integer,ByRef b As Integer)D)swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a(29)有如下函数:
Function fun(a As Integer,n As Integer)As Integer Dim m As Integer While a >=n a=a-n m= m+1 Wend fun=m End Function 该函数的返回值是
A)a乘以n的乘积 B)a加n的和
C)a减n的差 D)a除以n的商(不含小数部分)(30)下面程序的输出结果是 Private Sub Command1_Click()ch$=”ABCDEF” proc ch Print ch End Sub Private Sub proc(ch As String)S=””
For k=Len(ch)To 1 Step-1 s=s&Mid(ch,k,1)Next k ch=s End Sub A)ABCDEF B)FEDCBA C)A D)F(31)某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下: Function Maxvalue(a()As Integer)As Integer Dim max% max=1 For k = 2 To 10 If a(k)>a(max)Then max = k End If Next k Maxvalue = max End Function 程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是 A)语句max = 1应改为max = a(1)B)语句For k = 2 To 10应改为For k = 1 To 10 C)If语句中的条件a(k)>a(max)应改为a(k)>max D)语句Maxvalue = max 应改为Maxvalue = a(max)(32)在窗体上画一个名称为Command1的命令按钮,并编写以下程序: Private Sub Command1_Click()Dim n%,b,t t = 1:b = 1:n = 2 Do b = b*n t = t + b n = n +1 Loop Until n>9 Print t End Sub 此程序计算并输出一个表达式的值,该表达式是
A)9!B)10!C)1!+2!+„+9!D)1!+2!+„+10!
(33)有一个名称为Form1的窗体,上面没有控件,设有以下程序(其中方法Pset(X,Y)的功能是在坐标X,Y处画一个点):
Dim cmdmave As Boolean Private Sub Form_MouseDown(Button As Integer,Shift As Integer, X As Single,Y As Single)cmdmave = True End Sub Private Sub Form_MouseMove(Button As Integer,Shift As Integer, X As Single, Y As Single)If cmdmave Then Form1.Pset(X,Y)End If End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single,Y As Single)cmdmave = False End Sub 此程序的功能是
A)每按下鼠标键一次,在鼠标所指位置画一个点
B)按下鼠标键,则在鼠标所指位置画一个点;放开鼠标键,则此点消失 C)不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线
D)按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线(34)某人设计了下面的函数fun,功能是返回参数a中数值的位数 Function fun(a As Integer)As Integer Dim n% n = 1 While a 10 >= 0 n = n + 1 a = a 10 Wend fun = n End Function 在调用该函数时发现返回的结果不正确,函数需要修改,下面的修改方案中正确的是 A)把语句n = 1改为n = 0 B)把循环条件a 10 >= 0改为a 10 > 0 C)把语句 a = a 10改为a = a Mod 10 D)把语句fun = n改为 fun = a(35)在窗体上有一个名称为Check1的复选框数组(含4个复选框),还有一个名称为Text1的文本 框,初始内容为空。程序运行时,单击任何复选 框,则把所有选中的复选框后面的方字罗列在文 本框中(见图)。下面能实现此功能的事件过程是 A)Private Sub Check1_Click(Indes As Integer)Text1.Text =“” For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & “ ” '双引号中是空格 End If Next k End Sub B)Private Sub Check1_Click(Index As Integer)For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & “ ” '双引号中是空格 End If Next k End Sub C)Private Sub Check1_Click(Index As Integer)Text1.Text = “” For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(Index).Caption & “ ” '双引号中是空格 End If Next k End Sub D)Private Sub Check1_Click(Index As Integer)Text1.Text = “” For k = 0 To 3 If Check1(k).value = 1 Then Text1.Text = Text1.Text & Check1(k).Caption & “ ” '双引号中是空格 Exit For End If Next k End Sub
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡[1]~[15]序号的横线上,答在试卷上不得分。
(1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】。
(2)在两种基本测试方法中,【2】 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。
(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】 存储结构。
(4)对下列二叉树进行中序遍历的结果为【4】。
(5)在E-R图中,矩形表示【5】。(6)窗体上有一个组合框,其中已输入了 若干个项目。程序运行时,单击其中一 项,即可把该项与最上面的一项交换。例如:单击图1中的“重庆”,则与“北 京”交换,得到图2的结果。下面是可 实现此功能的程序,请填空。Private Sub Combo1_Click()Dim temp temp = Combo1.Text [6] = Combo1.List(0)Combo1.List(0)= temp End Sub(7)设窗体上有一个名称为HScroIII的水平滚动条,要求当滚动块移动位置后,能够在窗体上输出移动的距离(即新位置与原位置的刻度值之差,向右移动为正数,向左移动为负数)。下面是可实现此功能的程序,请填写。
Dim [7] As Integer Private Sub Form_Load()pos=HScroIII.value End Sub Private Sub HScroIII_Change()Print [8]-pos pos=HScroIII.value End Sub(8)设窗体上有一个名称为CD1的通用对话框,一个名称为Text1的文本框和一个名称为Command1的命令按钮。程序执行时,单击Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Text1中。下面是实现此功能的事件过程,请填空。
Private Sub Command1_Click()CD1.Filter =“文本文件1*.txt(Word 文档)*.doc” CD1.Filterinder = 1 CD1.ShowOpen If CD1.FileName“”Then Open [9] For Input As #1 Line Input #1,ch$ Close #1 Text1.Text = [10] End If End Sub(9)下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5867,输入1000,则输出0001。请填空。
Private Sub Command1_Click()Dim x As Integer x=InputBox(“请输入一个正整数”)While x>__[11]___ Print x Mod 10;x=x10 Wend Print__[12]__ End Sub
(10)有如图所示的窗体。程序执行时先在Text1文本框中输入编号,当焦点试图离开Text1时,程序检查编号的合法性,若编号合法,则焦点可以离开Text1文本框;否则,显示相应错误信息,并自动选中错误的字符,且
焦点不能离开Text1文本框(见图)。合法编号的组成是:前2个字符是大写英文 字母,第3个字符是“-”,后面是数字字符(至少1个)。下面程序可实现此功能,请 填空。
Private Sub Text1_Lostfocus()Dim k%,n% n=Len([13])For k=1 to if(n>3,n,4)c=Mid(Text1.Text,k,1)Select Case k Case 1,2 If c“Z” Then MsgBox(“第”&k&“个字符必须是大写字母!”)SetPosition k Exit For End If Case 3 If c“-” Then MsgBox(“第”&k&“个字符必须是字符”'“-”'“)SetPosition k Exit For End If Case Else If c”9“ Then MsgBox(”第“&k&”个字符必须是数字!“)SetPosition k Exit For End If End Select Next k End Sub
Private Sub SetPosition(pos As Integer)Text1.SelStart=pos-1 Text.SelLength= [14] Text1.[15] End Sub
2007年9月全国计算机等级考试二级VB参考答案
一、选择题 1-5 DBCAA 6-10 CCABA 11-15 BDCCA 16-20 BAACA 21-25 DBABC 26-30 BDCDB 31-35 DCDBA