全国计算机等级考试二级笔试样卷Visual Basic语言程序设计.docx
《全国计算机等级考试二级笔试样卷Visual Basic语言程序设计.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级笔试样卷Visual Basic语言程序设计.docx(16页珍藏版)》请在冰豆网上搜索。
![全国计算机等级考试二级笔试样卷Visual Basic语言程序设计.docx](https://file1.bdocx.com/fileroot1/2023-1/26/ea3b473a-6d30-43ea-9fdc-4992180f5d5e/ea3b473a-6d30-43ea-9fdc-4992180f5d5e1.gif)
全国计算机等级考试二级笔试样卷VisualBasic语言程序设计
【试题选登】
全国计算机等级考试二级笔试样卷VisualBasic语言程序设计
【打印】【字体:
大中小】【关闭】
选择题(每小题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)设有如下三个关系表
R
S
T
A
B
C
A
B
C
m
1
3
m
1
3
n
n
1
3
下列操作中正确的是
A)T=R∩SB)T=R∪S
C)T=R×SD)T=R/S
(7)下列叙述中正确的是
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对
(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
A)63B)64C)6D)7
(9)数据库技术的根本目标是要解决数据的
A)存储问题B)共享问题C)安全问题D)保护问题
(10)对下列二叉树
进行中序遍历的结果是
A)ACBDFEGB)ACBDFGEC)ABDCGEFD)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)1C)TrueD)False
(14)设有如下的用户定义类型:
TypeStudent
numberAsString
nameAsString
ageAsInteger
EndType
则以下正确引用该类型成员的代码是
A)Student.name="李明"B)DimsAsStudent
s.name="李明"
C)DimsAsTypeStudentD)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)10B)20C)TrueD)False
(16)执行以下程序段后,变量c$的值为
a$="VisualBasicProgramming"
b$="Quick"
c$=b$&UCase(Mid$(a$,7,6))&Right$(a$,12)
A)VisualBASICProgrammingB)QuickBasicProgramming
C)QUICKBasicProgrammingD)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)12C)16D)20
(19)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=0To50
i=i+3
n=n+1
Ifi>10ThenExitFor
Next
Text1.Text=Str(n)
EndSub
程序运行后,单击命令按钮,在文本框中显示的值是
A)5B)4C)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)
Label2.Caption=Str(b)
EndSub
程序运行后,单击命令按钮,在标签Label1和Label2中显示的内容分别是
A)10和20B)20和110C)200和110D)110和20
(21)在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干城市的名称。
当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。
下列能正确实现上述操作的程序是
A)PrivateSubList1_Click()B)PrivateSubList1_Click()
Label1.Caption=List1.ListIndexLabel1.Name=List1.ListIndex
List1.RemoveItemList1.TextList1.RemoveItemList1.Text
EndSubEndSub
C)PrivateSubList1_Click()D)PrivateSubList1_Click()
Label1.Caption=List1.TextLabel1.Name=List1.Text
List1.RemoveItemList1.ListIndexList1.RemoveItemList1.ListIndex
EndSubEndSub
(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
PrivateSubCommand1_Click()
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)
123
B)
234
C)
147
D)
123
246
345
258
456
369
456
369
789
(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)2C)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
Nextj
Printarr(3,2);arr(3,4)
EndSub
程序运行后,单击窗体,输出结果为
A)813B)013C)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)
2
B)
5
C)
10
D)
出错
4
6
12
6
7
14
8
8
16
(27)设有如下通用过程:
PublicFunctionFun(xStrAsString)AsString
DimtStrAsString,strLAsInteger
tStr=""
strL=Len(xStr)
i=1
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)abcdefC)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中显示的内容分别为
A)abc和ABCB)abc和abcC)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)ExecutableFiles(*.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】~【15】序号的横线上,答在试卷上不得分。
(1)下列软件系统结构图
的宽度为【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)
Nexti
Fori=1To【9】
Forj=1To【10】
B(i,j)=【11】
PrintB(i,j);
Nextj
Print
Nexti
EndSub
(10)在窗体上画一个名称为Combo1的组合框,然后画两个名称分别为Label1、Label2,标题分别为“城市名称”和空白的标签。
程序运行后,在组合框中输入一个新项目并按回车键,如果输入的项目在组合框的列表中不存在,则自动将其添加到组合框的列表中,并在Label2中给出提示“已成功添加新输入项。
”,如图所示。
如果输入的项目已存在,则在Label2中给出提示“输入项已在组合框中。
”。
请填空。
PrivateSubCombo1_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,然后编写如下事件过程:
PrivateSubCommand1_Click()
DiminDataAsString
Text1.Text=""
Open"d:
\myfile.txt"For【14】As#1
DoWhile【15】
Input#1,inData
Text1.Text=Text1.Text+inData
Loop
Close#1
EndSub
程序的功能是,打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。
请填空。