07年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)数据的逻辑结构与存储结构必定是一一对应的
B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
D)以上三种说法都不对
(7)冒泡排序在最坏情况下的比较次数是
A)n(n+1)/2    B)nlog2 n     C)n(n-1)/2   D)n/2
(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A)219            B)221        C)229          D)231
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)以上三种说法都不对
(10)下列叙述中正确的是
A)为了建立一个关系,首先要构造数据的逻辑关系
B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C)一个关系的属性名表称为关系模式
D)一个关系可以包括多个二维表
(11)要使一个文本框可以显示多行文本,应设置为True的属性是
A)Enabled    B)MultiLine    C)MasLenfth    D)Width
(12)在窗体上有一个名为Text1的文本框。当光标在文本框中时,如果按下字母键“A”,则被调用的事件过程是
A)Form_KeyPress()             B)Text1_LostFocus()
C)Text1_Click()                D)Test1_Change()
(13)设在窗体上有一个名称为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=x\10
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<"A" Or 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<"0" Or 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 
二、填空题
1、无歧义性
2、白盒测试
3、顺序
4、ACBDFEHGP
5、实体集
6、Combol1.List(Combol1.ListIndex)
7、pos
8、HScroll1.value
9、CD1.FileName
10、ch
11、10
12、x
13、Text1.Text
14、1
15、SetFocus

posted @ 2009-06-23 10:54  南守拥  阅读(785)  评论(0编辑  收藏  举报