计算机二级VB笔试试题及答案.docx
《计算机二级VB笔试试题及答案.docx》由会员分享,可在线阅读,更多相关《计算机二级VB笔试试题及答案.docx(16页珍藏版)》请在冰豆网上搜索。
计算机二级VB笔试试题及答案
2010年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)记录长度 B)文件的大小
C)联系的复杂程度 D)数据之间的联系方式
(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是______。
A)一对一 B)一对多 C)多对多 D)多对一
(9)数据库设计中反映用户对数据要求的模式是______。
A)内模式B)概念模式 C)外模式 D)设计模式
(10)有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是______。
A)自然连接 B)交 C)投影 D)并
(11)在VisualBasic集成环境中,要添加一个窗体,可以单击工具栏上的一个按钮,这个按钮是______。
A)
B)
C)
D)
(12)在VisualBasic集成环境的设计模式下,用鼠标双击窗体上的某个控件打开的窗口是
A)工程资源管理器窗口B)属性窗口
C)工具箱窗口 D)代码窗口
(13)下列叙述中错误的是______。
A)列表框与组合框都有List属性
B)列表框有Selected属性,而组合框没有
C)列表框和组合框都有Style属性
D)组合框有Text属性、而列表框没有
(14)设窗体上有一个命令按钮数组,能够区分数组中各个按钮的属性是______。
A)Name B)Index C)Caption D)Left
(15)滚动条可以响应的事件是______。
A)Load B)Scroll C)Click D)MouseDown
(16)设a=5,b=6,c=7,d=8,执行语句X=Ilf((a>b)And(c>d),10,20)后,x的值是______。
A)10 B)20 C)30 D)200
(17)语句PrintSgn(-6^2)+Abs(-6^2)+Int(-6^2)的输出结果是______。
A)-36 B)1 C)-1 D)-72
(18)在窗体上画一个图片框,在图片框中画一个命令按钮,位置如图A.1所示。
则命令按钮的Top属性值是______。
A)200 B)300 C)500 D)700
(19)在窗体上画一个名称为Commandl的命令按钮。
单击命令按钮时执行如下事件过程:
PrivateSubCommand1_Click()
a$="softwareandhardware"
b$=Right(a$,8)
c$=Mid(a$,1,8)
MsgBoxa$,,b$,c$,1
EndSub
则在弹出的信息框标题栏中显示的标题是______。
A)softwareandhardware B)hardware C)software D)1
B)PrivateSubLabel1_Change()
Label1.Caption=Text1.Text
EndSub
D)PrivateSubLabel1_Click()
Label1.Caption=Text1.Text
EndSub
(20)在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,如果在文本框中输入文本,则标签中立即显示相同的内容。
以下可以实现上述操作的事件过程是______。
A)PrivateSubText1_Change()
Label1.Caption=Text1.Text
EndSub
C)PrivateSubText1_Click()
Label1.Caption=Text1.Text
EndSub
(21)以下说法中错误的是______。
A)如果把一个命令按钮的Default属性设置为True,则按回车键与单击该命令按钮的作用相同
B)可以用多个命令按钮组成命令按钮数组
C)命令按钮只能识别单击(Click)事件
D)通过设置命令按钮的Enabled属性,可以使该命令按钮有效或禁用
(22)以下关于局部变量的叙述中错误的是______。
A)在过程中用Dim语句或Static语句声明的变量是局部变量
B)局部变量的作用域是它所在的过程
C)在过程中用Static语句声明的变量是静态局部变量
D)过程执行完毕,该过程中用Dim或Static语句声明的变量即被释放
(23)以下程序段的输出结果是______。
x=1
y=4
DoUntily>4
x=x*y
y=y+1
Loop
Printx
A)1 B)4 C)8 D)20
(24)如果执行一个语句后弹出如图A.2所示的窗口,则这个语句是______。
图A.2第24题运行界面
A)InputBox("输入框","请输入VB数据")
B)x=InputBox("输入框","请输入VB数据")
C)InputBox("请输入VB数据","输入框")
D)x=InputBox("请输入VB数据","输入框")
(25)有如下事件过程:
PrivateSubFormClick()
DimnAsInteger
x=0
n=InputBox("请输入一个整数")
Fori=1Ton
Forj=1Toi
x=x+1
Nextj
Nexti
Printx
EndSub
程序运行后,单击窗体,如果在输入对话框中输入5,则在窗体上显示的内容是______。
A)13 B)14 C)15 D)16
(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)Fibonacci数列的规律是:
前2个数为1,从第3个数开始,每个数是它前2个数之和,即:
1,1,2,3,5,8,13,21,34,55,89,…。
某人编写了下面的函数,判断大于1的整数x是否是Fibonacci数列中的某个数,若是,则返回True,否则返回False。
FunctionIsfab(xAsInteger)AsBoolean
DimaAsInteger,bAsInteger,cAsInteger,flagAsBoolean
flag=False
a=1:
b=1
DoWhilex
c=a+b
a=b
b=c
Ifx=bThenflag=True
Loop
Isfab=flag
EndFunction
测试时发现对于所有正整数x,函数都返回False,程序需要修改。
下面的修改方案中正确的是______。
A)把a=b与b=c的位置互换
B)把c=a+b移到b=c之后
C)把DoWhilex<b改为DoWhilex>b
D)把ifx=bThen flag=True改为Ifx=aThen flag=True
(28)在窗体上画一个命令按钮,其名称为Commandl,然后编写如下事件过程:
PrivateSubCommand1_Click()
Dima$,b$,c$,k%
a="ABCD"
b="123456"
c=""
k=1
DoWhilek<=Len(a)Ork<=Len(b)
Ifk<=Len(a)Then
c=c&Mid(a,k,1)
EndIf
Ifk<=Len(b)Then
c=c&Mid(b,k,1)
EndIf
k=k+1
Loop
Printc
EndSub
运行程序,单击命令按钮,输出结果是______。
A)123456ABCD B)ABCD123456 C)D6C5B4A321 D)AlB2C3D456
(29)请阅读程序:
PrivateSubForm_Click()
m=1
Fori=4To1Step-1
PrintStr(m);
m=m+1
Forj=1Toi
Print"*";
Nextj
Print
Nexti
EndSub
程序运行后,单击窗体,则输出结果是______。
A)1**** B)4**** C)**** D)*
2*** 3*** *** **
3** 2** ** ***
4* 1* * ****
(30)在窗体上画一个命令按钮(其名称为Commandl),然后编写如下代码:
PrivateSubCommand1_Click()
Dima
a=Array(1,2,3,4)
i=3:
j=1
DoWhilei>=0
s=s+a(i)*j
i=i-1
j=j*10
Loop
Prints
EndSub
运行上面的程序,单击命令按钮,则输出结果是______。
A)4321 B)123 C)234 D)1234
(31)下列可以打开随机文件的语句是______。
A)Open"filel.dat"Forlnpu'tAs#1
B)Open”filel.dat"ForAppendAs#1
C)Open”file1.dat"ForOutputAs#1
D)Open”file1.dat"ForRandomAs#1Len=20
(32)有弹出式菜单的结构如表所示,程序运行时,单击窗体则弹出如图A.3所示的菜单。
下面的事件过程中能正确实现这一功能的是______。
内缩
标题
名称
无
编辑
edit
…
剪切
cut
…
粘贴
paste
图A.3第32题界面
B)PrivateSubCommandlClick()
PopupMenuedit
EndSub
D)PrivateSubForm_lick()
PopupMenucut
PopupMenupaste
EndSub
A)PrivateSubForm_Click()
PopupMenucut
EndSub
C)PrivateSubForm_Click()
PopupMenuedit
EndSub
(33)请阅读程序:
OptionBase1
PrivateSubForm_Click()
DimArr(4,4)AsInteger
Fori=1To4
Forj=1To4
Arr(i,j)=(i-1)*2+j
Nextj
Nexti
Fori=3To4
Forj=3To4
PrintArr(j,i);
Nextj
Print
Nexti
EndSub
程序运行后,单击窗体,则输出结果是______。
A)57 B)68 C)79 D)810
68 79 810 811
(34)下面函数的功能应该是:
删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。
例如:
若str="ABCDABCD",ch="B",则函数的返回值为:
"ACDACD"
Functiondelchar(strAsString,chAsString)AsString
DimkAsInteger,tempAsString,retAsString
ret=""
Fork=1ToLen(str)
temp=Mid(str,k,1)
Iftemp=chThen
ret=ret&temp
EndIf
Nextk
delchar=ret
EndFunction
但实际上函数有错误,需要修改。
下面的修改方案中正确的是
A)把ret=ret&temp改为ret=temp
B)把Iftemp=chThen改为Iftemp<>chThen
C)把delchar=ret改为delchar=temp
D)把ret=""改为temp=""
(35)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、TextI和Text2,在属性窗口中把窗体的KeyPreview属性设置为True,然后编写如下程序:
DimS1AsString,S2AsString
PrivateSubForm_Load()
Text1.Text=""
Text2.Text=""
Text1.Enabled=False
Text2.Enabled=False
EndSub
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
S2=S2&Chr(KeyCode)
EndSub
PrivateSubForm_KeyPress(KeyAsciiAsInteger)
S1=S1&Chr(KeyAscii)
EndSub
PrivateSubCommand1_Click()
Text1.Text=S1
Text2.Text=S2
S1=""
S2=""
EndSub
程序运行后,先后按“a”、“b”、“c”键,然后单击命令按钮,在文本框Textl和Text2中显示的内容分别为
A)abc和ABC B)空白C)ABC和abc D)出错
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
(1)一个栈的初始状态为空。
首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】。
(2)在长度为n的线性表中,寻找最大项至少需要比较【2】次。
(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有【3】个结点。
(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。
(5)数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计和【5】。
(6)窗体上有一个名称为Combo1的组合框,其初始内容为空,有一个名称为Command1、标题为“添加项目”的命令按钮。
程序运行后,如果单击命令按钮,会将给定数组中的项目添加到组合框中,如图A.4所示。
请填空。
图A.4第(6)题界面
OptionBase1
PrivateSubCommand1_Click()
DimcityAsVariant
city=【6】("北京","天津","上海","武汉","重庆","西宁")
Fori=【7】ToUBound(city)
Combo1.Addltem【8】
Next
EndSub
(7)窗体上有一个名称为Text1的文本框和一个名称为Commandl、标题为“计算”的命令按钮,如图A.5所示。
函数fun及命令按钮的单击事件过程如下,请填空。
图A.5第(7)题界面
PrivateSubCommand1_Click()
DimxAsInteger
x=Val(InputBox("输入数据"))
Text1=Str(fun(x)+fun(x)+fun(x))
EndSub
PrivateFunctionfun(ByRefnAsInteger)
IfnMod3=0Then
n=n+n
Else
n=n*n
EndIf
【9】=n
EndFunction
当单击命令按钮,在输入对话框中输入2时,文本框中显示的是_【10】_
(8)窗体上有一个名称为List1的列表框,一个名称为Picture1的图片框。
Form_Load事件过程的作用是,把Datal.txt文件中的物品名称添加到列表框中。
运行程序,当双击列表框中的物品名称时,可以把该物品对应的图片显示在图片框中如图所示。
以下是类型定义及程序,请填空。
图A.6第(8)题界面
PrivateTypePic
gNameAsString*10 ‘物品名称
picFileAsString*20 ‘物品图片的图片文件名
EndType
Dimp(4)AsPic,pRecAsPic
PrivateSubForm_Load()
Open"Datal.txt"ForRandomAs#1【11】=Len(pRec)
Fori=0To4
Get#1,i+l,P(i)
List1.AddItemp(i).gName
Nexti
Close#1
EndSub
PrivateSubList1_DbLCIick()
Fori=0To4
IfRTrim(List1.List(i))=RTrim(【12】)Then
Picturel.Picture=LoadPicture(p(i).【13】)
ExitFor
EndIf
Next
EndSub
(9)窗体上有一个名称为CD1的通用对话框。
通过菜单编辑器建立如图a)所示的菜单。
程序运行时,如果单击“打开”菜单项,则执行打开文件的操作,当选定了文件(例如:
E:
\VB\2010-9\in.txt)并打开后,该文件的文件名会被添加到菜单中,如图b)所示。
各菜单项的名称和标题等定义如下表。
标题
名称
内缩
索引
可见
文件
File
无
无
True
打开
mnuOpen
…
无
True
关闭
mnuClose
…
无
True
-
mnu
…
无
True
(空)
Fname
…
0
False
a)b)
图A.6第(9)题界面
以下是单击“打开”菜单项的事件过程,请填空。
DimmnuCounterAsInteger
PrivateSubmnuOpen_Click()
CD1.ShowOpen
IfCD1.FileName<>""Then
Open【14】ForInputAs1
mnuCounter=mnuCounter+1
LoadFname(mnuCounter)
Fname(mnuCou