2006年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计
**** Hidden Message ***** 2006年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
(1)下列选项中不符合良好程序设计风格的是______。
A) 源程序要文档化
B) 数据说明的次序要规范化
C) 避免滥用goto语句
D) 模块设计要保证高耦合、高内聚
(2)从工程管理角度,软件设计一般分为两步完成,它们是______。
A) 概要设计与详细设计
B) 过程控制
C) 软件结构设计与数据设计
D) 程序设计与数据设计
(3)下列选项中不属于软件生命周期开发阶段任务的是______。
A) 软件测试
B) 概要设计
C) 软件维护
D) 详细设计
(4)在数据库系统中,用户所见数据模式为______。
A) 概念模式
B) 外模式
C) 内模式
D) 物理模式
(5) 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。
A) 编码设计
B) 测试阶段
C) 运行阶段
D) 物理设计
(6) 设有如下三个关系表
下列操作中正确的是______。
A) T=R∩S
B) R∪S
C) T=R×S
D) T=R/S
(7)下列叙述中正确的______。
A) 一个算法的空间复杂度大,则其时间复杂度也必定大
B) 一个算法的空间复杂度大,则其时间复杂度必定小
C) 一个算法的时间复杂度大,则其空间复杂度必定小
D) 上述三种说法都不对
(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为______。
A) 63
B) 64
C) 6
D) 7
(9)数据库技术的根本目标是解决数据的______。
A) 存储问题
B) 共享问题
C) 安全问题,
D) 保护问题
(10)对下列二叉树
进行中序遍历的结果是______。
A) ACBDFEG
B) ACBDFGE
C) ABDCGEF
D) FCADBEG
(11)以下叙述中正确的是______。
A) 窗体的Name属性指定窗体的名称,用来标识一个窗体
B) 窗体的Name属性值是显示在窗体标题栏中的文本
C) 可以在运行期间改变窗体的Name属性的值
D) 窗体的Name属性值可以为空
(12)以下叙述中错误的是______。
A) 打开一个工程文件时,系统自动装入与该工程有关的窗体文件
B) 保存Visual Basic程序时,应分别保存窗体文件及工程文件
C) Visual Basic应用程序只能以解释方式执行
D) 窗体文件包含该窗体及其控件的属性
(13) 设a=2,b=3,c=4,下列表达式的值是______。
Nota<=c Or 4*c=b^2 And b<>a+C
A) -1
B) 1
C) True
D) False
(14) 设有如下的用户定义类型:
Type Student
number As String
name As string
age As Integer
End Type
则以下正确引用该类型成员的代码是______。
A) Student name="李明”
B) Dim s As Student
s.name="李明"
C) Dim s As Type Student
D) Dim s As Type
s.name="李明"
s.name="李明"
(15)设a=5,b=6,c=7,d=8,执行下列语句后,x的值为______。
x=IIf((a>b)And(c>d),10,20)
A) 10
B) 20
C) True
D) False
(16)执行以下程序段后,变量c$的值为______。
a$="Visual Basic Programming"
b$="Quick"
c$=b$ & UCase(Mid$(a$,7,6)) & Right$(d$,12)
A) Visual BASIC Programming
B) Quick Basic Programming
C) QUICK Basic Programming
D) Quick BASIC Programming
(17)在窗体上画一个文本框(其名称为Text1)和一个标签(其名称为Labell),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程是______。
A) Private Sub Text1 Click()
B) Private Sub Text1_Change()
Labell.Caption=Text1.Text
Labell.Caption=Text1.Text
End Sub
End Sub
C) Private Sub Labell_Change()
D) Private Sub Labell_Click()
Labell.Caption=Text1.Text
Labell.Caption=Text1.Text
End Sub
End Sub
(18)在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Labell,然后编写如下事件过程:
Private Sub Command1 Click()
Dim i As Integer,n As Integer
For i=0 To 50
i=i+3
n=n+1
If i>10 Then Exit For
Next
Text1.Text=Str(n)
End Sub
程序运行后,单击命令按钮,标签中显示的内容是______。
A) 11
B) 12
C) 16
D) 20
(19)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
a=0
For i=1 To 10
a=a+1
b=0
For j=1 To 10
a=a+1
b=b+2
Next j
Next i
Label1.Caption=Str(a)
Label2.Caption=Str(b)
End Sub
程序运行后,单击命令按钮,在文本框中显示的值是______。
A) 5
B) 4
C) 3
D) 2
(20)在窗体上画一个命令按钮和两个标签,其名称分别为Command1、Label1和Label2,然后编写如下事件过程;
Private Sub Command1_Click()
a=0
For i=1 To 10
a=a+1
b=0
For j=1 To 10
a=a+1
b=b+2
Next j
Next i
Label1.Caption=Str(a)
Label2.Caption=Str(b)
End Sub
程序运行后,单击命令按钮,在标签Label1和Label2中显示的内容分别是______。
A) 10和20
B) 20和110
C) 200和110
D) 110和20
(21)在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干城市的名称。当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是______。
A) Private Sub List1_Click()
B) Private Sub List1_Click()
Label1.Caption=List1.ListIndex
Label1.Name=List1.ListIndex
List1.RemoveItem List1.Text
List1.RemoveItem List1.Text
End Sub
End Sub
C) Private Sub List1_Click()
D) Private Sub List1_Click()
Label1.Cavtion=List1.Text
Label1.Name=List1.Text
List1.RemoveItem List1.ListIndex
List1.RemoveItem List1.ListIndex
End Sub
End Sub
(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Private Sub Command1 Click()
Dim i As Integer,j As Integer
Dim a(10,10)As Integer
For i=1 To 3
For j=1 To 3
a(i,j)=(i-1)*3+j
Print a(i,j);
Next j
Next i
End Sub
程序运行后,单击命令按钮,窗体上显示的是______。
A) 1 2 3
B) 2 3 4
C) 1 4 7
D) 1 2 3
2 4 6
3 4 5
2 5 8
4 5 6
3 6 9
4 5 6
3 6 9
7 8 9
(23)在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:
Option Base()
Private Sub Command1 Click()
Dim A(4)As Integer,B(4)As Integer
For k=0 To 2
A(k+1)=InputBox(“请输入一个整数”)
B(3-k)=A(k+1)
Next k
Print B(k)
End sub
程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输出结果为______。
A) 0
B) 2
C) 3
D) 4
(24)有以下程序:
Option Base 1
Dim arr()As Integer
Private Sub Form Click()
Dim i As Integer,j As Integer
ReDim arr(3,2)
For i=1 To 3
For j=1 To 2
arr(i,j)=i*2+j
Next j
Next i
ReDim Preserve arr(3,4)
For j=3 To 4
arr(3,j)=j+9
Next j
Print arr(3,2);arr(3,4)
End Sub
程序运行后,单击窗体,输出结果为______。
A) 813
B) 013
C) 712
D) 00
(25)以下叙述中正确的是______。
A) 一个Sub过程至少要有一个Exit Sub语句
B) 一个Sub过程必须有一个End Sub语句
C) 可以在Sub过程中定义一个Function过程,但不能定义Sub过程
D) 调用一个Function过程可以获得多个返回值
(26)有以下程序:
Sub subP(b()As Integer)
For i=1 To 4
b(i)=2*i
Next i
End Sub
Private Sub Command1_Click()
Dim a(1 To 4)As Integer
a(i)=5
a(2)=6
a(3)=7
a(4)=8
subP a()
For i=1 To 4
Print a(i)
Next i
End Sub
运行上面的程序,单击命令按钮,输出结果为______。
A) 2
B) 5
C) 10
D) 出错
4
6
12
6
7
14
8
8
6
(27)设有如下通用过程:
Public Function Fun(xStr As String)As String
Dim tStr As String,strL As Integer
tStr=""
strL=Len(xStr)
i=1
Do While i<=strL/2
tStr=tStr & Mid(xStr,i,1) & Mid(xStr,strL-i+1,1)
i=i+1
Loop
Fun=tStr
End Function
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写如下的事件过程:
Private Sub Command1_Click()
Dim S1 As String
S1="abcdef"
Text1.Text=UCase(Fun(S1))
End Sub
程序运行后,单击命令按钮,则Text1中显示的是______。
A) ABCDEF
B) abcdef
C) AFBECD
D) DEFABC
(28)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
Private Sub TxtA_KeyPress(KeyAscii As Integer)
End Sub
假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是______。
A) 单击鼠标
B) 双击文本框
C) 鼠标滑过文本框
D) 按下键盘上的某个键
(29)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,然后编写如下程序:
Dim S1 As String,S2 As String
Private Sub Form_Load()
Text1.Text=""
Text2.Text=""
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
S2=S2 & Chr(Keycode)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
S1=S1 & Chr(KeyAscii)
End Sub
Private Sub Command1_Click()
Text1.Text=S2
Text2.Text=S1
S1=""
S2=""
End Sub
程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为______。
A) abc和ABC
B) abc和abe
C) ABC和abc
D) ABC和ABC
(30)以下说法中正确的是______。
A) 任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器
B) 只有当某个窗体为当前活动窗体时,才能打开菜单编辑器
C) 任何时候都可以通过单击标准工具栏上的“菜单编辑器”按钮打开菜单编辑器
D) 只有当代码窗口为当前活动窗口时,才能打开菜单编辑器
(31)在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并编写如下事件过程:
Private Sub Command1_Click()
CommonDialog1.Filter="All Files(*.*)|*.*|Text Files"&_
"(*.txt)|*.txt|Executable Files(*.exe)|*.exe"
CommonDialog1.FilterIndex=3
CommonDialog1.ShowOpen
MsgBox CommonDialog1.FileName
End Sub
程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是______。
A) AllFiles(*.*)
B) Text Files(*.txt)
C) Executable Files(*.exe)
D) 不确定
(32) 以下叙述中错误的是______。
A) 一个工程中可以包含多个窗体文件
B) 在一个窗体文件中用Public定义的通用过程不能被其他窗体调用
C) 窗体和标准模块需要分别保存为不同类型的磁盘文件
D) 用Dim定义的窗体层变量只能在该窗体中使用
(33)以下叙述中错误的是______。
A) 语句"Dim a,b As Integer"声明了两个整型变量
B) 不能在标准模块中定义Static型变量
C) 窗体层变量必须先声明,后使用
D) 在事件过程或通用过程内定义的变量是局部变量
(34) 设有语句:Open "d:\Test.txt" For Output As #1,以下叙述中错误的是______。
A) 若d盘根目录下无Test.txt文件,则该语句创建此文件
B) 用该语句建立的文件的文件号为1
C) 该语句打开d盘根目录下一个已存在的文件Test.txt,之后就可以从文件中读取信息
D) 执行该语句后,就可以通过Print#语句向文件Test.txt中写入信息
(35)以下叙述中错误的是______。
A) 顺序文件中的数据只能按顺序读写
B) 对同一个文件,可以用不同的方式和不同的文件号打开
C) 执行Close语句,可将文件缓冲区中的数据写到文件中
D) 随机文件中各记录的长度是随机的
二、填空题(每空2分,共30分)
请将每空的正确答案写在【1】~【15】的横线上。
(1)下列软件系统结构图
的宽度为 【1】 。
(2)
【2】 的任务是诊断和改正程序中的错误。
(3)一个关系表的行称为 【3】 。
(4)按“先进后出”原则组织数据的数据结构是
【4】 。
(5)数据结构分为线性结构和非线性结构,带链的队列属于 【5】 。
(6)描述“X是小于100的非负整数”的Visual Basic表达式是 【6】 。
(7) 在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。程序运行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮Command1
变为可用。请填空。
Private Sub Form_Load()
Command1.Enabled=False
End sub
Private Sub Text1_
【7】
()
Command1.Enabled=Tree
End Sub
(8)在窗体上画一个名称为“Command1”的命令按钮。然后编写如下事件过程
Private Sub Command1 Click()
Dim a As String
a="123456789"
For i=1 To 5
Print Space(6-i);Mid$(a, 【8】 ,2*i-1)
Next i
End Sub
程序运行后,单击命令按钮,窗体上的输出结果是
5
456
34567
2345678
123456789
请填空。
(9)以下程序的功能是:将一维数组A中的100个元素分别赋给二维数组B的每个元素并打印出来,要求把A(i)到A(10)依次赋给B(1,1)到B(1,10),把A(11)到A(20)依次赋给
B(2,1)到B(2,10),……,把A(91)到A(100)依次赋给B(10,1)到B(10,10)。请填空。
Option Base 1
Private Sub Form_Click()
Dim i As Integer,j As Integer
Dim A(1 To 100)As Integer
Dim B(1 To 10,1 To 10)As Integer
For i=1 To 100
A(i)=Int(Rnd*100)
Next i
For i=1 To
【9】
For j=1 To
【10】
B(i,j)= 【11】
Print B(i,j);
Next j
Next i
End Sub
(10)在窗体上画一个名称为Combol的组合框,然后画两个名称分别为Label1、Label2,标题分别为“城市名称”和空白的标签。程序运行后,在组合框中输入一个新项目并按回
车键,如果输入的项目在组合框的列表中不存在,则自动将其添加到组合框的列表中,并在Label2中给出提示“已成功添加新输入项。”,如图所示。如果输入的项目已存在,则在Label2中给出提示“输入项已在组合框中。”。请填空。
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii=13 Then
For i=0 To Combo1.ListCount-1
If Combo1.Text=
【12】
Then
Label2.Caption="输入项已在组合框中。"
Exit Sub
End If
Next i
Label2.Caption="已成功添加新输入项。"
Combo1.
【13】
Combo1.Text
End If
End Sub
(11) 在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写如下事件过程:
Private Sub Command1_Click()
Dim inData As String
Text1.Text=""
Open"d:\myfile.txt" For
【14】
As#1
Do While
【15】
Input #1,inData
Text1.Text=Text1.Text+inData
Loop
Close#1
End Sub
程序的功能是,打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。请填空。
页:
[1]