全国计算机等级考试二级VB语言笔试试题及答案.docx
《全国计算机等级考试二级VB语言笔试试题及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级VB语言笔试试题及答案.docx(14页珍藏版)》请在冰豆网上搜索。
全国计算机等级考试二级VB语言笔试试题及答案
2006年9月全国计算机等级考试二级VB语言笔试试题及答案
(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)设有如下三个关系表:
下列操作中正确的是( )。
(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.保存VisualBasic程序时,应分别保存窗体文件及工程文件
C.VisualBasic应用程序只能以解释方式执行
D.窗体文件包含该窗体及其控件的属性
(13)设a=2,b=3,c=4,下列表达式的值是( )。
Nota<=cOr4*c=b^2Andb<>a+c
A.-1 B.1 C.True D.False
(14)没有如下的用户定义类型:
TypeStudent
numberAsString
nameAsString
A)geASInteger
EndType
则以下正确引用该类型成员的代码是( )。
A.Student.name=“李明”
B.DimsAsStudent
C.DimsAsTypeStudent
D.DimsAsType
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)$=“VisualBassicProgramming”
B)$=“Quick”e$=b$&UCase(Mid$(a$,7,6))&Right$(a$,12)
A.VisualBasicProgramming B.QuickBasicprogramming
C.QuickBasicProgramming D.QuickBasicProgramming
(17)在窗体上画一个文本框(其名称为Textl)和一个标签(其名称为Labell),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容,以下可以实现上述操作的事件过程是( )。
A.PrivateSubTextl_Click()
B.PrivateSubText1_Change()
Labell.Caption=Textl.TextLabell.Caption=Textl.TextEndSubEndSub
C.PrivateSubLabell_Ctrange()
D.PrivateSubLabell_Click()
Labell.Caption=Textl.TextLabell.Caption=Textl.Text
EndSubEndSub
(18)在窗体上面画一个命令按钮和一个标签,其名称分别为Commandl和Labell,然后编写如下事件过程:
PrivateSubCommandl_Click()
Counter=0
Fori=1To4
Forj=6To1Step-2
Counter=Counter+1
Nextj
Nexti
Labell.Caption=Str(Counter)
EndSub
程序运行后,单击命令按钮,标签中显示的内容是
A.11 B.12 C.16 D.20
(19)在窗体上画一个名称为Text1的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:
PrivateCommandl_Click()
DimiAsInteger,nAsInteger
Fori=0To50
i=i+3
n=n+1
Ifi>10ThenExitFor
Next
Textl.Text=Str(n)
EndSub
程序运行后,单击命命令按钮,在文本框中显示的值是( )。
A.5 B.4 C.3 D.2
(20)在窗体上画一个命令按钮和两个标签,真名和分别为Commandl、Labell和Labe12,然后编写如下事件过程:
PrivateSubCommandl_Chick.
A)=0
Fori=1To10
a=a+1
b=0
Forj=1To10
a=a+1
b=b+2
Nextj
Nexti
Labell.Caption=Str(a)
Labe12.Caption=Str(
B.
EndSub
程序运行后,单击命令按钮,在标签Labell和Labe12中显示的内容分别为( )。
A.10和20 B.20和110 C.200和110 D.110和20
(21)在窗体上画一个名称为Listl的列表框,一个名称为Labell的标签,列表框中显示若干城市的名称。
当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。
下列能正确实现上述操作的程序是( )。
A.PrivaleSubListl_Click()
B.PrivateSubListl_Click()
Labell.Caption=Listl.ListIndexLabell.Name=Listl.ListIndex
Listl.RemoveltemListl.TextListl.RemoveItemListl.Text
EndSubEndSub
C.PrivateSubListl_Click()
D.PrivateSubListl_Click()
Labell.Caption=Listl.TextLabell.Name=Listl.Text
Listl.RemovItemListl.ListIndexListl.RemoveItemListl.ListIndex
EndSubEndSub
(22)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:
PrivateSubCommandlClick()
DimiAsInteger,jAsInteger
Dima(10,10)AsInteger
Fori=1To3
Forj=iTo3
a(i,j)=(i-1)*3+j
Printa(i,j);
Nextj
Print
Nexti
EndSub
程序运行后,单击命令按钮,窗体上显示的是( )。
A.
1
2
3
B.
1
2
3
C.
1
2
3
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,然后编写如下代码:
OptionBase0
PrivateSubCommand1_Click()
D)imA(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.0 B.2 C.3 D.4
(24)有以下程序:
OptionBase1
D)imarr()AsInteger
PrivateSubForm_Click()
D)imiAsInteger,jAsInteger
ReDimarr(3,2)
Fori=1To3
Forj=1To2
arr(i,j)=i*2+j
Nextj
Nexti
ReDimPreservearr(1,4)
Forj=3To4
A)rr(3,j)=j+9
Nextj
Printarr(3,2);arr(3,4)
EndSub
程序运行后,单击窗体,输出结果为( )。
A.813 B.013 C.712 D.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()
D.ima(1To4)AsInteger
A)
(1)=5
A)
(2)=6
A)(3)=7
A)(4)=8
subpa()
Fori=1To4
Printa(i)
Nexti
EndSub
运行上面的程序,单击命令按钮,输出结果为( )。
A.2468 B.5678 C.10121416 D.出错
(27)设有如下通用过程:
PublicFunctionFun(xStrAsString)
D.imtStrAsString,srtLAsIntegertStr+””
strL=Len(xStr)
i=1
D.oWhilei<=strL/2
tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)
i=i+1
Loop
Fun=tStr
EndFunction
在窗体上画一个名称为Textl的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:
PrivateSubCommand1_Click()
DimS1AsString
S1=”abcdef”
Text1.Text=UCase(Fun(S1))
EndSub
程序运行后,单击命令按钮,则Text1中显示的是( )。
A.ABCDEF B.abcdef C.AFBECD D.DEFABC
(28)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
PrivateSubTxtA_KeyPress(KeyAsciiAsInteger)
……
EndSub
假定焦点已经位一地文本框中,则能够触发KeyPress事件的操作是
A.单击鼠标 B.双击文本框 C.鼠标滑过文本框 D.按下键盘上的某个键
(29)在窗体上画一个命令按钮和两上文体,其名称分别为Command1、Text1和Text2,然后编写如下程序:
D)imS1AsString,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中显示的内容分别为( )。
A.abc和ABC B.abc和abc C.ABC和abc D.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.ExecutableFiles(*.ext)
D.不确定
(32)以下叙述错误的是
A.一个工程中可以包含多个窗体文件
B.在一个窗体文件中用Public定义的通用过程不能被其他窗体调用
C.窗体和标准模块需要分别保存为不同类型的磁盘文件
D.?
用Dim定义的窗体层变量只能在该窗体中使用
33?
以下叙述中错误的是()
A.语句“Dima,bAsInteger”声明了两个整型变量
B.不能在标准模块中定义Static型变量
C.窗体层变量必须先声明,后使用
D.在事件过程或通用过程内定义的变量是局部变量
34?
设有语句:
Open"d:
\Text.txt"ForOutputAs#1,以下叙述中错误的是()
A.若d盘根目录下无Text.txt文件,则该语句创建此文件
B.用该语句建立的文件的文件号为1
C.该语句打开d盘根目录下一个已存在的文件Text.txt,之后就可以从文件中读取信息
D.执行该语句后,就可以通过Print#语句向文件Text.txt中写入信息
35?
以下叙述中错误的是()
A.顺序文件中的数据只能按顺序读写
B.对同一个文件,可以用不同的方式和不同的文件号打开
C.执行Close语句,可将文件缓冲区中的数据写到文件中
D.随机文件中各记录的长度是随机的
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
1?
下列软件系统结构图的宽度为【1】。
2?
【2】的任务是诊断和改正程序中的错误。
3?
一个关系表的行称为【3】。
4?
按“先进后出”原则组织数据的数据结构是【4】。
5?
数据结构分为线性结构和非线性结构,带链的队列属于【5】。
6?
描述"X是小于100的非负整数"的VisualBasic表达式是【6】。
7?
在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。
程序运行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮Command1变为可用。
请填空。
PrivateSubForm_Load()
C)Ommand1?
Enabled=False
EndSub
PrivateSubText1_【7】()
C)ommand1?
Enabled=True
EndSub
8?
在窗体上画一个名称为"Command1"的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
D)ImaAsString
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()
D)imiAsInteger,jAsInteger
D)imA(1To100)AsInteger
D)imB(1To10,1To10)AsInteger
Fori=1To100
A)(i)=Int(Rnd*100)
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="已成功添加新输入项。
"
C)ombo1?
【13】Combo1?
Text
EndIf
EndSub
11?
在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写如下事件过程:
PrivateSubCommand1_Click()
D)iminDataAsString
Text1?
Text=""
OPen"d:
||ML)||Myfile?
txt"for【14】As#1
D)oWhile【15】