二级VB真卷.docx
《二级VB真卷.docx》由会员分享,可在线阅读,更多相关《二级VB真卷.docx(19页珍藏版)》请在冰豆网上搜索。
二级VB真卷
2006年9月全国计算机等级考试二级笔试试卷
公共基础知识和VisualBasic语言程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
(1)下列选项中不符合良好程序设计风格的是()。
A)源程序要文档化
B)数据说明的次序要规范化
C)避免滥用goto语句
D)模块设计要保证高耦合、高内聚
(2)从工程管理角度,软件设计一般分为两步完成,它们是()。
A)概要设计与详细设计
B)数据设计与接口设计
C)软件结构设计与数据设计
D)过程设计与数据设计
(3)下列选项中不属于软件生命周期开发阶段任务的是()。
A)软件测试
B)概要设计
C)软件维护
D)详细设计
(4)在数据库系统中,用户所见的数据模式为()。
A)概念模式
B)外模式
C)内模式
D)物理模式
(5)数据库设计的4个阶段是:
需求分析、概念设计、逻辑设计和()。
A)编码设计
B)测试阶段
C)运行阶段
D)物理设计
(
6)设有下列3个关系表
RST
ABCABC
m13M13
nn13
下列操作中正确的是()。
A)T=R∩SB)T=R∪S
C)T=R×SD)T=R/S
(7)下列叙述中正确的是()。
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
二级VisualBasic语言程序设计试卷第1页(共11页)D)上述3种说法都不对
(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()。
A)63B)64
C)6D)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)保存VisualBasic程序时,应分别保存窗体文件及工程文件
C)VisualBasic应用程序只能以解释方式执行
D)窗体文件包含该窗体及其控件的属性
(13)设a=2,b=3,c=4,下列表达式的值是()。
Nota<=cOr4*c=b^2Andb<>a+c
A)-1B)1
C)TrueD)False
(14)有下列用户定义类型:
TypeStudent
numberAsString
nameAsString
ageAsInteger
EndType
则下列正确引用该类型成员的代码是()。
A)Student.name="李明"B)DimsAsStudent
s.name="李明"
C)DimsAsTypeStudentD)DimsAsType
s.name="李明"s.name="李明"
二级VisualBasic语言程序设计试卷第2页(共11页)(15)设a=5,b=6,c=7,d=8,执行下列语句后,x的值为()。
x=IIF((a>b)And(c>d),10,20)
A)10B)20
C)TrueD)False
(16)执行下列程序段后,变量c$的值为()。
a$="VisualBasicProgramming"
b$="Quick"
c$=b$&UCase(Mid$(a$,7,6))&Right$(a$,12)
A)VisualBASICProgramming
B)QuickBasicProgramming
C)QUICKBasicProgramming
D)QuickBASICProgramming
(17)在窗体上画一个文本框(其名称为Text1)和一个标签(其名称为Label1),程序运
行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容。
下列可以
实现上述操作的事件过程是()。
A)PrivateSubText1_Click()B)PrivateSubText1_Change()
Label1.Caption=Text1.TextLabel1.Caption=Text1.Text
EndSubEndSub
C)PrivateSubLabel1_Change()D)PrivateSubLabel1_Click()
Label1.Caption=Text1.TextLabel1.Caption=Text1.Text
EndSubEndSub
(18)在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编
写下列事件过程:
PrivateSubCommand1_Click()
Counter=0
Fori=1To4
Forj=6To1Step-2
Counter=Counter+1
Nextj
Nexti
Label1.Caption=Str(Counter)
EndSub
程序运行后,单击命令按钮,标签中显示的内容是()。
A)11B)12
C)16D)20
(19)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编
写下列事件过程:
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=0To50
i=i+3
n=n+1
Ifi>10ThenExitFor
Next
二级VisualBasic语言程序设计试卷第3页(共11页)Text1.Text=Str(n)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是()。
A)5B)4
C)3D)2
(20)在窗体上画一个命令按钮和两个标签,其名称分别为Command1、Label1和Label2,
然后编写下列事件过程:
PrivateSubCommand1_Click()
a=0
Fori=1To10
a=a+1
b=0
Forj=1To10
a=a+1
b=b+2
Nextj
Nexti
Label1.Caption=Str(a)
Label1.Caption=Str(b)
EndSub
程序运行后,单击命令按钮,在标签Label1和Label2中显示的内容分别是()。
A)10和20B)20和10
C)200和110D)110和20
(21)在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若
干城市的名称。
当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标
签中显示出来。
下列能正确实现上述操作的程序是()。
A)PivateSubList1_Click()
Label1.Caption=List1.ListIndex
List1.RemoveItemList1.Text
EndSub
B)PrivateSubList1_Click()
Label1.Name=List1.ListIndex
List1.RemoveItemList1.Text
EndSub
C)PrivateSubList1_Click()
Label1.Caption=List1.Text
List1.RemoveItemList1.ListIndex
EndSub
D)PrivateSubList1_Click()
Label1.Name=List1.Text
List1.RemoveItemList1.ListIndex
EndSub
(22)在窗体上画一个名称为Command1的命令按钮,然后编写下列事件过程:
PrivateSubCommand1_Click()
二级VisualBasic语言程序设计试卷第4页(共11页)DimiAsInteger,jAsInteger
Dima(10,10)AsInteger
Fori=1To3
Forj=1To3
a(i,j)=(i-1)*3+j
Printa(i,j);
Nextj
Print
Nexti
EndSub
程序运行后,单击命令按钮,窗体上显示的是()。
A)123B)234
246345
369456
C)147D)123
258456
369789
(23)在窗体上画一个命令按钮,名称为Command1,然后编写下列事件过程:
OptionBase0
PrivateSubCommand1_Click()
DimA(4)AsInteger,B(4)AsInteger
Fork=0To2
A(k+1)=InputBox("请输入一个整数")
B(3-k)=A(k+1)
Nextk
PrintB(k)
EndSub
程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输出结果为()。
A)0B)2
C)3D)4
(24)有下列程序:
OptionBase1
Dimarr()AsInteger
PrivateSubForm_Click()
DimiAsInteger,jAsInteger
ReDimarr(3,2)
Fori=1To3
Forj=1To2
arr(i,j)=i*2+j
Nextj
Nexti
ReDimPreservearr(3,4)
Forj=3To4
arr(3,j)=j+9
二级VisualBasic语言程序设计试卷第5页(共11页)Nextj
Printarr(3,2);arr(3,4)
EndSub
程序运行后,单击窗体,输出结果为()。
A)813B)013
C)712D)00
(25)下列叙述中正确的是()。
A)一个Sub过程至少要有一个ExitSub语句
B)一个Sub过程必须有一个EndSub语句
C)可以在Sub过程中定义一个Function过程,但不能定义Sub过程
D)调用一个Function过程可以获得多个返回值
(26)有下列程序:
SubsubP(b()AsInteger)
Fori=1To4
b(i)=2*i
Nexti
EndSub
PrivateSubCommand1_Click()
Dima(1To4)AsInteger
a
(1)=5
a
(2)=6
a(3)=7
a(4)=8
subPa()
Fori=1To4
Printa(i)
Nexti
EndSub
运行上面的程序,单击命令按钮,输出结果为()。
A)2B)5
46
67
88
C)10D)出错
12
14
16
(27)设有下列通用过程:
PublicFunctionFun(xStrAsString)AsString
DimtStrAsString,strLAsInteger
tStr=““
strL=Len(xStr)
i=1
二级VisualBasic语言程序设计试卷第6页(共11页)DoWhilei<=strL/2
tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)
i=i+1
Loop
Fun=tStr
EndFunction
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。
然后编写
下列的事件过程:
PrivateSubCommand1_Click()
DimS1AsString
S1="abcdef"
Text1.Text=UCase(Fun(S1))
EndSub
程序运行后,单击命令按钮,则Text1中显示的是()。
A)ABCDEFB)abcdef
C)AFBECDD)DEFABC
(28)在窗体上画一个名称为TxtA的文本框,然后编写下列事件过程:
PrivateSubTxtA_KeyPress(KeyAsciiAsInteger)
……
EndSub
假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是()。
A)单击鼠标B)双击文本框
C)鼠标滑过文本框D)按下键盘上的某个键
(29)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,
然后编写下列事件过程:
DimS1AsString,S2AsString
PrivateSubForm_Load()
Text1.Text=““
Text2.Text=““
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
S2=S2&Chr(KeyCode)
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
S1=S1&Chr(KeyAscii)
EndSub
PrivateSubCommand1_Click()
Text1.Text=S2
Text2.Text=S1
S1=““
S2=““
EndSub
程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1和Text2中
显示的内容分别为()。
二级VisualBasic语言程序设计试卷第7页(共11页)A)abc和ABCB)abc和abc
C)ABC和abcD)ABC和ABC
(30)下列说法中正确的是()。
A)任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器
B)只有当某个窗体为当前活动窗体时,才能打开菜单编辑器
C)任何时候都可以通过单击标准工具栏上的“菜单编辑器”按钮打开菜单编辑器
D)只有当代码窗口为当前活动窗口时,才能打开菜单编辑器
(31)在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并
编写下列事件过程:
PrivateSubCommand1_Click()
CommonDialog1.Filter="AllFiles(*.*)|*.*|TextFiles"&_
"(*.txt)|*.txt|ExecutableFiles(*.exe)|*.exe"
CommonDialog1.FilterIndex=3
CommonDialog1.ShowOpen
MsgBoxCommonDialog1.FileName
EndSub
程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显
示的是()。
A)AllFiles(*.*)B)TextFiles(*.txt)
C)ExecutbleFiles(*.exe)D)不确定
(32)下列叙述中错误的是()。
A)一个工程中可以包含多个窗体文件
B)在一个窗体文件中用Public定义的通用过程不能被其他窗体调用
C)窗体和标准模块需要分别保存为不同类型的磁盘文件
D)用Dim定义的窗体层变量只能在该窗本中使用
(33)下列叙述中错误的是()。
A)语句“Dima,bAsInteger”声明了两个整型变量
B)不能在标准模块中定义Static型变量
C)窗体层变量必须先声明,后使用
D)在事件过程或通用过程内定义的变量是局部变量
(34)设有语句:
Open"d:
\Test.txt"ForOutputAs#1,下列叙述中错误的是()。
A)若d盘根目录下无Test.txt文件,则该语句创建此文件
B)用该语句建立的文件的文件号为1
C)该语句打开d盘根目录下一个已存在的文件Test.txt,之后就可以从文件中读取信息
D)执行该语句后,就可以通过Print#语句向文件Test.txt中写入信息
(35)下列叙述中错误的是()。
A)顺序文件中的数据只能按顺序读写
B)对同一个文件,可以用不同的方式和不同的文件号打开
C)执行Close语句,可将文件缓冲区中的数据写到文件中
D)随机文件中各记录的长度是随机的
二、填空题(每空2分,共30分)
(1)下列软件系统结构图:
二级VisualBasic语言程序设计试卷第8页(共11页)的宽度为【1】。
(2)【2】的任务是诊断和改正程序中的错误。
(3)一个关系表的行称为【3】。
(4)按“先进后出”原则组织数据的数据结构是【4】。
(5)数据结构分为线性结构和非线性结构,带链的队列属于【5】。
(6)描述“X是小于100的非负整数”的VisualBasic表达式是【6】。
(7)在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。
程序运
行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮
Command1变为可用。
请填空。
PrivateSubForm_Load()
Command1.Enabled=False
EndSub
PrivateSubText1_【7】()
Command1.Enabled=True
EndSub
(8)在窗体上画一个名称为Command1的命令按钮,然后编写下列事件过程:
PrivateSubCommand1_Click()
DimaAsString
a="123456789"
Fori=1To5
PrintSpace(6-i);Mid$(a,【8】,2*i-1)
Nexti
EndSub
程序运行后,单击命令按钮,窗体上的输出结果是
5
456
34567
2345678
123456789
请填空。
(9)下列程序的功能是:
将一维数组A中的100个元素分别赋给二维数组B的每个元素并
打印出来,要求把A
(1)到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)。
请填空。
OptionBase1
PrivateSubForm_Click()
DimiAsInteger,jAsInteger
DimA(1To100)AsInteger
DimB(1To10,1To10)AsInteger
Fori=1To100
A(i)=Int(Rnd*100)
二级VisualBasic语言程序设计试卷第9页(共11页)Nexti
Fori=1To【9】
Forj=1To【10】
B(i,j)=【11】
PrintB(i,j);
Nextj
Print
Nexti
EndSub
(10)在窗体上画一个名称为Combo1的组合框,然后画两个名称分别为Label1、Label2,
标题分别为“城市名称”和空白的标签。
程序运行后,在组合框中输入一个新项目并
按回车键,如果输入的项目在组合框的列表中不存在,则自动将其添加到组合框的列
表中,并在Label2中给出提示“已成功添加新输入项”,如图所示。
如果输入的项
目已存在,则在Label2中给出提示“输入项已在组合框中”。
请填空。
PrivateSubCombol_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Fori=0ToCombo1.ListCount-1
IfCombo1.Text=【12】Then
Label2.Caption="输入项已在组合框中"
ExitSub
EndIf
Nexti
Label2.Caption="已成功添加新输入项"
Combo1.【13】Combo1.Text
EndIf
EndSub
(11)在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编
写下列事件过程: