全国计算机等级考试二级VB真题(2005-2011)

全国计算机等级考试二级VB真题(2005-2011)

ID:83018261

大小:489.15 KB

页数:99页

时间:2023-09-19

上传者:灯火阑珊2019
全国计算机等级考试二级VB真题(2005-2011)_第1页
全国计算机等级考试二级VB真题(2005-2011)_第2页
全国计算机等级考试二级VB真题(2005-2011)_第3页
全国计算机等级考试二级VB真题(2005-2011)_第4页
全国计算机等级考试二级VB真题(2005-2011)_第5页
全国计算机等级考试二级VB真题(2005-2011)_第6页
全国计算机等级考试二级VB真题(2005-2011)_第7页
全国计算机等级考试二级VB真题(2005-2011)_第8页
全国计算机等级考试二级VB真题(2005-2011)_第9页
全国计算机等级考试二级VB真题(2005-2011)_第10页
资源描述:

《全国计算机等级考试二级VB真题(2005-2011)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

2005年4月全国计算机等级考试二级VB笔试试卷一、选择题((1)-(35)每小题2分,共70分)(1)数据的存储结构是指A)存储在外存中的数据B)C)数据在计算机中的顺序存储方式D)(2)下列关于栈的描述中错误的是A)栈是先进后出的线性表B)C)栈具有记忆作用D)数据所占的存储空间量数据的逻辑结构在计算机中的表示栈只能顺序存储对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是A)冒泡排序为n/2B)冒泡排序为nC)快速排序为nD)快速排序为n(n-D/2(4)对了长度为n的线性表进行顺序查找,在最坏情况下所需耍的比较次数为D)n+1A)log2nB)n/2C)n(5)下列对于线性链表的描述中正确的是A)存储空间不•定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确C)软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则(7)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)卜.列描述中正确的是A)程序就是软件C)软件既是逻辑实体,又是物理实体软件是程序、数据与相关文档的集合不同的数据只能被对应的应用程序所使用以上三种说法都不对D)以上三个都是B)软件开发不受计算机系统的限制D)(9)数据独立性是数据库技术的重耍特点之一。所谓数据独立性是指A)数据与程序独立存放C)B)不同的数据被存放在不同的文件中D)(10)用树形结构表示实体之间联系的模型是A)关系模型B)网状模型C)层次模型(11)在窗体(名称为Forml)上画一个名称为Tbxtl的文本框和一个名称为Commandl的命令按钮,然后编写•个事件过程。程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是:B)PrivateSubCommandl_Click()Caption』'计算机等级考试”EndSubD)PrivateSubCommandl_Click()Textl.lbxt="计宣机等级考试”EndSubAndb<>cOrc>dC)FalseD)2A)PrivateSublextl_Change()Commandl.Caption="计算机等级考试”EndSubC)PrivateSubForml_Click()TextLCaption="计算机等级考试”EndSub(12)设a=5,b=4,c=3,d=2,下列表达式的值是3>2*bOrA)1B)True(13)设a="MicrosoftVisualBasic",则以下使变量b的值为“VisualBasic”的语句是A)b=Left(a,10)B)b=Mid(a,10)C)b=Right(a,10)D)b=Mid(a,ll,10)(14)假定有如下的窗体事件过程,程序运行后单击窗体,则在弹出的信息框中的标题栏中显示的信息是:PrivateSubForm_Click()a$="MicrosoftVisualBasic"b$=Righl(a$,5)c=Mid(a$,1,9)MsgBoxa$,34,b$,c$,5EndSubA)MicrosoftVisualB)MicrosoftC)BasicD)5

1(15)设a="a",b="b",c="c",d="d",执行语句x=IIf((a

2C)SubMain过程或其他任何模块D)SubMain过程或任何窗体(25)假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是A)数组中每个命令按钮的名称(名称属性)均为Command1B)数组中每个命令按钮的标题(Caption属性)都一样C)数组中所有命令按钮可以使用同•个过程D)用名称Command"下标)可以访问数组中的每个命令按钮(26)把窗体的KeyPreview属性设置为True,然后编写如卜,事件过程:PrivateSubForm_KeyPress(KeyAsciiAsInteger)DimchAsStringch=Chr(KeyAscii)KeyAscii=Asc(UCase(ch))PrintChr(KeyAscii+2)EndSub程序运行后,按键盘上的“A”键,则在窗体上显示的内容是A)AB)BC)CD)D(27)在窗体上画一个命令按钮和一个文本框,名称分别为Command1和Tbxtl,然后编写如卜.程序:PrivateSubCommand1_Click()a=InputBox("请葡入日期(1~31)")t="旅游景点:"&IIf(a>0Anda<=10,"长城&IIf(a>10Anda<=20,"故宫&nf(a>20Anda<=30J颐和园"J")Text1.Text=tEndSub程序运行后,如果从键盘输入16,则在文本框中显示的内容是:A)旅游景点:长城故宫B)旅游景点:长城颐和园C)旅游景点:颐和园D)旅游景点:故宫程序运行后,单击窗体,在标签中显示的内容是(28)在窗体上画一个名称为Labell的标签,然后编写如下事件过程,PrivateSubForm_Click()Dimarr(10,10)AsIntegerDimiAsInteger,jAsIntegerFori=2lb4Forj=2lb4arr(i,j)=i*jNextjNextiD)15(30)阅读程序:OptionBase1Dimarr()AsIntegerPrivateSubForm_Click()DimiAsInteger,jAsIntegerReDimarr(3,2)Fori=1lb3Forj=1lb2arr(ij)=i*2+jNextjNextiReDimPreservearr(3,4)Forj=3lb4arr(3,j)=j+9NextjPrintarr(3,2)+arr(3,4)EndSub程序运行后,单击窗体,输出结果为:A)21B)13C)8D)25Labe11.Caption=Str(arr(2,2)+arr(3»3))EndSubA)12B)13C)14(29)在窗体上画一个名称为Comamndl的命令按钮,然后编写如下通用过程和命令按钮的事件过程:PrivateFunctionfun(ByValmAsInteger)IfmMod2=0Thenfun=2Elsefun=1EndIfEndFunctionPrivateSubCommandl_Click()DimiAsInteger,sAsIntegers=0Fori=1lb5s=s+fun(i)NextPrintsEndSub程序运行后,单击命令按钮,则窗体上显示的是:A)6B)7C)8D)931)在窗体上画•个名称为Command1的命令按钮,然后编写如下程序:OptionBase1PrivateSubCommandI_Click()DimcAsInteger,dAsIntegerd=0:c=6x=Array(2,4,6,8,10,12)Fori=11b6Ifx(i)>cThend=d+x(i):c=x(i)Elsed=d-cEndIfNextiPrintdEndSub程序运行后,如果单击命令按钮,则在窗体上输入的内容为A)10B)16C)12D)20(32)设有如下程序:PrivateSubCommandl_Click()DimcAsInteger,dAsIntegerc=4d=InputBox("请输入一个整数")DoWhiled>0Ifd>cThenc=c+1EndIfd=InputBox。'请输入一个整数”)LoopPrintc+dEndSub

3程序运行后,单击命令按钮如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、0,则输出结果是:A)12B)11C)10D)9(33)在窗体上画一个名称为Command1的命令按钮和一个名称为生xtl的文本框,在文本框中输入以下字符串:MicrosoftVisualBasicProgramming,然后编写如卜事件过程:PrivateSubCommandl_Click()Open"d:\temp\outf.txt"ForOutputAs#1Fori=1TbLen(Textl.lext)c=Mid(lextl.Text,i,1)Ifc>=MAHAndc<=MZ"ThenPrint#1,LCase(c);EndIfNextiCloseEndSub程序运行后,单击命令按钮,文件outf.txt中的内容是:A)MVBPB)mvbpC)MD)mVvBbPP(34)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:DimSWAsBooleanFunctionfunc(XAsInteger)AsIntegerIfX<20ThenY=XElseY=20+XEndIffunc=YEndFunctionPrivateSubCommandl_Click()DimintNumAsIntegerintNum=InputBox(,M,)IfSWThenPrintfunc(intNum)EndIfEndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SW=FalseEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SW=TrueEndSub程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入25,则程序的执行结果是:A)输出0B)输出25C)输出45D)无任何输出(35)设有如下通用过程:PublicSubfun(a()AsInteger,xAsInteger)Fori=1Tb5x=x+a(i)NextEndSub在窗体上画一个名称为Tbxtl的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()Dimarr(5)AsInteger,nAsIntegerFori=1lb5arr(i)=i+iNextfunarr,nText1.Text=Str(n)EndSub程序运行后,单击命令按钮,则在文本框中显示的内容是A)30B)25C)20D)15二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡[1】〜【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。(1)某二叉树中度为2的结点有18个,则该二树中有【1】个叶子结点。(2)在面向对象方法中,类的实例称为【2】o(3)诊断和改正程序中错误的工作通常称为【3】o(4)在关系数据库中,把数据表示成二维表,每一个二维表称为【4】o(5)问题处理方案的正确而完整的描述称为【5】o(6)以下语句PrintIm(12345.6789*104。5)/100的输出结果是:【6】(7)在窗体上画一个文本框和一个图片框,然后编写如卜.两个事件过程:

4PrivateSubForm_Click()Text1.Text=”VB程序设计”EndSubPrivateSublextl_Change()PictureI.Print"VBProgramming'1EndSub程序运行后,单击窗体,在文本框中显示的内容是【7],而在图片框中显示的内容是[8】(8)阅读卜.面的程序,程序运行后,单击窗体,输出结果是[9】PrivateSubForm_Click()DimCheckAsBoolean,CounterAsIntegerCheck=TrueCounter=5DoDoWhileCounter<20Counter=Counter+1IfCounter=10ThenCheck=FalseExitDoEndIfLoopLoopUntilCheck=FalsePrintCounterEndSub(9)设有如下程序:PrivateSubForm_Click()DimaAsInteger,sAsIntegern=8s=0Do

5n=n-1LoopWhilen>0PrintsEndSub以上程序的功能是【10】,程序运行后,单击窗体,输出结果为【11】(10)设有如下程序:OptionBase1PrivateSubCommand1_Click()DimarrlDimMinAsInteger,iAsIntegerarrl=Array(12,435,76,-24,78,54,866,43)Min=[12]Fori=2Tb8Ifarrl(i)

62005年9月全国计算机等级考试二级VB笔试试卷一、选择题(每小题2分,共70分)下列各题A)、B)、C),D)四个选项中,试卷上不得分。(1)下列叙述中正确的是A)程序设计就是编制程序C)程序经调试改错后还应进行再测试只有一个选项是正确的。请将正确选项填涂在答题卡相应位置匕答在B)程序的测试必须由程序员自己去完成D)程序经调试改错后不必进行再测试(2)卜列数据结构中,能用:分法进行在找的是A)顺序存储的有序线性表(3)下列关于栈的描述正确的是B)线性链表C)二叉链表D)有序线性链表A)B)C)D)在栈中只能插入元素而不能删除元素在栈中只能删除元素而不能插入元素栈是特殊的线性表,只能在一端插入或删除元素栈是特殊的线性表,只能在•端插入元素,而在另端删除元素(4)下列叙述中正确的是A)B)C)D)一个逻辑数据结构只能有一种存储结构数据的逻辑结构属于线性结构,存储结构属于非线性结构一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是A)B)C)D)软件工程只是解决软件项目的管理问题软件工程主:要解决软件产品的生产率问题软件工程的主要思想是强调在软件开发过程中需要应用工程化原则软件.1:程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是A)PDL(过程设计语言)B)PAD图C)N-S图D)DFD图(7)卜.列叙述中正确的是A)软件交付使用后还需要进行维护C)软件交付使用后其生命周期就结束(8)数据库设计的根本目标是耍解决B)软件一旦交付使用就不需要再进行维护D)软件维护是指修复程序中被破坏的指令D)简化数据维护A)数据共享问题B)数据安全问题C)大鼠数据存储问题A)T=RnsB)T=RUST=RxS(10)数据库系统的核心是D)T=R/SA)数据模型B)数据库管理系统C)数据库D)数据库管理员(11)假定一个VisualBasic应用程序由一个窗体模块和一个标准模块构成。为保存该应用程序,以卜.正确的操作是A)只保存窗体模块文件B)分别保存窗体模块、标准模块和工程文件(12)为了清除窗体上的一个控件,下列正确的操作是C)只保存窗体模块和标准模块文件D)只保存工程文件A)按回车键B)按Esc键(13)以下叙述中错误的是C)选择(单击)要清除的控件,然后按Del键D)选择(单击)耍清除的控件,然后按回车键A)B)C)D)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件当程序运行时,双击•个窗体,则触发该窗体的DblClick事件VisualBasic应用程序只能以解释方式执行事件可以由用户引发,也可以由系统引发(14)设a=2,b=3,c=4,d=5,卜,列表达式Nota<=cOr4*c=bA2Andboa+c的值是A)-1B)1(15)设a=5,b=10,则执行cC)TrueIht((b-a)*Rnd+a)D)False+1后,c值的范围为

7A)5〜10B)6〜9C)6〜10D)5〜9(16)在窗体上画一个命令按钮,名称为Commandl,然后编写如下事件过程:PrivateSubCommand1Click()a$="softwareandhardware"b$=Right(a$,8)c$=Mid(a$,1,8)MsgBoxa$,,b$,c$,1EndSub运行程序,单击命令按钮,则在弹出的信息框的标题栏中显示的是A)softwareandhardwareB)softwareC)hardwareD)1(17)在窗体上画一个命令按钮和一个文本框,其名称分别为Commandl和血xtl,把文本框的Ext属性设置为空白,然后编写如下事件过程:PrivateSubCommand1_Click()a=InputBox("Enteraninteger1')b=InputBox(MEnteraninteger")Text1.Text=b+aEndSub程序运行后,单击命令按钮,如果在输入对话框中分别输入8和10,则文本框中显示的内容是A)108B)18C)810D)出错(18)在窗体上画两个文本框,其名称分别为Textl和Text2,然后编写如下程序:PrivateSubFormLoad()ShowTextl.Text="":Text2.1ext=Textl.SeFocusEndSubPrivateSubTextlChangeOText2.7ext=Mid(lextl.Text,8)EndSub程序运行后,如果在文本框Tbxtl中输入BeijingChina,则在文本框论xl2中显示的内容是A)BeijingChinaB)ChinaC)BeijingD)BeijingC(19)在窗体上画一个列表框和一个命令按钮,其名称分别为Listl和Command],然后编写如下事件过程:PrivateSubFoimLoad()List1.Additem"Item1MListl.Additem"Item2"Listl.Additem"Item3"EndSubPrivateSubCommandl_Click()List1.List(List1.ListCount)="AAAA”EndSub程序运行后,单击命令按钮,其结果为A)把字符串“AAAA”添加到列表框中,但位置不能确定B)把字符串“AAAA”添加到列表框的最后(即“Item3”的后面)C)把列表框中原有的最后一项改为“AAAA”D)把字符串“AAAA”插入到列表框的最前面(即“hem1”的前面)(20)假定有如下事件过程:PrivateSubForm_Click()DimxAsInteger,nAsIntegerx=1n=0DoWhilex<28x=x*3n=n+1LoopPrhtx,nEndSub程序运行后,单击窗体,输出结果是A)814B)563C)281D)2435(21)有如下程序:PrivateSubFourClick()Dii)Check,CounterCheck=TrueCounter=0DoDoWhileCounter<20Counter=Counter+1IfCounter=10ThenCheck=FalseExitDoEndIfLoop

8LoopUntilCheck=FalsePrhtCountei;CheckEndSub程序运行后,单击窗体,输出结果为A)150B)20-1C)10TrueD)10False(22)有如下程序:PrivateSubFonnClick。DiniAsInteger;sumAsIntegersum=0Fori=2To10IfiMod2oOAndiMod3=0Thensum=sum+iEndIfNextiPrhtsumEndSub程序运行后,单击窗体,输出结果为A)12B)30C)24D)18(23)在窗体上画♦个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()Dinanayl(10,10)AsIntegerDiniAsInteger;jAsIntegerFori=1To3Forj=2lb4arrayl(i,j)=i+jNextjNextiTextl.Text=array1(2,3)+array1(3,4)EndSub程序运行后,单击命令按钮,在文本框中显示的值是A)12B)13C)14D)15(24)在窗体上画一个命令按钮,其名称为Commandl,然后编写如下事件过程:PrivateSubCommandlClick()Dimal(4,4),a2(4,4)Fori=1Tb4Forj=1lb4al(i,j)=i+ja2(i,j)=al(i,j)+i+jNextjNextiPrintaI(3,3);a2(3,3)EndSub程序运行后,单击命令按钮,在窗体上输出的是A)66B)105C)721D)612(25)有如下程序:0ptbnBase1PrivateSubFormClick()Dimarr,SumSum=0arr=Anay(1,3,5,7,9,11,13,15,17,19)Fori=1To10Ifarr(i)Z3=arr(i)\3ThenSum=Sum+arr(i)EndIfNextiPrritSumEndSub程序运行后,单击窗体,输出结果为A)25B)26027D)28(26)在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommandlClick()Dina6)AsStringFori=1To5a(i)=Chr(Asc(nAM)+(i-D)NextiForEachbInaPrintb;NextEndSub

9程序运行后,单击命令按钮,输出结果是A)ABCDEB)12345C)abcdeD)出错信息(27)以下关于函数过程的叙述中,正确的是A)如果不指明函数过程参数的类型,则该参数没有数据类型B)函数过程的返回值可以有多个C)当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递D)函数过程形参的类型与函数返回值的类型没有关系(28)函数过程F1的功能是:如果参数b为奇数,则返回值为1,否则返回值为0。以下能iE确实现上述功能的代码是:A)FunctionFl(bAsInteger)B)FunctionFl(bAsInteger)IfbMod2=0ThenIfbMod2=0ThenReturn0FI=0ElseElseReturn1Fl=1EndIfEndIfEndFunctionEndFunctionC)FunctionFl(bAsInteger)D)FunctionFl(bAsInteger)IfbMod2=0ThenIfbMod2<>0ThenFl=1Return0ElseElseFl=0Return1EndIfEndIfEndFunctbnEndFunctbn(29)以下关于KeyPress事件过程中参数KeyAscii的叙述中正确的是A)KeyAscii参数是所按犍的ASCII码B)KeyAscii参数的数据类型为字符串C)KeyAscii参数可以省略D)KeyAscii参数是所按键上标注的字符(30)设窗体上有一个名为Textl的文本框,并编写如下程序:PrivateSubFormLoad()ShowTextl.Text=Textl.SetFocusEndSubPrivateSubFonn_MouseUp(ButtonAsIntegerShiftAsInteger,XAsSingle,YAsSingle)Print"程序设讣’EndSubPrivateSubTextlKeyDown(KeyCodeAsInteger;ShiftAsInteger)Print"VisualBasic";EndSub程序运行后,如果在文本框中输入字母“a”,然后单击窗体,则在窗体上显示的内容是A)VisualBasicB)程序设计C)VisualBasic程序设计D)a程序设计(31)假定有卜表所列的菜单结构:标题名称层次显示appear1(主菜单)大图标bigicon2(子菜单)小图标smallicon2(子菜单)要求程序运行后,如果单击菜单项“大图标”,则在该菜单项前添加一个“一’.以卜正确的事件过程是A)PrivateSubbigicon_Click()B)PrivateSubbigicon_Click()bigicon.Checked=FalseMe.appeanbigicon.Checked=TiueEndSubEndSub

10C)PrivateSubbigicon_Click()bigicon.Checked=TrueEndSubD)PrivateSubbigicon_Click()appear.bigicon.Checked=TrueEndSub(32)假定通用对话框的名称为CommonDialogl,命令按钮的名称为Commandl,则单击命令按钮后,能使打开的对话框的标题为“NewFile”的事件过程是C)PrivateSubCommandl_Click()CommonDialog1.DialogTitle="NewTitle1'CommonI)iabgl.Show0penEndSubD)PrivateSubCommandl_Click()CommonDiabgl.DiabgTitle=*NewTitle*CommonDiabgl.ShowCobrEndSubA)PrivateSubCommand1_Click()CommonDiabgl.DiabgTitle=ewTitle”CommonDiabgl.ShowPriiterEndSubB)PrivateSubCommandl_Click()CommonDiabgl.DiabgTitle=*NewTitle”CommonDiabgl.ShowFontEndSub(33)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是A)任何时刻最多只有一个窗体是活动窗体B)不能把标准模块设置为启动模块C)用Hi加方法只是隐藏一个窗体,不能从内存中清除该窗体D)如果工程中含有SubMain过程,则程序•定首先执行该过程(34)假定在工程文件中有一个标准模块,其中定义了如下记录类型TypeBooksNameAsString*10TclNumAsString*20EndType要求当执行事件过程Commandl_Click时,在顺序文件Person.txt中写入•条记录。下列能够完成该操作的事件过程是C)PrivateSubCommandl_Click()DinBAsBooks0pen"cAPerson.txt"ForOutputAs#1Name=InputBox("输入姓名J)TeNum=InputBoxC输入电话号码”)Writettl,BCbse#lEndSubD)PrivateSubCommandl_Click()DinBAsBook0penAPerson.txt"ForInputAs#1Name=InputBoxC输入姓名")TeNum=InputBox("输入电话号码")Prht#l,B.Name,B.TelNumCbse#lEndSubC)显示根目录下的文件名D)显示指定路径下的文件A)PrivateSubCommand1_Click()DinBAsBooks0pen"cAPerson.txt"ForOutputAs#IB.Name=InputBoxC输入姓名”)B.TeNum=InputBoxC输入电话号码")Writettl,B.Name,B.TeNumCbse#lEndSubB)PrivateSubCommandl_Click()DinBAsBooks0pen"c:\Person.txt"ForInputAs#1B.Name=InputBoxC输入姓名")B.TeNum=InpulBoxC输入电话号码”)Prht#l,B.Name,B.TeMumCbse#1EndSub(35)目录列表框的Path属性的作用是A)显示当前驱动器或指定驱动器上的某目录下的文件名B)显示当前驱动器或指定驱动器上的目录结构二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【I】〜【15】序号的横线上,答在试卷上不得分。(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是[1】O<2)算法复杂度主要包括时间复杂度和【2】复杂度。(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【3】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(4)一棵二叉树第六层(根结点为第一层)的结点数最多为【4】个。(5)数据结构分为逻辑结构和存储结构,循环队列属于【5】结构。(6)设有以下函数过程:FunctbnRin

11序显示到lextlupo例如,若在Textl中输入的是abDfdb,则单击Command1按钮后lextl中显示的字符串是ZYXWVUTSRQPONMLKJIHGECo请填空。PrivateSubCommand1Click()DinstrAsString,sAsStrhg,cAsStrhgsir:UCase(Textl)s=**Whilec>=IfInStr(str,c)=0Thens=[7]EndIfc=Chr$(Asc(c)[8])WendIfsO"ThenTextl=sEndIfEndSub(8)在n个运动员中选出任意r个人参加比赛,有很多川种不同的选法,选法的个数可以用公式:—计算。rl(n-r)!卜.图窗体中3个文本框的名称依次是Textl>Text2.Text3»程序运行时在Ibxtl、Text2中分别输入n和r的值,单击Command1按钮即可求出选法的个数,并显示在Text3文本框中(见下图)。请填空。(9)以卜是一个比赛评分程序。在窗体上建立一个名为Textl的文本框数组,然后画一个名为Texl2的文本框和名为Commandl的命令按钮。运行时在文本框数组中输入7个分数,单击“计算得分”命令按钮,则最后得分显示在Text2文本框中(去掉一个最高分和一个最低分后的平均分即为最后得分),如图所示。请填空。PrivateSubCommandl_Click()DimrAsInteger,nAsIntegern=Text!r=Text2Text3=fun(n)/fun([9])/fun(r)EndSubFunctionfun(nAsInteger)aslongDintAsLong[10]Fork=1Tont=t*kNextfun=tEndFunctionPrivateSubCommand1Click()DimkAsIntegerDimsumAsSingle,maxAsSingle,minAsSinglesum=lextl(O)max=lextl(O)min=[11]Fork=[12]To6Ifmaxlextl(k)Thenmin=lextl(k)EndIfsum=sum+lextl(k)NextkText2=([13])/5EndSub(10)如图所示,在列表框Listl中已经有若干人的简单信息,运行时在Textl文本框(即“查找对象''右边的文本框)输入一个姓或姓名,单击“查找”按钮,则在列表框中进行查找,若找到,则把该人的信息显示在Text2文本框中.若有多个匹配的列表项,则只显示第1个匹配项;若未找到,则在Text2中显示“查无此人'请填空。

12,!□!x|查找对象:女男男男女女男男声借兵红成淮东方信克立张李马李陈刘郝黄«.ForalPrivateSubCommandlClick()DinkAsInteger,nAsInteger,foundAsBooleanfound=Falsen=Len([14])k=0Whitek<1.istl.LisCountAndNotfoundIfTextl=Left$(Listl.List(k),n)ThenTex12=[15]found=TrueEndIfk=k+1WendIfNotfoundThenText2="查无此人"EndIfEndSub2005年9月全国计算机等级考试二级VB笔试参考答案选择题[1-5]CACDC[6-10]DAABB[11-15]BCCDC[16-20]CABBA[21-25]DAADC[26-30]ADBAC[31-35]CCDAB填空题【1】数据库系统【2】空间【3】驱动模块[4]32[5]存储结构【6】30[7]s&c[8]-1[9]n-r[10]t=l[II]Textl(O)[12]1[13](sum-max-min)[14]text1.text[15]listl.list(k)

132006年4月全国计算机等级考试二级VB笔试试卷一、选择题(每小题2分,共70分)下列各题A),B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不属了结构化程序设计方法的是。A)自顶向下B)逐步求精C)模块化(2)两个或两个以上模块之间关联的紧密程度称为。A)耦合度B)内聚度C)复杂度(3)卜.列叙述中正确的是.A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试(4)按照“后进先出''原则组织数据的数据结构是。A)队列B)栈C)双向链表(5)下列叙述中正确的是。A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构(6)对如下二叉树D)可复用D)数据传输特性C)软件维护只包括对程序代码的维护D)以上三种说法都不对D)二叉树C)双向链表是非线性结构D)只有根结点的二叉树是线性结构进行后序遍历的结果为。A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度为7的满二义树中,叶子结点的个数为。A)32B)31C)64D)63(8)“商品”与"顾客”两个实体集之间的联系一般是。A)一对一B)一对多C)多对一(9)在E-R图中,用来表示实体的图形是.A)矩形B)椭圆形C)菱形D)多对多D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是。A)DB包含DBS和DBMSC)DBS包含DB和DBMSB)DBMS包含DB和DBSD)没有任何关系(11)以下关于VisualBasic特点的叙述中,错误的是。A)VisualBasic是采用事件驱动编程机制的语言B)VisualBasic程序既可以编译运行,也可以解释运行C)构成VisualBasic程序的多个过程没有固定的执行顺序D)VisualBasic程序不是结构化程序,不具备结构化程序的一:种基本结构(12)以下叙述中,错误的是。A)一个VisualBasic应用程序可以含有多个标准模块文件C)标准模块文件可以属于某个指定的窗体文件B)一个VisualBasic工程可以含有多个窗体文件D)标准模块文件的扩展名是.bas(13)以下叙述中,错误的是。A)在VisualBasic中,对象所能响应的事件是由系统定义的B)对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定C)VisualBasic中允许不同对象使用相同名称的方法D)VisualBasic中的对象具有自己的属性和方法(14)设有如F语句:Dima,bAsIntegerc="VisualBasic"d=#7/20/2005#以下关于这段代码的叙述中,错误的是。A)a被定义为Integer类型变量C)c中的数据是字符串B)b被定义为Integer类型变量D)d中的数据是日期类型(15)以下能从字符串"VisualBasic"中直接取出子字符串"Basic”的函数是。

14A)LeftB)MidC)StringD)Instr(16)设a=4,b=3,c=2»d=l,下列表达式a>b+lOrcvdAndbModc的值是。A)TrueB)1C)-1D)0(17)以下可以作为VisualBasic变量名的是。A)A#AB)counstAC)3AD)?AA(18)设x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是。A)PrintA=x+yB)Print*'A=H;x+yC)Print“A="+SRx+y)D)Print"A=H&x+y(19)假定有如卜.的命令按钮(名称为Commandl)事件过程:PrivateSubCommandl_Click()x=InputBox("输入:%"输入整数”)MsgBox”输入的数据是:“,,”输入数据:”+xEndSub程序运行后,单击命令按钮,如果从键盘上输入整数10,则以卜叙述中错误的是。A)x的值是数值10B)输入对话框的标题是“输入整数”C)信息框的标题是“输入数据:10”D)信息框中显示的是“输入的数据是:”(20)在窗体上画1个命令按钮(名称为Command1)和1个文本框(名称为Tbxtl),然后编写如下事件过程:PrivateSubCommandl_Click()x=Val(lextl.Text)SelectCasexCase1,3y=x*xCaseIs>=10»Is<=-10y=xCase-10lb10y=-xEndSelectEndSub程序运行后,在文本框中输入3,然后单击命令按钮,则以下叙述中正确的是。A)执行y=x*xB)执行y=-xC)先执行y=x*x,再执行y=-xD)程序出错(21)设有命令按钮Command1单击事件过程,代码如下:PrivateSubCommandl_Click()Dima(30)AsIntegerFori=l7b30a(i)=Int(Rnd*100)NextForEacharrltemInaIfarrltemMod7=0ThenPrintarrltem:IfarrItem>90ThenExitForNextEndSub对于该事件过程,以卜叙述中错误的是。A)a数组中的数据是30个100以内的整数B)语句ForEacharrltemIna有语法错误C)IfarrltemMod7=0……语句的功能是输出数组中能够被7整除的数D)Ifarr!tem>90……语句的作用是当数组元素的值大于90时退出For循环(22)设有命令按钮Commandl的单击事件过程,代码如下,PrivateSubCommandl_Click()Dima(3»3)AsIntegerFori=l7b3Forj=llb3a(i,j)=i*j+iNextjNextiSum=0Fori=lTb3Sum=Sum+a(i»4-i)NextiPrintSumEndSub运行程序,单击命令按钮,输出结果是。A)20B)7C)16D)17(23)在窗体上画1个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()a=0Fori=lTb2Forj=llb4IfjMod2o0Thena=a-lEndIfa=a+lNextjNextiPrintaEndSub程序运行后,单击命令按钮,输出结果是A)0B)2C)3D)4(24)窗体上有名称分别为Ibxtl、Text2的2个文本框,有一个由3个单选按钮构成的控件数组Option1,如图1所示。程序运行后,如果单击某个单选按钮,则执行Rxti中的数值与该单选按钮所对应的运算(乘以1、io或loo),m结果显示在Tbxt2中,如图2所示。为了实现上述功能,在程序中的问号(?)处应填入的内容是。

15PrivateSubOptionl_Click(IndexAsInteger)Iflextl.Texto,M,ThenSelectCase?Case0Text2.1ext=Val(lext1.Text)Case1Text2.1ext=Val(lext1.Text)*10Case2Text2.1ext=Val(lext1.Text)*100EndSelectEndIfEndSubC)Option1(Index)D)OptionI(Index).ValueA)IndexB)Option1.Index(25)在窗体上画1个命令按钮,其名称为Commandl,然后编写如下程序:PrivateSubCommandl_Click()Dima(10)AsIntegerDimxAsIntegerFori=llb10a(i)=8+iNextx=2Printa(f(x)+x)EndSubFunctionf(xAsInteger)x=x+3f=xEndFunction程序运行后,单击命令按钮,输出结果为。A)12B)15C)17D)18(26)以下关于过程的叙述中,错误的是。A)事件过程是由某个事件触发而执行的过程B)函数过程的返回值可以有多个(27)在窗体上画3个标签、3个文本框(名称分别为TextH如图所示。编写如下程序:C)可以在事件过程中调用通用过程D)不能在事件过程中定义函数过程Text2和Tbxl3)和1个命令按钮(名称为Command]),外观PrivateSubForm_Load()Text1.Text=MText2.Text="7ext3.1ext=,'EndSubPrivateSubCommandl_Click()x=Val(lextl.Text)y=Val(lext2.Text)Text3.1ext=f(x,y)EndSubFunctionf(ByVaixAsInteger,ByVaiyAsInteger)DoWhiley<>0tmp=xModyx=yy=tmpLoopf=xEndFunction运行程序,在Ibxtl文本框中输入36,在Text2文本框中输入24,然后单击命令按钮,则在Text3文本框中显示的内容是。A)4B)6C)8D)12(28)窗体上有名称分别为Textl、Text2的2个文本框,要求文本框Ibxtl中输入的数据小于500,文本框Tbxt2中输入的数据小于1000,否则重新输入。为了实现上述功能,在以下程序中问号(?)处应填入的内容是PrivateSub7extl_LostFocus()CallChecklnput(lextl,500)EndSubPrivateSubText2_LostFocus()CallCheckInput(lext2,1000)EndSubSubChecklnput(tAs?,xAsInteger)IfVal(t.Text)>xThenMsgBox”请重新输入!”EndIfEndSubA)TextB)SellextC)ControlD)Form(29)在窗体上.画1个文本框,其名称为Textl,然后编写如下过程:PrivateSubText1_KeyDown(KeyC(xleAsInteger,ShiftAsInteger)

16PrintChr(KeyCode)EndSubPrivateSubTexll_KeyUp(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode+2)EndSub程序运行后,把焦点移到文本框中,此时如果敲击“A”键,则输出结果为。A)AB)AC)AD)AABCD(30)为了使列表框中的项目呈多列显示,需要设置的属性为。A)ColumnsB)StyleC)ListD)MultiSelect(31)在窗体上画1个命令按钮,名称为Commands然后编写如下程序:DimFlagAsBooleanPrivateSubCommandl_Click()DimintNumAsIntegerinlNum=InpulBox("请输入:M)IfFlagThenPrintf(intNum)EndSubFunctionRXAsInteger)AsIntegerIfX<10ThenY=XElseY=X+10EndIff=YEndFunctionPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle.YAsSingle)Flag=TrueEndSub运行程序,首先单击窗体,然后单击命令按钮,在输入对话框中输入5,则程序的输出结果为。A)0B)5C)15D)无任何输出(32)在菜单编辑器中建立1个名称为Menu。的菜单项,将其“可见”属性设置为False,并建立其若干子菜单,然后编写如下过程:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=lThenPopupMenuMenuOEndIfEndSub则以下叙述中错误的是。A)该过程的作用是弹出一个菜单

17B)单击鼠标右键时弹出菜单C)Menu。是在菜单编辑器中定义的弹出菜单的名称D)参数X、Y指明鼠标当前位置的坐标(33)窗体上有1个名称为CD1的通用对话框,1个名称为Commandl的命令按钮。命令按钮的单击事件过程如下:PrivateSubCommandl_Click()CDl.FileName=,M,CDLFiltei^"AllFilesl*.*l(*.DoC)l*.Docl(*.Txt)CDl.FilterIndex=2CDl.Action=lEndSub关于以上代码,错误的叙述是。A)执行以上事件过程,通用对话框被设置为“打开”文件对话框C)通用对话框的默认文件类型为*.TxtB)通用对话框的初始路径为当前路径D)以上代码不对文件执行读写操作(34)以下叙述中错误的是。A)用Shell函数可以执行扩展名为.exe的应用程序B)若用Static定义通用过程,则该过程中的局部变量都被默认为Static类型C)Static类型的变量可以在标准模块的声明部分定义D)全局变量必须在标准模块中用Public或Global声明(35)以下关于文件的叙述中,错误的是。A)使用Append方式打开文件时,文件指针被定位于文件尾B)当以输入方式(Input)打开文件时,如果文件不存在,则建立•个新文件C)顺序文件各记录的长度可以不同D)随机文件打开后,既可以进行读操作,也可以进行写操作二、填空题(每空2分,共30分)请将每空的正确答案写在答题标【1】〜[15]序号的横线上,答在试卷上不得分。(1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为[11.(2)在而向对象方法中,【2】描述的是具有相似属性与操作的一组对象。(3)在关系模型中,把数据看成是二维表,每•个二维表称为一个[31(4)程序测试分为静态分析和动态测试。其中【4】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】。(6)卜.列语句的输出结果是(6LPrintFormat(Int(12345.6789*1004-0.5)/100,"0000.0.00")(7)在窗体上画1个命令按钮,其名称为Command1,然后编写如下事件过程:PrivateSubCommandl_Click()Dimarr(llb100)AsIntegerFori=llb100arr(i)=Int(Rnd*1000)NextiMax=arr(1):Min=arr(1)Fori=llb100If[7]ThenMax=arr(i)If[8]ThenMin=arr(i)NextiPrint"Max=M:Max,"Min=M;MinEndSub程序运行后,单击命令按钮,将产生100个1000以内的随机整数,放入数组arr中,然后查找并输出这100个数中的最大值Max和最小值Min,请填空。(8)在窗体上画1个名称为Command1的命令按钮和2个名称分别为Ibxtl、Text2的文本框,如图所示,然后编写如下程序:FunctionFun(xAsInteger,ByVaiyAsInteger)AsIntegerx=x+yIfx<0ThenFun=xElseFun=yEndIfEndFunctionPrivateSubCommandl_Click()DimaAsInteger,bAsIntegera=-10:b=5lextl.lext=Fun(a,b)Text2.Text=Fun(a>b)EndSub程序运行后,单击命令按钮,Textl和Texl2文本框显示的内容分别是【9】和【101(9)在窗体上画1个命令按钮和1个文本框,其名称分别为Commandl和Tbxll,然后编写如下代码:DimSaveAllAsStringPrivateSubCommandl_Click()Text1.lext=Lcft(UCase(SaveAll),4)EndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)SaveAll=SaveAll+Chr(KeyAscii)EndSub程序运行后,在文本框中输入abcdefg,单击命令按钮,则文本框中显示的内容是【11】。18(10)在窗体上画1个命令按钮和1个通用对话框,其名称分别为Commandl和CommonDialogl,然后编写如下事件过程:PrivateSubCommandl_Click()

18CommonDialogl.[12]="打开文件"CommonDialogl.Filter="AllFiles(*.*)1*.*”CommonDialog1.InitDir=HC:\"CommonDialog1.ShowOpenEndSub该程序的功能是,程序运行后,单击命令按钮,将显示“打开”文件对话框,其标题是“打开文件”,在"文件类型''栏内显示“AIlFiles(*.*)“,并显示C盘根目录下的所有文件,请填空。(11)在窗体上画1个文本框,名称为Tbxtl,然后编写如下程序:PrivateSubForm_Load()Opened:\temp\dat.txt"ForOutputAs#Ilextl.lext=,M,EndSubPrivateSubTextl_KeyPress(KeyAsciiAsInteger)If[13]=13ThenIfUCase(lextl.lext)=[14]ThenClose1EndElseWrite#1,[15]Textl.lext=,,HEndIfEndIfEndSub以上程序的功能是,在D盘temp目录下建立1个名为dat.txt的文件,在文本框中输入字符,每次按回车键(回车符的ASCH码是13)都把当前文本框中的内容写入文件dal.txt,并清除文本框中的内容;如果输入“END”,则结束程序。请填空。2006年4月全国计算机等级考试二级VB笔试参考答案•、选择题(1)-(5)DADBA(6)•••(10)DCDAC(11)・・(15)DCBAB(16)-(20)DBAAA(21)-(25)BCDAD(26)•・・(30)BDCCA(31)…(35)BBCCB二、填空题(1)45(6)12,345.68(9)ABCD(2)类(7)[7]Maxvarr⑴(10)DialogTitle(3)关系[8]Min>arr(i)(11)[13]KeyAscii(4)静态分析(静态测试)(8)[9]-5【14】“END”(5)物理独立性[10]5[15]Text1.text

192006年9月全国计算机等级考试二级VB笔试试卷一、选择题(每小题2分,共70分)下列各题A),B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项不符合良好程序设计风格的是()A、源程序要文档化B、数据说明的次序要规范化C、避免滥用goto语句D.模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是()A、概要设计与详细设计数据设计与接口设计C、D、软件结构设计与数据设计过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是()软件测试B、概要设计软件维护D、详细设计(4)在数据库系统中,用户所见的数据模式为A、概念模式B,外模式C、内模式D、物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()A、编码设计B,测试阶段C、运行阶段D、物理设计(6)设有如下三个关系表,下列操作中正确的是()A、T=RASB、T=RUSC,T=RxSD、T=R/S(7)下列叙述中正确的是()A、一个算法的空间复杂度大,则其时间复杂度也必定大B、一个算法的空间复杂度大,则其时间复杂度必定小C,一个算法的时间复杂度大,则其空间复杂度必定小D、上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为()A、63B、64C、6D、7(9)数据库技术的根本口标是要解决数据的()A、存储问题B、共享问题C、安全问题D、保护问题(10)对下列二叉树进行中序遍历的结果是()ABDCGEFD、FCADBEGA、ACBDFEGB、ACBDFGE(11)以下叙述中正确的是()A、窗体的Name属性指定窗体的名称,用来标示一个窗体B、窗体的Name属性值是显示在窗体标题中的文本C、可以在运行期间改变窗体的Name属性的值D、窗体的Name属性值可以为空(12)以下叙述中错误的是()A、打开一个工程文件时,系统自动载入与该工程有关的窗体文件B、保存VisualBasic程序时,应分别保存窗体文件及工程文件

20C、VisualBasic应用程序只能以解释方式执行D、窗体文件包含该窗体及其控件的属性(13)设a=2,b=3,c=4下列表达式的值是()Nota<=cOr4*c=bA2And<>a+cA、-1B、1C、TrueD、False(14)设有如卜的用户定义类型:TypestudentNumberAsStringNameAsStringAgeAsIntegerEndType则以卜正确引用该类型成员的代码是()A、student.Name="李明"B、DimsAsstudents.Name="李明"C、DimsAsTypestudentD、DimsAsTypes.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$=,,VisualBasicProgramining''b$="Quick”c$=b$&Ucase(Mid$(a$,7,6))&Right$(a$,12)A、VisualBASICProgrammingB、QuickBasicProgrammingC、QUICKBasicProgrammingD、QuickBASICPrograming(17)在窗体上画一个文本框(其名称为论xtl)和一个标签(其名称为Labell),程序运行后,如果在文本框中输入指定的信息,则立刻在标签中显示相同的内容。以下可以实现上述操作的事件过程是()A、PrivateSublextl_Click()C、PrivateSubLabell_Change()LabeII.Caption=Text1.TextLabe11.Caption=lextl.TextEndSubEndSubB、PrivateSublextl_Change()D、PrivateSubLabell_Click()Labe11.Caption=Textl.lextLabe11.Caption=Text1.TextEndSubEndSub(18)在窗体上画一个命令按钮和一个标签,名称分别为Commandl和Labell,编写如下事件过程:PrivateSubCommandI_Click()Counter=0Fori=1lb4Forj=6Tb1Step-2Counter=Counter+1NextjNextiLabel1.Caption=Str(Counter)EndSub程序运行后,单击命令按钮,标签中显示的内容是()A、11B、12C、16D、20(19)在窗体上画一个名称为lextl的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:DimiAsInteger,nAsIntegerFori=0lb50i=i+3n=n+1Ifi>10ThenExitForNextlextl.Text=Str(n)程序运行后,单击命令按钮,在文本框中显示的值是A、5B、4C、3D>2(20)在窗体上画一个命令按钮和两个标签,其名称为CommandsLabel1和Labe12,然后编写如下事件过程:PrivateSubCommandl_Click()a=0Fori=1lb10a=a+1b=0Forj=1lb10

21NextjNextiLabel1.Caption=Str(a)Labe12.Caplion=Str(b)EndSubA、10和20B、20和110C、200和110D、110和20(19)在窗体上画一个名称为Listl的列表框,一个名称为Lablel的标签,列表框中显示若干城市的名称。当单击列表框中的某个城市时,该城市从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是()A、PrivateSubListl_Click()C、PrivateSubListl_CIick()B、PrivateSubList1_Cliek()D^PrivateSubListl_Click()Label1.Name=List!.TextLabel1.Name=List1.TextList1.RemoveitemListl.lextListl.RemoveitemList1.ListindexEndSubEndSub(22)在窗体上画一个名称为Command1的命令按钮,然后编写如卜程序:PrivateSubCommandl_Click()DimiAsInteger,]AsIntegerDima(10,10)AsIntegerFori=1lb3Forj=1lb3a(i,j)=(i-l)*3+jPrinta(i,j);NextjPrintNextiEndSub程序运行后,单击命令按钮,窗体上显示的是()A、123B、234C、347D、123246345258456369456369789(23)在窗体上画,个命令按钮,名称为Commandl的命令按钮,然后编写如下程序:PrivateSubCommand1_Click()Dima(4)AsInteger,b(4)AsIntegerFork=0lb2a(k+1)=InputBoxC'请输入一个整数”)b(3-k)=a(k+1)NextkPrintb(k)EndSub程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输出结果为():A、0B、2C、3D、4(24)有以下程序:Opt沁nBase1Dimarr()AsIntegerPrivateSubForm_Click()DimiAsInteger,jAsIntegerRcDimarr(3,2)Fori=1lb3Forj=1lb2arr(ij)=i*2+jNextjNextiRcDimPreservearr(3,4)Forj=3lb4arr(3J)=j+9NextjPrintarr(3,2);arr(3,4)EndSub程序运行后,单击窗体,输出结果是()A、813B、013C、712D、00Labe11.Caption=List1.ListindexList1.RemoveitemList1.TextEndSubLabe11.Caplion=Listl.lextList1.RemoveitemList1.ListindexEndSub

22(25)以下叙述中正确的是()A、一个Sub过程至少要有一个ExitSub语句B、一个Sub过程必须有一个EndSub语句C^可以在Sub过程中定义一个Function过程,但不能定义Sub过程D、调用,个Function过程可以获得多个返回值(26)有以下程序:SubsubP(b()AsInteger)Fori=1lb4b(i)=2*iNextiEndSubPrivateSubCommandl_Click()Dima(llb4)AsIntegera(l)=5a(2)=6a(3)=7a(4)=8subPa()Fori=1lb4Printa(i)NextiEndSub运行上面的程序,单击命令按钮,输出结果为:A、2B、5C、10D、出错461267148816(27)设有如下通用过程:PublicFunctionfun(xStrAsString)AsSiringDimtStrAsString,strLAsIntegertStr=MHstrL=Len(xStr)i=1DoWhilei<=strL/2tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)i=i+1Loopfun=tStrEndFunction在窗体上画一个名称为Tbxtl的文本框和•个名称为Command1的命令按钮,然后编写如下的事件过程:PrivateSubCommand1_Click()DimsiAsStringsi="abcdeTTextl.Text=UCase(fun(s1))EndSubA、ABCDEFB、abcdefC、AFBECDD、DEFABC(28)在窗体上画一个命令按钮和两个文本框,然后编写如卜的事件过程:PrivateSubTextl_KeyPress(KeyAsciiAsInteger)EndSub假定焦点已经位于文本框中,则能够触发KeyP代ss事件的操作是()A、单击鼠标B、双击文本框C、鼠标滑过文本框D、按下键盘上的某个键(29)在窗体上画•个命令按钮和两个文本框,其名称分别为Command】、ltxtl和Tbxt2,然后编写如下程序:Dims1asString,s2asStringPrivateSubForm_Load()Text1.Text='M,Text2.1ext=EndSubPrivateSubTextl_KeyDown(KeyCodeAsInteger.ShiftAsInteger)s2=s2&Chr(KeyCode)EndSubPrivateSubTextl_KeyPress(KeyAsciiAsInteger)si=si&Chr(KeyAscii)EndSubPrivateSubCommandl_Click()Text1.Text=s2Text2.1ext=sIsis2=EndSub程序运行后,在Ibxll中输入“abc”,然后单击命令按钮,在文本框Tfextl和Text2中显示的内容分别为()A、abc和ABCB、abc和abcC、ABC和abcD、ABC和ABC(30)以下说法正确的是()A、任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器B、只有当某个窗体为当前活动窗体时,才能打开菜单编辑器C、任何时候都可以通过单击标准工具栏的“菜单编辑器”按钮打开菜单编辑器

23D、只有当代码窗口为当前活动窗口时,才能打开菜单编辑器(25)在窗体上画一个通用对话框,其名称为CommonDialogl,然后画一个命令按钮,并编写如卜.事件过程:PrivateSubCommandl_click()CommonDialogl.Filte^AllFiles(*.*)|*.*|TextFiles(*.txt)|*.txtIExecutableFiles(*.exe)l*.exeMCommonDialog1.Filterlndex=3CommonDialogl.ShowOpenMsgBoxCommonDialogl.FilenameEndSub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是()A、AllFiles(*.*)C..ExecutableFiles(*.exe)B、IbxtFiles(*.txt)D、不确定(26)以下叙述中错误的是()A、一个工程中可以包含多个窗体文件B、在一个窗体文件中用Public定义的通用过程不能被其他窗体调用C、窗体和标准模块需要分别保存为不同类型的磁盘文件D、用Dim定义的窗体层变量只能在该窗体中使用(33)以下叙述中错误的是()A>语句“Dima,bAsInteger”声明了两个类型变量B、不能在标准模块中Static定义型变量C、窗体层变量必须先声明,后使用D、在事件过程或通用过程内定义的变量是局部变量(34)设有语句Open"d:\Ihst.txt"ForOutputAs#1,以下叙述中错误的是()A、若d盘根目录下无lbst.txt文件,则该语句创建此文件B、用该语句建立的文件的文件号为1C、该语句打开d盘根目录下一个已存在的文件lfest.txt,之后就可以从文件中读取信息D、执行该语句后,就可以通过语句Pring#向文件Test.txt写入信息。(35)以下叙述错误的是()A、顺序文件中的数据只能按顺序读写B、对同一个文件,可以用不同的方式和不同的文件号打开C、执行Close语句,可将文件缓冲区中的数据写到文件中读取信息D、随机文件中各记录的长度是随机的二、填空题(每空2分,共30分)请将每一个正确答案在答题卡【I】〜【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。卜列软件系统结构图的宽度为m(35)[2]的任务是诊断和改正程序中的错误。(36)一个关系表的行称为【3】。(4)按“先进后出”原则组织数据的数据结构是[4】。(5)数据结构分为线性结构和非线性结构,带链的队列属于【5】。(6)描述“X是小于100的非负整数”的VisualBasic表达式是(6)(7)在窗体上有一个名称为Command1的命令按钮和一个名称为Textl的文本框。程序运行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮Command1变为可用。请填空。PrivateSubForm_Load()Command1.Enabled=FalseEndSubPrivateSublextl_[7]()Command1.Enabled=TrueEndSub(8)在窗体上画一个名称为“Command1”的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()DimaAsStringa="123456789”Fori=1Tb5PrintSpace(6-i);Mid$(a,[8]»2*i-1)NextiEndSub程序运行后,单击命令按钮,窗体上输出结果是:5456345672345678123456789请填空。(9)以下程序的功能是:将一维数组A中的100个元素分别赋给二维数组B的每个元素并打印出来,要求把A(l)到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

24PrivateSubForm_Click()DimiAsInteger,jAsIntegerDimA(1Tb100)AsIntegerDimB(1Tb10,1lb10)AsIntegerFori=1lb100A(i)=iNextiFori=1lb[9]Forj=1lb[10]B(i,j)=[11]PrintB(i,j);NextjPrintNextiEndSub(10)在窗体上画一个名称为Combo1的组合框,然后画两个名称分别为Label1,Labe12,标题分别为“城市名称”和空白的标签。程序运行后,在组合框中输入一个新的项目并按回车键,如果输入的项目在组合框的列表中不存在,则自动将其添加在组全框的列表中,并在Label2中给出提示“已成功添加新的输入项”,如下图所示.如果输入的项目已存,则在Label2中给出提示“输入项目已在组合框中”。请填空。PrivateSubCombol_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenFori=0lbCombo1.ListCount-1IfCombo1.Text=[12]ThenLabel2.Caption="输入项已在组合框中。“ExitSubEndIfNextiLabel2.Caplion=”已成功添加新输入项。”Combo1.[13]Combo1.TextEndIfEndSub(11)在窗体上画,个命令按钮和,个文本框,其名称分另为Commandl和无xtl,然后编写如下事件过程:PrivateSubCommandl_Click()DimindataAsStringlextl.Text='M,Open"d:\myflle.txt"For[14]As#1DoWhile[15]Input#1.indataText1.Text=Text1.Text+indataLoopEndSub程序的功能是,打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。请填空。2006年9月全国计算机等级考试二级VB笔试参考答案・、选择题(1)・・・(5)DACBD(6),,,•(10)CDBBA(11)…(15)ACDBB(16)•・・(20)DBBCD

25(21)-(25)CDBAB(31)•••(35)CBACD二、填空题(1)3(2)程序调试(3)元组(4)栈(5)线性结构(6)X%>=0AndX%<100(7)Change(26)••(30)ACDCB(9)[9]10[10]10[11]A((i-1)*IO+j)(10)[12]ComboLlist(i)[13]Additem(11)[14]Input[15]NotEOF(1)(8)6-i

262007年4月全国计算机等级考试二级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)对下列二叉树()rs~i进行前序遍历的结果为A)DYBEAFCZXB)YDEBFZXCAC)ABDYECFXZD)ABCDEFXYZ(7)某二义树中有n个度为2的结点,则该二叉树中的叶子结点数为()A)n+1B)n-1C)2nD)n/2(8)在卜列关系运算中,不改变关系表中的属性个数但能减少元组个数的是()A)并B)交C)投影D)笛卡儿乘积(9)在E—R图中,用来表示实体之间联系的图形是()A)矩形B)椭圆形C)菱形D)平行四边形(10)下列叙述中错误的是()A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根木目标是解决数据共享问题C)数据库技术是指己有数据管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)下面可以正确定义2个整形变量和I个字符串变量的语句的是()A)Dimn,mASImergersASStringB)Dima%,b$,cASStringC)DimaASInteger,b,cASStringD)Dimx%,yASInteger,zASString(12)下列表述中不能判断x是否为偶数的是()

27A)x/2=Int(x/2)B)xMod2=0C)Fix(x/2)=x/2D)x\2=0

28(13)设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面叙述中正确的是()A)窗体的Click事件过程的过程名是Myform_ClickB)命令按钮的Click事件过程名是CLClickC)命令按钮的Click事件过程的过程名是Commandl_ClickD)上述三种过程名都是错误的(14)设窗体上.有1个滚动条,要求单击滚动条右端的,1按钮一次,滚动条移动一定的刻度值,决定此刻度的属性是()A)MaxB)MinC)SmallChangeD)LargeChang(15)1个二维数组可以存放1个矩阵。在程序开始有语句OptionBase0,则下面定义的数组中正好可以存放1个4*3矩阵(即只有12个元素)的是()A)Dima(-2lb0,2)ASIntegerB)Dima(3,2)ASIngegerC)Dima(4,3)ASIngegerD)Dima(-llb-4,-1lb-3)ASIngeger(16)若设置了文本框的属性PasswordChar=飞”,则运行程序时向文本框中输入8个任意字符后,文本框中显示的是()A)8个"$"B)1个飞“C)8个“*”D)无任何内容(17)设在窗体上有1个名称为Combol的组合框,含有5个项目,要删除最后一项,正确的语句是()A)ComboLRemoveltemComboI.TextB)Combo1.Rcmoveltem4C)Combo1.RemoveitemCombo1.ListCountD)ComboI.Removeltem5(18)工程中有2个窗体,名称分别为FormI,Form2,Forml为启动窗体,该窗体上有命令按钮Commandl.要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是()A)PrivateSubCommand1_Cliek()B)PrivateSubCommand1_Cliek()Form2.ShowForm2.VisibleEndSubEndSubC)PrivateSubCommandl_Click()D)PrivateSubCommandl_Click()LoadForm2Form2.LoadEndSubEndSub(19)若在某窗体模块中有如卜事件过程()PrivateSubCommandl_Click(lndexASInteger)EndSub则以下叙述中正确的是A)此事件过程与不带参数的事件过程没有区别B)有1个名称为Commandl的窗体,单击此窗体则执行此事件过程C)有I个名称为Commandl的技件数组,数组中有多个不同类型控件D)有1个名称为Commandl的J件数组,数组中有多个相同类型控件(20)以下循环语句中在任何情况下都至少执行一次循环体的是()A)DoWhilev条件,B)Whilev条件〉循环体循环体LoopWendC)DoD)DoUntilv条件〉循环体循环体LoopUntilv条件>Loop(21)在窗体上有1个名为Cdl的通用对话框,为了在运行程序时打开保存文件对话框,则在程序中应使用的语句是()A)Cdl.Action=2B)Cdl.Action=lC)Cd1.ShowSave=TUreD)Cdl.ShowSave=0(22)下面关于菜单的叙述中错误的是()A)各级菜单中的所有菜单项的名称必须唯一B)同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同C)弹出式菜单用PopupMenu方法弹出D)弹出式菜单也用菜单编辑器编辑(23)已知有下面的过程()PrivateSubproc1(aAsInteger,bAsString.OptionalxAsBoolean)EndSub正确调用此过程的语句是A)Callprocl(5)B)Callproc15Jabc”,FalseC)proc1(12Jabc”,True)D)proc15,“abc”(24)在窗体上有1个名称为Textl的文本框和1个名称为Commandl的命令按钮,要求在程序执行时,每单击命令按钮一次,文本框向右移动定距离。下面能够正确实现上述功能的程序是()A)PrivateSubCommandl_Click()Textl.Left=100EndSubB)PrivateSubCommandl_Click()lextl.Left=Textl.Left-100EndSubC)PrivateSubCommandl_Click()Textl.MoveText.Left+100EndSubD)PrivateSubCommandl_Click()Textl.Movelext.LeftEndSub(25)某人创建了1个工程,其中的窗体名称为Forml;之后乂添加了1个名为Form2的窗体,并希望程序执行时先显示

29Form2窗体,那么,他需要做的工作是()A)在工程属性对话框中把“启动对象”设置为Form2B)在Forml的Load事件过程中加入语句LoadForm2C)在Form2的Load事件过程中加入语句Form2.ShowD)在Form2的Tabindex属性设置为1,把Forml的Tabindex属性设置为2(26)窗体上有1个名称为Tcxtl的文本框和1个名称为Commandl的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写到文件。ut.txt中,每次写入的内容附加到文件原有内容之后。F面能够实现上述功能的程序是()A)PrivateSubCommandl_Click()Open*tout.txf,ForInputAs#1Print#1,Text!.TextClose#1EndSubC)PrivateSubCommandl_Click()Open“oul.txt"ForAppendAs#lPrint#1,Text!.TextCk)se#lEndSub(27)为计算1+3+5+.k=lB)PrivateSubCommandl_Click()Open“out.txt”ForOutputAs#1Print#l,lextl.TextClose#IEndSubD)PrivateSubCommandl_Click()Open"oul.txt"ForRandomAs#lPrint#l,Text1.TextClose#1EndSub+99的值,某人编程如下s=0Whilek<=99k=k+2:s=s+kWendPrints在调试时发现运行结果有错误,需要修改。卜一列错误原因和修改方案中正确的是()A)While…Wend循环语句错误,应改为Fork=l1b99…NextkB)循环条件错误,应改为Whliek<99C)循环前的赋值语句k=l错误,应改为k=0D)循环中两条赋值语句的顺序错误,应改为s=s+k:k=k+2(28)下面程序在调试时出现了死循环PrivateSubCommandl_Click()n=InpmBox(“请输入一个整数”)DoIfnMod2=0Thenn=n+lElsen=n+2ElseIfLoopUntiln=l000EndSub下面关于死循环的叙述中正确的是()A)只有输入的n是偶数时才会出现死循环,否则不会B)只有输入的n是奇数时才会出现死循环,否则不会C)只有输入的n是大于1000的整数时才会出现死循环,否则不会D)输入任何整数都会出现死循环(29)在窗体上有1个名称为CommonDiabgl的通用对话框和1个名称为Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击Command1按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件。以下是Commandl_CHck事件过程的两种算法算法1:PrivateSubCommandl_Click()CommonDialog1.ShowOpenOpenCommonDialog1.FileNameForInputAs#lEndSub算法2:PrivateSubCommandl_Click()CommonDialog1.ShowOpenIfCommonDialogl.FileNameo^^ThenOpenCommonDialog1.FileNameForInputAs#lEndIfEndSub下面关于这两种算法的叙述中正确的是()A)显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会B)显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会

30C)两种算法的执行结果完全一样D)算法1允许输入的文件名中含有空格,而算法2不允许(30)窗体上有1个名称为Listl的列表框,其中已经输入了若干个项目(如图所示):还有2个文本框,名称分别为Tbxtl、Text2,1个名称为Command1的命令按钮,并有以下程序PrivateSubCommandl_Click()DimstrAsString,sAsString,kAsIntegers=TextlSg'”'Fork=List1.ListCounl-1to0Step-1IfInStr(Listl.List(k),s)>0thenstr=str&Listl.List(k)&””EndIfNextkIfstr=w,ThenTex12=”没有匹配的项目”ElseText2=strEndIfEndSub程序运行时,在生xtl中输入“京”,单击命令按钮,则在为xt2中显示的内容是()A)京B)北京南京C)南京北京D)没有匹配的项目(31)在窗体上画1•个名称为Command1的命令按钮,并编写以下程序PrivateSubCommandl_Click()PrintfunCABCDEFGM)EndSubFunctionfun(stAsString)AsStringstlen=Len(st)temp=M,Fork=1lbstlen/2temp=temp+Mid(st,k,1)+Mid(st.stlen-k+1,1)PoralNextkfun=tempEndFunction程序运行时,单击命令按钮,则窗体上显示的是()A)ABCDEFGB)AGBFCEC)GFEDCBAD)AGBFCED(32)在窗体上先后画2个图片框,名称分别为Picture1和banana,banana中添加了香蕉图片(见图1),用banana.DragMode属性设置为L要求程序运行时,可以用鼠标把banana拖拽到Picture1中(见图2)。能实现此功能的事件过程是()A)PrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)banana.MovePicture1.Left+X,PictureI.T3p+Y)EndSubB)PrivateSubbanana_DragDrop(SourceAsControLXAsSingle,YAsSingle)Source.MovePicturel.Left+X,Picturel.lbp+YEndSubC)B)PrivateSubPicture1_DragDrop(SourceAsControl,XAsSingle,YAsSingle)Source.MovePicturel.Left+X,Picture1.lbp+YEndSubD)B)PrivateSubPicturel_DragDrop(SourceAsControhXAsSingle.YAsSingle)banana.Movebanana.Left+X,banana.lbp+YEndSub(33)在窗体上画1个名称为Command1的命令按钮,然后编写如下事件过程OptionBase1PribateSubCommandl_Click()Dima(5.5)AsIntegerFori=lTb5

31rorj=lto5a(ij)=(i+j)*5\10NextjNextiS=0Fori=llb5S=s+a(i,i)NextiPrintsEndSub程序运行后,单击命令按钮,输出结果是()A)15B)13C)11D)9(34)在窗体上从左到右有Textl、1bxt2两个文本框(见图),要求程序运行时,在Tbxtl中输入1个分数后按回车键,则判断分数的合法性,若分数为0〜100中的1个数,周围光标移到Tbxt2中:否则光标不动,并弹出对话框显示“分数错”,下面程序中正确的是()A)PrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then‘回车符的ACSII码是13a=Val(Textl)Ifa>=0ora<=100ThenText2.SetFocusElseTextl.SetFocus:MsgBox(“分数错”)EndIfEndIfEndSubB)PrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then,回车符的ACSn码是13a=Val(lextl)Ifa>=0Anda<=100ThenTextl.SetFocusElseText2.SetFocus:MsgBox(“分数错”)EndIfEndIfEndSubPrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then,回车符的ACSII码是13a=Val(Textl)Ifa>=0Anda<=100ThenText2.SetFocusElseTextl.SetFocus:MsgBox(“分数错”)EndIfEndIfndSubC)PrivateSubTextl_KeyPress(KeyAsciiASInteger)D)IfKeyAscii=!3Then,回车符的ACSH码是13a=Val(lextl)Ifa<0Anda>100ThenText2.SetFocusElseTextl.SetFocus:MsgBox(“分数错”)EndIfEndIfEndSub(35)在窗体上画2个命令按钮,名称分别为Command1、Constn=5,m=4Dima(m,n)PrivateSubCommandl_Click()K=lFori=lIbmForj=llbna(i,j)=kk=k+lNextjNextiEndSub过程Commandl_Click()的作用是二维数组a中存放A)计算矩阵外围一圈元素的累加和B)计算矩阵除外一圈以外的所有元素的累加和command2,并编写如下程序PrivateSubCommand2_Click()Summ=0Fori=llbmForj=llbnIfi=lOri=mThenSumm=summ+a(ij)ElseIfj=lOrj=nThenSumm=summ+a(ij)EndIfEndIfNextjNextiPrintsummEndSub1个m行n列的矩阵;过程Command2_Click()的作用是()C)计算矩阵第1列和最后一列元素的累加和D)计算矩阵第1行和最后一行元素的累加和二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题纸上序号的横线匕答在试卷上,答在试卷上不得分,注意:以命令关键字填空的必须写完整(1)在深度为7的满二叉树中,度为2的结点个数为。(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于测试。(3)在数据库系统中,实现各种数据管理功能的核心软件称为。(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于阶段。(5)在结构化分析使用的数据流图(DFD)中,利用对其中的图形元素进行确切解释。(6)下面程序的功能是从键盘上请输入一个大于100的整数m,计算并输出满足不等式1+2?+32+42+…….n2Vm的最大的n。请填空PrivateSubCommand1_Click()

32Dims,m,nASIntegerm=Val(InputBox(“请输入一个大于100的整数”))n=s=0DoWhiles

33FunctionPrime(aAsInteger)ASBooleanDimkAsInlergerjsprimeASBooleanIfa<2Thenisprime=FalseElseisprime=Truek=2DoWhilek

342007年9月全国计算机等级考试二级VB笔试试卷VisualBasic语言程序设计(考试时间90分钟,满分100分)选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题k相应位置上,答在试卷上不得分。(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)n(n+1)/2B)nlog2nC)n(n-l)/2D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219B)221C)229D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)要使一个文本框可以显示多行文本,应设置为True的属性是A)EnabledB)MultiLineC)MasLenfthD)Width(12)在窗体I:有一个名为Textl的文本框。当光标在文本框中时,如果按下字母键“A",则被调用的事件过程是A)Form_KeyPress()B)Textl_LostFocus()C)lextl_Click()D)Testl_Change()(13)设在窗体上有一个名称为Commandl的命令按钮和一个名称为Tbxtl的文本框。要求单击Commandl按钮时可把光标移到文本框中。卜.面正确的事件过程是B)PrivateSubCommand1.GotFocusEndSubD)PrivateSubCommand1.SetFocusEndSubA)PrivateSubCommandl_Click()Textl.GotFocusEndSubC)PrivateSubCommandl_Click()Textl.SetFocusEndSub(14)执行以卜.程序后输出的是PrivateSubCommandl_Click()

35Ch$="AABCDEFGH”PrintMid(Righ(ch$,6),Len(left(ch$,4)),2)EndSubA)CDEFGHB)ABCDC)FGD)AB<15)设在窗体Form1上有一个列表框Lis”,其中有若干个项目。要求单击列表框中某一项时,把该项显示在窗体上,正确的事件过程是A)PrvateSubListl_Click()PrintList1.TextEndSubC)PrivateSubListl_Click()PrintForm1.TextEndSubB)PrivateSubForml_Click()PrintListl.lextEndSubD)PrivateSubForml_Click()List1.PrintList1.TextEndSub(16)若窗体上的图片框中有一个命令按钮,则此按钮的Left属性是指A)按钮左端到窗体左端的距离B)按钮左端到图片框左端的距离C)按钮中心点到窗体左端的距离D)按钮中心点到图片框左端的距离(17)为使程序运行时通用对话框CD1上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是A)CDl.DialogTitle="对话框窗口”C)CDl.FileName="对话框窗口”(18)在窗体上有如右图所示的控件,与其标题相同,并有如下程序:B)CDl.Action=”对话框窗口”D)CDl.Filter="对话框窗口”各控件的名称PrivateSubForm_Load()Command2.EnabIed=FaIseCheckl.Value=lEndSub刚运行程序时,看到的窗体外观是:A)VChccklrChedt2*-Fgl.Gj®®D)(19)设在窗体中有一个名称为Listl的列表框,其中有若干个项目(如图)。要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是A)PrivateSubCommandl_Click()Listl.Clear

36EndSubA)PrivateSubCommandI_Cliek()List1.ClearListI.ListindexEndSubC)PrivateSubCommandI_Click()List1.RemoveitemListLListlndexEndSubComnwdl南京D)PrivateSubCommandl_Click()ListI.RemoveitemEndSub(20)某人设计了如卜程序用来计算并输出7!(7的阶乘)PrivateSubCommandl_Click()t=0Fork=7lb2Step-1t=t*kNextPrinttEndSub执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结构的是A)B)C)D)把t=0改为t=l把Fork=7Tb2Step-1改为Fork=71b1Step-1把Fork=7lb2Stip-1改为Fork=llb7把Next改为Nexik(21)若窗体中已经有若干个不同的单选按钮,要把它们改为•个单选按钮数组,在属性窗口中需要且只需要进行的操作是A)B)C)D)把所有单选按钮的Index属性改为相同值把所有单选按钮的Index属性改为连续的不同值把所有单选按钮的(Option属性值改为相同把所有单选按钮的名称改为相同,且把它们的Index属性改为连续的不同值。(22)窗体上有文本框Textl和一个菜单,菜单标题、名称如表,结构见图。要求程序执行时单击“保存”菜单项,则把其标题显示在Tbxtl文木框中。下面可实现此功能的事件过程是:标题名称文件file新建new保存saveA)PrivateSubsave_Click()Text1.lext=file.save.CaptionEndSubB)PrivateSubfile_Click()Text1.lext=file.save.CaptionEndSubB)PrivateSubsave_Click()Text1.Text=save.CaptionEndSubD)PrivateSubfile_Click()Text1.Text=save.CaptionEndSub(23)某人在窗体上画了一个名称为TimerI的计时器和一个名称为Lab的属性设置为Enabled=True,Interval^),并编程如下。希望在每2秒在标签上显示一次系统当前时间。PrivateSubTimerl_Timer()Label1.Caption=Time$EndSub在程序执行时发现未能实现上述目的,那么,他应做的修改是A)通过属性窗口把计时器的Interval属性设置为2000B)通过属性窗口把计时器的Enabled属生设置为FalseC)把事件过程中的Label1.Caption=Time$语句改为Timerl.Interval=Tims$D)把事件过程中的Labell.C叩1211=111110$语句改为Label1.Caption=Hmerl.Time(24)形状控件的Shape属性有6种取值,分别代表6种几何图形。下列不属于这6种几何图形的是B)C)(25)下面关于文件的叙述中错误的是A)随机文件中各条记录的长度是相同的]B)打开随机文件时采用的文件存取方式应该是RandomC)向随机文件中写数据应使用语句Print#文件号D)打开随机文件与打开顺序文件一样,都使用Open语句(26)设窗体上有一个图片框Pictured要在程序运行期间装入当前文件夹下的图形文件Filel.jpg,能实现此功能的语句是A)Picture1.Picture=Tlie1.jpgB)Picture1.Picture=LoadPicture(44File1jpg")C)LoadPicture(t4Filel.jpg^^)D)CallLoadPicture(tkFile1.jpg")(27)卜面程序执行时,在窗体上显示的是PrivateSubCommandl_Click()Dima(10)Fork=1lb10a(k)=11-kNextkPrinta(a(3)\a(7)Moda(5))EndSubA)3B)5C)7D)9(28)为达到把a、b中的值交换后输出的目的,某人编程如下:PrivateSubCommandl_Click()a%=10:b%=20Call

37swap(a,b)Printa,bEndSubPrivateSubswap(ByValaAsInteger,ByVaibAsInteger)c=a:a=b:b=cEndSub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是A)调用sw叩过程的语句错误,应改为Callswapa,bB)输出语句错误,应改为:PrintJb”C)过程的形式参数有错,应改为:swap(ByRefaAsInteger.ByRefbAsInteger)D)swap中3条赋值语句的顺序是错误拓,应改为a=b:b=c:c=a(29)有如下函数:Functionfun(aAsInteger,nAsInteger)AsIntegerDimmAsIntegerWhilea>=na=a-nm=m+1Wendfun=mEndFunction该函数的返回值是A)a乘以n的乘积B)a加1n的和A)a减n的差D)a除以n的商(不含小数部分)(30)下面程序的输出结果是PrivateSubCommandl_Click()ch$=,ABCDEF,procchPrintchEndSubPrivateSubproc(chAsString)S='"'Fork=Len(ch)lb1Step-1s=s&Mid(ch,k,l)Nextkch=sEndSubA)ABCDEFB)FEDCBAC)AD)F(31)某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下:FunctionMaxValue(a()AsInteger)AsIntegerDimmax%max=lFork=2lb10Ifa(k)>a(max)Thenmax=kEndIf

38NextkMaxValue=maxEndFunction程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是A)语句max=1应改为max=a(l)B)语句Fork=2lb10应改为Fork=1lb10C)If语句中的条件a(k)>a(max)应改为a(k)>maxD)语句MaxValue=max应改为MaxValue=a(max)(32)在窗体上画一个名称为Commandl的命令按钮,并编写以下程序:PrivateSubCommandl_Click()Dimn%,b,tt=l:b=l:n=2Dob=b*nt=t+bn=n+1LoopUntiln>9PrinttEndSub此程序计算并输出一个表达式的值,该表达式是A)9!B)10!C)1!+2!+・・・+9!D)1!+2!+-+10!(33)有一个名称为Forml的窗体,上面没有控件,设有以下程序(其中方法Pset(X,Y)的功能是在坐标X,Y处画一个点):DimcmdmaveAsBooleanPrivateSubFoim_MouseD()wn(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)cmdmave=TrueEndSubPrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfcmdmaveThenForml.Pset(X,Y)EndIfEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)cmdmave=FalseEndSub此程序的功能是A)每按下鼠标键一次,在鼠标所指位置画一个点B)按下鼠标键,则在鼠标所指位置画一个点;放开鼠标键,则此点消失C)不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线D)按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线(34)某人设计了下面的函数fun,功能是返回参数a中数值的位数Functionfun(aAsInteger)AsIntegerDimn%n=1Whilea\10>=0n=n+1a=a\10Wendfun=nEndFunction在调用该函数时发现返回的结果不正确,函数需要修改,卜面的修改方案中正确的是A)把语句n=l改为n=0B)把循环条件a\10>=0改为a\10>0C)把语句a=a\10改为a=aMod10D)把语句fun=n改为fun=a(35)在窗体上有•个名称为Checkl的复选框数组(含4个复选框),还有•个名称为Tbxtl的文本框,初始内容为空。程序运行时,单击任何复选框,则把所有选中的复选框后面的方字罗列在文本框中(见图)。卜面能实现此功能的事件过程是A)PrivateSubCheckl_Click(IndesAsInteger)Textl.lext=""Fork=01b3IfCheckl(k).value=1Then

39Textl.Text=Textl.Text&Check1(k).Ciplion&双引号中是空格EndIfNextkEndSubB)PrivateSubCheck1_Click(IndexAsInteger)Fork=0lb3IfCheckl(k).Value=1Thenlextl.lext=Text1.Text&Checkl(k).Caplion&双引号中是空格EndIfNextkEndSubC)PrivateSubCheck1_Click(IndexAsInteger)Text1.10X1=""Fork=0To3IfCheckl(k).Value=1ThenTextl.Text=Text1.Text&Check1(Index).Caption&双引号中是空格EndIfNextkEndSubD)PrivateSubCheckl_Click(IndexAsInteger)lextl.lext=MHFork=0lb3IfCheckl(k).Value=1ThenTextl.lext=Textl.Text&CheckI(k).Caption&双引号中是空格ExitForEndIfNextkEndSub二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡[1卜”5]序号的横线上,答在试卷上不得分.(1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】。(2)在两种基本测试方法中,3_测试的原则之一是保证所测模块中每一个独立路径至少执行一次。(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的Q1存储结构。(4)对下列二叉树进行中序遍历的结果为【4】。(5)在E-R图中,矩形表示【5】0(6)窗体上有一个组合框,其中已输入了若干个项目。程序运行时,单击其中一项,即可把该项与最上面的一项交换。例如:单击图1中的“重庆”,则与“北京”交换,得到图2的结果。下面是可实现此功能的程序,请填空。PrivateSubCombol_Click()Dimlemptemp=Combol.Text[61=Combo1.List(O)Combo1.List(O)=temp

40EndSub(7)设窗体上有一个名称为HScroIH的水平滚动条,耍求当滚动块移动位置后,能够在窗体上输出移动的距离(即新位置与原位置的刻度值之差,向右移动为正数,向左移动为负数)。下面是可实现此功能的程序,请填写。Dim[7]AsIntegerPrivateSubForm_Load()pos=HScroIII.ValueEndSubPrivateSubHScroIII_Change()Print18]-pospos=HScroIIl.ValueEndSub(8)设窗体上有一个名称为CD1的通用对话框,一个名称为Textl的文本框和一个名称为Command】的命令按钮。程序执行时,单击Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Textl中。下面是实现此功能的事件过程,请填空。PrivateSubCommandl_Click()CDLFilter="文本文件l*.txl(Word文档)*.docHCDl.Filterinder=ICD1.ShowOpenIfCDl.FileName<>""ThenOpen19]ForInputAs#1LineInput#l,ch$Close#1lextl,lext=【101EndIfEndSub(9)下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5867,输入1000,则输出0001。请填空。PrivateSubCommandl_Click()DimxAsIntegerx=InputBox(“请输入一个正整数”)Whilex>fillPrintxMod10;x=x\10WendPrint[121EndSub(10)有如图所示的窗体。程序执行时先在Tbxtl文本框中输入编号,当焦点试图离开Ibxtl时,程序检杳编号的合法性,若编号合法,则焦点可以离开Ibxtl文本框;否则,显示相应错误信息,并门动选中错误的字符,且焦点不能离开Tbxtl文本框(见图)。合法编号的组成是:前2个字符是大写英文字母,第3个字符是后面是数字字符(至少1个)。下面程序可实现此功能,请填空。■.商品信息s入回回区1请看入编号:4孑231请检人名称:\~PrivateSublextl_Lostfocus()Dimk%,n%n=Len(H3])Fork=ltoif(n>3,n,4)c=Mid(Textl.lext,k,l)SelectCasekCase1,2Ifcv"A”Orc>"ZMThenMsgBox("第“&k&”个字符必须是大写字母!,,)SetPositionkExitForEndIfCase3Ifco"-"ThenMsgBox("第“&k&”个字符必须是字符)SetPositionkExitForEndIfCaseElseIfcv”0"Orc>M9HThenMsgBox(“第”&k&”个字符必须是数字!,,)SetPositionk

41ExitForEndIfEndSelectNextkEndSubPrivateSubSetPosition(posAsInteger)Text1.SelStart=pos-1Text.SelLength=[14]Text).T151EndSub2007年9月全国计算机等级考试二级VB笔试参考答案一、选择题1-5DBCAA6-10CCABA11-15BDCCA16-20BAACA21-25DBABC26-30BDCDB31-35DCDBA二、填空题1、无歧义性2、白盒测试3、顺序4、ACBDFEHGP5、实体集6、Comboll.List(Comboil.Listindex)7、pos8、HScrolll.value9、CD1.FileName10、ch11、1012、x13、Textl.Text14、115、SetFocus

422008年4月全国计算机等级考试二级VB笔试试卷一、选择题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、对长度为n的线性表排序,在最坏的情况下,比较次数不是n(n-l)/2的排序方法是A)快速排序B)冒泡排序7、下列关于栈的叙述正确的是A)栈按“先进先出”组织数据C)只能在栈底插入数据C)宜接插入排序D)堆排序B)栈按“先进后出”组织数据D)不能删除数据8、在数据库设计中,将E—R图转换成关系数据模型的过程属于A)需求分析阶段B)概念设计阶段9,有三个关系R、S和T如下:C)逻辑设计阶段D)物理设计阶段BDr工tt2R_2_..立h2[ZSBCDa0kl由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交10,设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩11、以下叙述中错误的是A)标准模块文件的扩展名是.basB)标准模块文件是纯代码文件C)在标准模块中声明的全局变量可以在整个工程中使用D)在标准模块中不能定义过程12、在VisualBasic中,表达式3*2\5Mod3的值是A)1B)0C)3D)出现错误提示

4313、以卜.选项中,不合法的VisualBasic变量名是A)a5bB)_xyz14、以下数组定义语句中,错误的是A)Statica(10)AsIntegerC)Dimd(-10)15、现有语句:y=IIf(x>0,xMod3,0)A)0B)1C)3C)a_bD)andifB)Dime(3,1to4)D)Dimb(0to5,1to3)AsInteger,设x=10,则y的值是D)语句有错16、为了使文本框同时具有垂直和水平滚动条,应先把MultiLine属性设置为True,然后再把Scrollbars属性设置为A)0B)1C)2D)317、文本框Textl的KeyDown事件过程如下:PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)EndSub其中参数KeyCode的值表示的是发生此事件时A)是否按下了Alt键或Ctrl键B)按下的是哪个数字键C)所按的键盘键的键码D)按下的是哪个鼠标键18、窗体上有一个名称为Hscrolll的滚动条,程序运行后,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。卜.面能够实现上述操作的事件过程是A)PrivateSubHscrolll_Changc()PrintHScroIH.ValueEndSubC)PrivateSubHScrolll_Scroll()PrintHScrolll.ValueEndSubB)PrivateSubHsctrolll_Change()PrintHScrollLSmallChangeEndSubD)PrivateSubHScrolll_Scroll()PrintHScrollLSmallChangeEndSub19、若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是A)用鼠标右键单击此按钮B)按键盘上的Esc键C)按键盘上的回车键D)用鼠标右键双击此按钮20、要使两个单选按钮属于同一个框架,正确的操作是A)先画•个框架,再在框架中画两个单选按钮B)先画个框架,再在框架外画两个单选按钮,然后把单远按钮拖到框架中C)先画两个单选按钮,再画框架将单选按钮框起来D)以上三种方法都正确21、能够存放组合框的所有项H内容的属性是D)SelectedA)CaptionB)TextC)List22>设窗体上有,个标签Labell和•个计时器Timerl,Timcrl的Interval属性被设置为1000,Enabled属性被设置为True。耍求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是A)PrivateSubTimerl_Timer()Labell.Caption=TrueEndSubC)PrivateSubTimerl_Timer()Labell.Interval1EndSubB)PrivateSubTimerl_Timer()Label1.Caption=Time$EndSubD)PrivateSubTimerl_Timer()Fork=1lbTimerl.IntervalLabel1.Caption=Timer

44NextkEndSub23、设有如图所示窗体和以下程序:PrivateSubCommandl_Click()lextl.lext=aVisualBasicwEndSubPrivateSubTextl_LostFocus()IfText1.Texto“BASIC”ThenTextl.lext^Textl.SetFocusEndIfEndSub程序运行时,在Tbxtl文件框中输入“Basic”(如图所示),然后单击Command1按钮,则产生的结果是A)文本框中无内容,焦点在文本框中B)文本框中为"Basic”,焦点在文本框中C)文本框中为“Basic”,焦点的按钮上D)文本框中为"VisualBasic”,焦点的按钮上24、窗体上有一个名称为Command1的命令按钮,其事件过程如下:PrivateSubCommand1_Click()x=VisualBasicProgramming0a=Right(x,l1)b=Mid(x,7,5)C=Msgbox(a,,b)EndSub运行程序后单击命令按钮,以下叙述中错误的是A)信息框的标题是BasicB)信息框中的提示信息是ProgrammingA)C的值是函数的返回值D)MsgBox的使用格式有错25、设工程文件包含两个窗体文件Forml.frm、Form2.frm及一个标准模块文件Modulel.bas,两个窗体上分别只有一个名称Commandl的命令按钮。Forml的代码如下:PublicXAsIntegerPrivateSubForm_load()x=ly=5EndSubPrivateSubCommandl_Ciick()Form2.ShowEndSubForm2的代码如下:PrivateSubCommandl_Ciick()PrintForm1.x,yEndSubModule1的代码如下:

45PublicyAsInteger运行以上程序,单击Form1的命令按钮Command],则显示Form2;再单击Form2上的命令按钮Command1,则窗体上显示的是A)15B)05C)00D)程序有错26、窗体上有一个名称Textl的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下:PrivateTypexaAsIntegerbASIntegerEndTypePrivateSubCommandl_Click()DimyAsxy.a=InpulBox("“)Ify.a\2=y.a/2Theny.b=y.a*y.aElsey.b=Fix(y.a/2)EndIf7extl.lext=y.bEndSub对以上程序,下列叙述中错误的是A)x是用户定义的类型B)InpulBox函数弹出的对话框中没有提示信息C)若输入的是偶数,y.b的值为该偶数的平方A)Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回27、窗体上有一个名称为CD1的通用对话框控件和由四个命令按钮组成的控件数Commandl,其下标从左到右分别为0、1、2、3,窗体外观如图所示。命令按钮的事件过程如卜.:PrivateSubCommandl_Click(IndexAsInteger)SelectCaseIndexCase0CDl.Action=lCase1CD1.ShowSaveCase2CDl.Action=5Case3EndEndSelectEndSub对上述程序,下列叙述中错误的是

46A)单击“打开”按钮,显示打开文件的对话框B)单击“保存”按钮,显示保存文件的对话框

47C)单击“打印”按钮,能够设置打印选项,并执行打印操作D)单击“退出”按钮,结束程序的运行28、窗体.上有两个水平滚动条HV、HT,还有一个文本框Ifextl和一个标题为“计算”的命令按钮Command1,并编写了以下程序:■For.l□回凶速度4」21距离时间±LIjj

48现有如卜.程序:PublicSubdisplay(xAsControl)IfTypeOfxisLabelThenx.Caption="计算机等级考试”Elsex.Picture=Loadpicture("pic.jpg'')EndlfEndSubPrivateSubLabell_Click()Calldisplay(Labell)EndSubPrivateSubPicturel_Click()Calldisp!ay(Picturel)EndSub对以上程序,下列叙述中错误的是A)程序运行时会出错B)单击图片框,在图片框中显示一幅图片C)过程中的X是控件变量D)单击标签,在标签中显示一串文字32、窗体上有两个名称分别为Textl、Tbxt2的文本框。Tbxtl的KeyUp的事件过程如卜.:PrivateSubText1_KeyUp(KeyCodcAsInteger,shiftASInteger)DimCASstringc=lextl.TextTcxt2.1ext=Chr(Asc(c)+2)EndSub当向文本框lextl中输入小写字母a时,文本框Text2中显示的是A)AB)aC)CD)c33、设窗体上有一个文体框Textl和一个命令按钮Command1,并有以卜事件过程:PrivateSubCommandl_Click()DimSAsString,chAsStringS="”Fork=1TOLen(Textl)ch=Mid(Textl,k,l)S=ch+SNextkTextl.lext=SEndSub程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Textl中显示的是A)BasicB)cisaBC)BASICD)CISAB34、某人编写了如卜.程序,用来求10个整数(整数从键盘输入)中的最大值:PrivateSubCommandl_Click()Dima(10)AsInteger,maxAsIntegerFork=lTO10a(K)=InputBox(“输入一个整数”)NextkMax=O

49Fork=llb10Ifa(k)>maxThenMax=a(k)EndIfNextkPrintmaxEndSub运行程序时发现,当输入io个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改,F面的修改中可以得到正确运行结果的是A)把Ifa(k)>maxThen改为Ifa(k)

50(6)设有以下的循环:要求程序运行时执行3次循环体,请填空。x=lDOx=x+2PrintxLoopUntil[6](7)窗体上命令按钮Commandl的事件过程如下:PrivateSubCommand1_Click()DimtotalAsIntegertotal=s(1)+s(2)PrinttotalEndSubPrivateFunctions(mAsInteger)AsIntegerStaticxAsIntegerFori=lTbmx=x+lNextiS=xEndFunction运行程序,第3次单击命令按钮Commandl时,输出结果为[7](8)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:OptionBaseIPrivateSubCommand1_Click()Dima(10)AsIntegerFori=llb10a(i)=iNextCallswap([8])Fori=lTb10Printa(i)NextEndSubSubsw叩(b()AsInteger)n=[9]Fori=1lbn/2t=Mi)b(i)=b(n)b(n)=t[10]NextEndSub上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(l)与a(10)的值互换,a(2)与a(9)的值互换,请填

51空。(9)在窗体上面一个通用对话框,其名称为CommonDialogl,然后画一个命令按钮,并编写如下事件过程:PrivateSubCommandl_Click()CommonDialog1.Filter=°AllFiles(*.*)I*.*llbxtFiles'1&M(*.txt)l*.txtlBatchFiles(*.bat)l*.baf,CommonDialoglFilterlndcx=lCommondialog1.ShowOpenMsgBoxCommonDialog1.FileNameEndSub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是"1];如果在对话框中选择d盘temp目录下的teLtxt文件,然后单击“确定”按钮,则在MsgBox信息框中显示的提示信息是[12].(10)以下程序的功能是:把程序文件smtextl.txt的内容全部读入内存,并在文本框Ibxtl中显示出来。请填空.PrivateSubCommandl_Click()DiminDataAsStringlextl.lext=Openasmtextl.txt0[13]As[14]DoWhile[15]Input#2,inDataText1.lext=Text1.lext&inDataLoopClose#2EndSub2008年4月全国计算机等级考试二级VB笔试参考答案一、选择题1-56-1011-1516-2021-2526-3031-353122132243DABCBDCACACBADADCCBAADBDB二、填空题L输出2.3.4.5.6,7.8.9.10.1624二维表数据定语言X>6或x=7或x>=716a()10n=n-lILAllFiles(*.*)12.d:\temp\tel.txl13.ForInput14.#2

5215.NnotEOF(2)2008年9月全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()oA)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA(2)下列叙述中正确的是(),A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为〃的有序线性表中进行二分查找,最坏情况下需要比较的次数是()»E)0(/2)F)0(常G)0(log2/7)H)0(nlogari)(4)下列叙述中正确的是().A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。A)控制流B)事件驱动C)模块调用D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是().A)N-S图B)DFD图C)PAD图D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是().A)一致性B)分类性C)多态性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。A)一对一B)一对多C)多对一D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是().A)人工管理阶段B)文件系统阶段

53C)数据库系统阶段D)三个阶段相同(10)有三个关系R、S和T如下:RSTCAJC一3m13J_5由关系R和S通过运算得到关系T,则所使用的运算为()oA)笛卡尔积B)交C)并D)自然连接(11)在设计窗体时双击窗体的任何地方,可以打开的窗口是()oA)代码窗口B)属性窗口C)工程资源管理器窗口D)工具箱窗口(12)若变量a未事先定义而直接使用(例如:a=0),则变量a的类型是()。A)IntegerB)StringC)BooleanD)Variant(13)为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为()。A)DimpiAsIntegerB)Dimpi(7)AsIntegerC)DimpiAsSingleD)DimpiAsLong(14)表达式2*3-2+4*2/2+3-2的值是()«A)30B)31C)49D)48(15)以下不能输出MProgram"的语句是()oA)PrintMid("VBProgram”,3,7)B)PrintRight("VBProgram”,7)C)PrintMidCVBProgram*,3)D)PrintLeft("VBProgranT,7)(16)窗体上有一个名称为Frame1的框架(如图),若要把框架上显示的“Framel”改为汉字“框架”,下面正确的语句是()oFramel-1□1x|A)Framel.Name="框架"B)Framel.Caption="框架”C)Framel.Text="框架”D)Framel.Value="框架"(17)以下叙述中错误的是()oA)在通用过程中,多个形式参数之间可以用逗号作为分隔符B)在Print方法中,多个输出项之间可以用逗号作为分隔符C)在Dim语句中,所定义的多个变量可以用逗号作为分隔符

54D)当一行中有多个语句时,可以用逗号作为分隔符(18)设窗体上有一个列表框控件Listl,含有若干列表项。以下能表示当前被选中的列表项内容的是()oA)Listl.ListB)Listl.ListindexC)Listl.TextD)Listl.Index(19)设a=4,b=5,c=6,执行语句Printa

55PrivateSubCommand1_C1ick()DimM(10)AsIntegerFork=lTo10M(k)=12-kNextkx=8PrintM(2+M(x))EndSub运行程序,单击命令按钮,在窗体上显示的是()。A)6B)5C)7D)8(24)以下关于过程及过程参数的描述中,错误的是().A)调用过程时可以用控件名称作为实际参数B)用数组作为过程的参数时,使用的是“传地址”方式C)只有函数过程能够将过程中处理的信息传回到调用的程序中D)窗体(Form)可以作为过程的参数(25)在窗体上画一个名称为Commandl的命令按钮,再则两个名称分别为Labell、Label2的标签,然后编写如下程序代码:PrivateXAsIntegerPrivateSubCommand1_C1ick()X=5:Y=3Callproc(X,Y)Label1.Caption=XLabe12.Caption=YEndSubPrivateSubproc(aAsInteger,ByVaibAsInteger)X=a*aY=b+bEndSub程序运行后,单击命令按钮,则两个标签中显示的内容分别是()»A)25和3B)5和3C)25和6D)5和6(26)在窗体上有两个名称分别为Textl、Text2的文本框,一个名称为Command1的命令按钮。运行后的窗体外观如图所示。设有如下的类型和变量声明:PrivateTypePersonnameAsString*8majorAsString*20EndTypeDimpAsPerson设文本框中的数据已正确地赋值给Person类型的变量p,当单击“保存”按钮时,能够正确地把变量中的数据写入随机文件Test2.dat中的程序段是()。A)Open"c:\Test2.dat"ForOutputAs#1Put#1,1,pClose#1

56A)Open"c:\Test2.dat"ForRandomAs#1Get#1,1,pClose#1B)Open"c:\Test2.dat"ForRandomAs#1Len=Len(p)Put#1,1,pClose#1C)Open"c:\Test2.dat"ForRandomAs#1Len=Len(p)Get#1,1,pClose#1(27)在窗体上画一个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommand1_C1ick()DimiAsInteger,nAsIntegerFori=0To50i=i+3n=n+lIfi>10ThenExitForNextTextl.Text=Str(n)EndSub程序运行后,单击命令按钮,在文本框中显示的值是()oA)2B)3C)4D)5(28)假定有以下循环结构DoUntil条件表达式循环体Loop则以下正确的描述是()oA)如果“条件表达式”的值是0,则一次循环体也不执行B)如果“条件表达式”的值不为0,则至少执行一次循环体C)不论“条件表达式”的值是否为“真”,至少要执行一次循环体D)如果“条件表达式”的值恒为0,则无限次执行循环体(29)在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommandlClick()DimI,NumRandomizeDoFor1=1To1000Num=Int(Rnd*100)PrintNum;SelectCaseNumCase12ExitForCase58ExitDoCase65,68,92EndEndSelectNextILoopEndSub55

572008年4月全国计算机等级考试二级一VB笔试真题上述事件过程执行后,下列描述中正确的是(—A)Do循环执行的次数为1000次B)在For循环中产生的随机数小于或等于100C)当所产生的随机数为12时结束所有循环D)当所产生的随机数为65、68或92时窗体关闭、程序结束(30)在窗体上画一个名为Commandl的命令按钮,然后编写如下代码:OptionBase1PrivateSubCommand1_C1ick()Dimaa=Array(1,2,3,4)j二lFori=4To1Step-1s=s+a(i)*jj=j*10NextiPrintsEndSub运行上面的程序,其输出结果是()oA)1234B)12C)34D)4321(31)设有如下通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAsString,strLAsIntegertStr-"strL=Len(xStr)i二lDoWhilei<=strL/2tStr=Tstr&Mid(xStr,i,1)&Mid(xStr,strL-i+1,1)i=i+lLoopFun=tStrEndFunction在窗体上画一个名称为Commandl的命令按钮。然后编写如下的事件过程:PrivateSubCommandlClick()DimSIAsStringSl="abcdef”PrintUCase(Fun(Sl))EndSub程序运行后,单击命令按钮,输出结果是()。A)ABCDEFB)abcdefC)AFBECDD)DEFABC(32)某人为计算n!(0

58EndFunction在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是()oA)把p=l改为p=nB)把Fork=n-lTo2Step-1改为Fork=lTon-1C)把Fork=n-lTo2Step-1改为Fork=lTonD)把Fork=n-lTo2Step-1改为Fork=2Ton(33)假定有以下函数过程:FunctionFun(SAsString)AsStringDimsiAsStringFori=lToLen(S)sl=LCase(Mid(S,i,1))+slNextiFun=slEndFunction在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommand1_C1ick()DimStrlAsString,Str2AsStringStrl二InputBox("请输入一个字符串”)Str2=Fun(Strl)PrintSrt2EndSub程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为()»A)ABCDEFGB)abcdefgC)GFEDCBAD)gfedcba(34)为计算1的值,某人编写了函数power如下:PrivateFunctionpower(aAsInteger,nAsInteger)AsLongDimpAsLongp=aFork=lTonp=p*aNextkpower=pEndFunction在调试时发现是错误的,例如Printpower(5,4)的输出应该是625,但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是()。A)把Fork=lTon改为Fork=2TonB)把p=p*a改为p=pnC)把Fork=lTon改为Fork=lTon-1D)把p=a改为p=l(35)某人编写了下面的程序PrivateSubCommand1_C1ick()DimaAsInteger,bAsIntegera=InputBox("请输入整数”)b=InputBox("请输入整数”)proaprobCallpro(a+b)EndSubPrivateSubpro(nAsInteger)While(n>0)PrintnMod10;n=n\10WendPrintEndSub此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123和234,则应该输出:321432753

59但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是()oA)把过程pro的形式参数nAsInteger改为ByVainAsIntegerB)把Callpro(a+b)改为proa+bC)把n=n\10改为n=n/10D)在prob语句之后增加语句c%=a+b,再把Callpro(a+b)改为proc二、填空题(每空2分,共30分)(2)按照软件测试的一般步骤,集成测试应在【2】测试之后进行。(3)软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节的控制和管理。(4)数据库设计包括概念设计、【1】和物理设计。(5)在二维表中,元组的【5】不能再分成更小的数据项。(6)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Textl、Label1和Command1,然后编写如下两个事件过程:PrivateSubCommand1_C1ick()S$=InputBox(〃请输入一个字符串〃)Textl.Text=S$EndSubPrivateSubTextl_Change()Label1.Caption=UCase(Mid(Textl.Text,7))EndSub程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“VisualBasic”,则在标签中显示的内容是(7)在窗体上画一个命令按钮,其名称为Commands然后编写如下事件过程:PrivateSubCommandl_Click()a$=*NationalComputerRankExamination^n=Len(a$)s=0Fori=lTonb$=Mid(a$,i,1)Ifb$="n"Thens=s+lEndIfNextiPrintsEndSub程序运行后,单击命令按钮,输出结果是一【7】。(8)为了在运行时把d:\pic文件夹下的图形文件a.jpg装入图片框Picturel,所使用的语句为【8】。(9)设有如下程序:PrivateSubForm_Click()Cisa$="ABCDFG〃Fori=lTo6PrintTab(12-i);[9]NextiEndSub程序运行后,单击窗体,结果如图所示,请填空・FormlGFGDFGCDFGBCDFGABCDFG(10)在窗体上画一个命令按钮,其名称为Commandl,然后编写如下代码:OptionBase1PrivateSubCommand1_C1ick()

60DimArrArr=Array(43,68,-25,65,-78,12,-79,43,-94,72)pos=0neg=0Fork=lTo10IfArr(k)>0Then【10】Else【11】EndIfNextkPrintpos,negEndSub以上程序的功能是,计算并输出数组Arr中10个数的正数之和pos与负数之和neg,请填空。(11)在窗体上画一个名为Commandl的命令按钮,然后编写如下程序:PrivateSubCommand1_C1ick()DimiAsIntegerSum=0n=InputBox(z

61LoadPicture(zzd:\pic\a.jpg")(6)Right(a$,i)或者Mid(a$,7-i)(7)pos=pos+Arr(k)(8)neg=neg+Arr(k)(9)sum+fun(i)(10)fun=p(11)END(12)Textl.Text或Textl

622009年4月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计(考试时间90分钟,满分100分)一、选择题(1)下列叙述中正确的是BA)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是AA)栈B)树C)队列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是AA)10B)8C)6D)4(4)下列排序方法中,最坏情况下比较次数最少的是CA)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是CA)编译软件B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是CA)软件测试的目的是发现错误并改正错误B)时被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是BA)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是CA)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:SABa3b0c2

63由关系R通过运算得到关系S,则所使用的运算为AA)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为DA)属性B)键C)关系D)域(11)执行语句DimX,YasInteger后,DA)X和丫均被定义为整型变量B)X和丫被定义为变体类型变量C)X被定义为整型变量,丫被定义为变体类型变量D)X被定义为变体类型变量,丫被定义为整型变量(12)以下关系表达式中,其值为True的是BA)"XYZ">”XYz”B)“VisualBasic”<>>'visualbasic**C)"the”-there”D)"IntegerM<"Int"(13)执行以下程序段a$="VisualBasicProgrammingMb$="C++”c$=Ucase(left$(a$,7))&b$&Right$(a$,12)后,变量c$的值为BA)VisualBasicProgrammingB)VISUALC++ProgrammingC)VisualC++ProgrammingD)VISUALBASICProgramming(14)下列叙述中正确的是CA)MsgBox语句的返回值是一个整数B)执行Msgbox语句并出现信息框后,不用关闭信息框即可执行其他操作C)MsgBox语句的第一个参数不能省略D)如果省加略MsgBox语句的第三个参数(Title),则信息框的标题为空(15)在窗体上画一个文本框(名称为textl)和一个标签(名称为labell),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数,以下可以实现实现上述操作的事件过程是CA)PrivateSubTextl_Change()Labell.Caption=Str(Len(Text1.Text))EndSubB)PrivateSubTextl_Click()Label1.Caption=Str(Len(TextI.Text))EndSubC)PrivateSubTextl_Change()Label1.Caption=textl.textEndSubD)PrivateSublabell_Change()Label1.Caption=Str(Len(TextI.Text))EndSub

64(16)在窗体上画两个单选按钮(名称分别为Optionl、option]标题分别为“宋体”和“黑体”)、1个复选框(名称为checkl,标题为“粗体”)和1个文本框(名称为textl,lext属性为“改变文字字体”),窗体外观如图所示。程序运行后,要求“宋体”单选按钮和“粗体”复选框被选中,则以下能够实现上述操作的语句序列是DA)Option\.value=FalseCheckl.v«/t/e=TrueB)Optionl.va/we=TrueChecki.value=0C)Optionl.va/ne=TrueCheckl.va/we=2D)Option1.value=TrueChecki.value=1(17)在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()c=1234cl=Trim(Str(c))Fori=1To4PrintNextEndSub程序运行后,单击命令按钮,要求在窗体上显示如下内容:1121231234则在横线上应填入的内容为AA)Right(cl,i)B)Left(cl,i)C)Mid(cl,I,l)D)Mid(cl,i,i)(18)假定有以下程序段Fori=lto3Forj=5to1step-1Printi*jNextjNexti则语句Printi*j的执行次数是AA)15B)16C)17D)18(19)在窗体上画两个文本框(名称分别为textl和text2)和一个命令按钮(名称为commandl),然后编写如下事件过程:PrivateSubCommandl_Click()x=0DoWhilex<50x=(x+2)*(x+3)n=n+1Looptext1.Text=Str(n)text2.Text=Str(x)EndSub程序运行后,单击命令按钮,在两个文本框中显示的值分别为B人)1和0B)2和72C)3和50D)4和168(20)阅读程序:PrivateSubCommandl_Click()A=0

65Forj=lto15a=a+jmod3NextjPrintaEndSub程序运行后,单击窗体,输出结果是BA)105B)1C)120D)15(21)以下说法中正确是的DA)当焦点在某个控件上时,按下一个字母键,就会执行该控件的keypress事件过程B)因为窗体不接受焦点,所以窗体不存在自己的keypress事件过程C)若按下的键相同,keypress事件过程中的keyascii参数与keydown事件过程中的keycode参数的值也相同D)在keypress事件过程中,keyascii参数可以省略(22)语句dima(-3to4,3to6)asinteger定义的数组的元素个数是DA)18B)28C)21D)32(23)在窗体上画一个命令按钮,其名称为commandl,然后编写如下代码:OptionBase1PrivateSubCommandl_Click()Dimaa=Array(1,2,3,4)j=1Fori=4To1Step-1s=s+a(i)*jj=j*10NextiPrintsEndSub程序运行后,单击命令按钮后,其输出结果是BA)4321B)1234C)34D)12(24)假定通过复制,粘贴操作建立了一个命令按钮数组Commandl,以下说法中错误的是DA)数组中每个命令按钮的名称(name属性)均为CommandlB)若未做修改,数组中每个命令按钮的大小都一样C)数组中各个按钮使用同一个click事件过程D)数组中每个命令按钮的index属性值都相同(25)在窗体上面画一个命令按钮,名称为Commandl,然后编写如下代码:OptionBase0PrivateSubCommandl_Click()DimA1(4)AsInteger,A2(4)AsIntegerFork=0To2Al(k+l)=InpulBox(“请输入一个整数”)A2(3-k)=Al(k+l)

66NextkPrintA2(k)EndSub程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为DA)0B)1C)2D)3(26)以下关于函数过程的叙述中,正确的是A)函数过程形参的类型与函数返回值的类型没有关系B)在函数过程中,过程的返回值可以有多个C)当数组作为函数过程的参数时,既能以值方式传递,也能以传址方式传递D)如果不指明函数过程参数的类型,则该参数没有数据类型(27)在窗体上画两个标签和一个命令按钮,其名称分别为Labell、Label2和Command1,然后编写如下程序:PrivateSubfunc(LAsLabel)L.Caption="1234”EndsubPrivateSubForm_Load()Label2.Caption=10EndsubPrivateSubCommandl_Click()A=VaI(Label2.Caption)Callfunc(Labell)Label2.Caption=aEndsub程序运行后,单击命令按钮,则在两个标签中显示的内容分别为DA)ABCD和10B)1234和100C)ABCD和100D)1234和10(28)在窗体上画一个命令按钮(名称为Commandl),并编写如下代码:FunctinFunl(ByvalaAsInteger,bAsInteger)AsIntegerDimtAsIntegert=a-bb=t+aFunl=t+bEndFunctionPrivateSubCommandl_Click()DimxAsIntegerX=10PrintFunl(Funl(x,(Funl(x,x-l))),x-l)EndSub程序运行后,单击命令按钮,输出结果是A)10B)0C)11D)21(29)以下关于过程及过程参数的描述中,错误的是A)过程的参数可以是控件名称B)调用过程时使用的实参的个数应与过程形参的个数相同C)只有函数过程能够将过程中处理的信息返回到调用程序中D)窗体可以作为过程的函数

67(30)有如卜通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAsString,strLAsIntegertStr=,M,strL=Len(xStr)i=strL/2DoWhilei<=strLtStn=tStr&Mid(xStr,i+l,l)i=i+lLoopFun=tStr&tStrEndFunction在窗体上画一个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()DimSIAsStringSl="ABCDEF”Textl.Text=Lcase(Fun(S1))EndSub程序运行后,单击命令按钮,文本框中显示的是A)ABCDEFB)abcdefC)defdedD)defabc(31)在窗体上画一个命令按钮和•个文本框(名称分别为Commandl和Textl),并把窗体的Keyprewiew属性设置为Tnie,然后编写如下代码:DimSaveAllAsStringPrivateSubForm_Load()ShowTexti.Text=,n,Textl.SetFocusEndSubPrivateSubCommand1_Click()Text1.Text=Lcase(SaveAll)+SaveAllEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)SaveAll=SaveAll+Chr(KeyAscii)EndSub程序运行后,直接用键盘输入:VB,再单击命令按钮,则文本框中显示的内容为A)vbVBB)不显示任何信息C)VBD)出错(32)设有以下程序:PrivateSubForm_Click()X=50Fori=lTo4Y=InputBox(“请输入一个整数”)Y=Val(y)IfyMod5=0Thena=a+yx=yElse

68a=a+xEndIfNextiPrintaEndSub程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为A)100B)50C)120D)70(33)以下关于菜单的叙述中,错误的是A)当前窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器B)把菜单项的Enabled属性设置为False,则可删除该菜单项C)弹出式菜单在菜单编辑器中设计D)程序运行时,利用控件数组可以实现菜单项的增加或减少(34)以下叙述中错误的是A)在程序运行时,通用对话框控件是不可见的B)调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可以打开不同的对话框窗口C)调用通用对话框控件的ShowOpen方法,能够直接打开在该通用对话框中指定的文件D)调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口(35)设在工程文件中有一个标准模块,其中定义了如下记录类型:TypeBooksNameAsString*10TelNumAsString*20EndType在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Commandl_Click时,在顺序文件Person.txt中写入一条Books类型的记录。下列能够完成该操作的事件过程是A)PrivateSubCommandl_Click()DimBAsBooksOpen“Person.txt“ForOutputAs#、1B.Name=InputBox("输入姓名”)B.TelNum=InpulBox("输入电话号码”)Write#LB.Name,B.TelNumClose#1EndSubB)PrivateSubCommandl_Click()DimBAsBooksOpen“Person.txtForinputAs#'1B.Name=InpulBox(“输入姓名”)B.TelNum=InputBox("输入电话号码”)Print#LB.Name,B.TelNumClose#1EndSubC)PrivateSubCommandl_Click()DimBAsBooksOpen44Person.txtForOutputAs#x1B.Name=InpulBox("输入姓名”)B.TelNum=InpulBox("输入电话号码”)

69Write#1,BClose#1EndSubA)PrivateSubCommandl_Click()Open"Person.txt”ForinputAs#'1Name=InputBox("输入姓名")TelNum=InputBox("输入电话号码”)Print#1,Name,Te!NumClose#1EndSub二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题纸上【1】-【15】序号的横线匕答在试卷上,在试卷上不得分,注意:以命令关键字填空的必须写完整。(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【I】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】.(4)数据库系统的核心是【4】(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是[5]框。(6)窗体如图所示,其中汽车是名称为Imagel的图像框,命令按钮的名称为Commandl,计时器的名称为Timerl,直线的名称为Linel。程序运行时,单击命令按钮,则汽车每0.1秒向左移动100,车头到达左边的直线时停止移动。请填空完成下面的属性设置和程序,以便实现上述功能。1Timerl的Interval属性的值应事先设置为【6】2PrivateSubCommandl_Click()Timer1.Enabled=TrueEndSubPrivateSubTimerl_Timer()IfImagel.Left>=[7]ThenImagel.Left=[8]-100EndIfEndSub(7)设窗体上有一个名称为Combol的组合框,并有以下程序:PrivateSubCombol_KeyPress(KeyAsciiAsInteger)If[9]=13Then'回车符的ASCII码是13Fork=0ToCombol.ListCount-1IfCombol.Text=Combol.List(k)ThenCombol.Tex仁””ExitForEndIfNextkIfComboLText<>""ThenCombol.Additem[10]EndIfEndIf

70EndSub程序的功能是:在组合框的编辑区中输入文本后按回车键,则检查列表中有无与此文本相同的项目,若有,则把编辑区中的文本删除,否则把编辑区中文本添加到列表的尾部。请填空。(8)在当前目录下有一个名为“myfile.txt”的文本文件,其中有若干行文本。下面程序的功能是读入此文件中的所有文本行,按行计算每行字符的ASCII码之和,并显示在窗体上。请填空。PrivateSubCommandLClick()Dimch$,asciiAsIntegerOpen"myfile.txt”For[11]As#1WhileNotEOF(l)LineInput#l,chascii=toasill([12])PrintasciiWendClose#1EndSubPrivateFunctiontoascii(mystr$)AsIntegern=0Fork=lTo[13]n=n+Asc(Mid(mystr,k,l))NextkToascii=nEndFunction(9)本程序实现文本加密。先给定序列:al,a2,an,它们的取值范围是1〜n,且互不相同。加密算法是:把原文本中第k个字符放到加密后的文本的第ak个位置处。若原文本长度大于n,则只对前n个字符加密,后面的字符不变;若原文本长度小于n,则在后面补字符“*”使文本长度为n后再加密。例如:若给定序列al,a2,…a7分别为2,5,3,7,6,1,4当文本为“PROGRAM”时,加密后的文本为“APOMRRG”当文本为“PROGRAMMING”,加密后的文本为“APOMRRGMING”当文本为“THANK”时,加密后的文本为“TA*HKN”下面的过程code实现这一算法。其中参数数组a()中存放给定序列(个数与数组a的元素个数相等)al,a2,a3…的值,要加密的文本放在参数变量mystr中。过程执行完毕,加密后的文本仍放在变量mystr中。请填空。OptionBase1PrivateSubcode(a()AsInteger,mystrAsString)DimchAsstring,clAsStringn=Ubound(a)-Len(mystr)Ifn>0Thenmystr=mystr&StringsCn/**“)EndIfCh=mystrFork=[14]ToUbound(a)Cl=Mid(mystr,k,l)n=[15]Mid$(ch,n)=clNextkMystr=ch

71EndSub2009年4月二级VB参考答案

721选择题:1-5:DDCDC6-10:ABAAC11-15:DBBCA16-20:DBABD21-25:ADBDC26-30:ADBCC31-35:AABCA2填空题1、192、白盒3、顺序结构4、数据库管理系统5、菱形6、1007、Linel.xl8、Image1.Left9、KeyAscii10、Combo1.Text11、Input12、ch13>Len(mystr)14、115、a(k)2009年9月全国计算机等级考试二级VB笔试试题及答案01电©I一、选择题(每小题2分,共70分)一、选择题1.下列数据结构中,属于非线性结构的是()oA.循环队列B.带链队列C.二叉树D.带链栈答案C解析树均是非线性结构2.下列数据结构中,能够按照“先进后出”原则存取数据的是()oA.循环队列B.栈C.队列D.二叉树答案B解析:栈是先进后出或后进先出的线性表3.对于循环队列,下列叙述中正确的是()oA.队头指针是固定不变的8.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针答案D解析:如果队头指针大于队尾指针说明队列已经循环存放数据了,如果队头指针小于队尾指针说明没有进行循环存放

734.算法的空间复杂度是指()oA.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数答案A解析:算法的空间复杂度是指执行算法所需要的内存空间,包括算法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间.5.软件设计中划分模块的一个准则是()。A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合答案B解析:模块内部各元素之间的联系要紧密,高内聚,模块间的连接的紧密程度要低,低耦合,这样可以提高模块的独立性.6.下列选项中不属于结构化程序设计原则的是()(>A.可封装B.自顶向下C.模块化D.逐步求精答案A7.软件详细设计产生的图如下该图是().A.N-S图B.PAD图C.程序流程图D.E-R图答案C8.数据库管理系统是()。A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.-种操作系统答案B9.在E-R图中,用来表示实体联系的图形是()oA.椭圆形B.矩形C.菱形D.三角形答案C10.有三个关系R,S,T如下:RABCa12b21c31SABCd32TABCa12b21c31d32

74其中关系T由关系R和S通过某种操作得到,该操作称为()oA.选择B.投影C.交D.并答案D解析:T是由S表或R表中的元素组成的(11)以下变量名中合法的是C)strn(12)洞数学表达式表示为正确的VB表达式应该是D)(x*5+3)/(y*2-6)(13)下面有关标准模块的叙述中,错误的是A)标准模块不完全由代码组成,还可以有窗体(14)下面控件中,没有Caption属性的是C)组合框(15)用来设置文字字体是否斜体的属性是D)Fontltalic(16)若看到程序有如下事件过程,则可以肯定的是,当程序运行时PrivateSubCiickMouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Print"VBProgram”EndSubD)用鼠标左键或右键单击名称为"Click”的控件时,执行此过程(17)可以产生30-50(含30到50)之间的随机整数的表达式是A)Int(Rnd*21+30)(18)在程序运行时,下面的叙述中正确的是C)只装入而不显示窗体,也会执行窗体的Form_Load事件过程(19)窗体有名称为Command1的命令按钮和名森为Textl的文本框PrivateSubCommand1Click()Textl.Text="程序设计”Textl.SetFocusEndSubPrivateSubTextlGotFocus()Textl.Text="等级考试"EndSub运行以上程序,单击命令按钮后B)文本框中显示的是“等级考试”,且焦点在文本框中(20)设窗体上有名称为Optionl的单选按钮,且程序中有语句:IfOption.Value=TrueThen下面语句中与该语句不等价的是C)IfValue=TrueThen(21)设窗体上有1个水平滚动条,已经通过属性窗口把它的Max属性设置为1,Min属性设置为100,下面叙述中正确的是A)程序运行时,若使滚动条向左移动,滚动条的Value属性值就增加(22)有如下过程代码:Subvar_dim()

75StaticnumaAsIntegerDimnumbAsIntegernuma=numa+2numb=numb+1Printnuma;numbEndSub连续3次调用var_dim过程,第3次调用时的输出是C)61(23)在窗体上画1个命令按钮,并编写如下事件过程:PrivateSubCommand1_C1ick()Fori=5To1Step-0.8PrintInt(i);NextiEndSub运行程序,单击命令按钮,窗体上显示的内容为A)543211(24)在窗体上画1个命令按钮,并编写如下事件过程:PrivateSubCommandl_Click()Dima(3,3)Form=1To3Forn=1To3Ifn=m0rn=4-mThena(m,n)=m+nElsea(m,n)=0EndIfPrinta(m,n);NextnPrintNextmEndSubB)204040406(25)设有如下函数过程:Functionfun(aAsInteger,bAsInteger)DimcAsIntegerIfaba=a-bWendfun=aEndFunction在调试时发现函数是错误的,为使函数能产生正确的返回值,应做的修改是D)把Whilea>b改为Whilea>=b(30)下列关于通用对话框CommonDialogl的叙述中,错误的是

76A)只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开(31)在利用菜单编辑器设计菜单时,为了把组合键“Alt+X”设置为“退出(X)”菜单项的访问键,可以将该菜单项的标题设置为B)退出(&X)(32)在窗体上画1个命令按钮和1个文本框,其名称分别为Commandl和Textl,再编写如卜程序:DimssAsStringPrivateSubTextlKeyPress(KeyAsciiAsInteger)IfChr(KeyAscii)<>""Thenss-ss+Chr(KeyAscii)EndSubPrivateSubCommandlClick()DimmAsString,iAsIntegerFori=Len(ss)To1Step-1m=m+Mid(ss,i,1)NextTextl.Text=UCase(m)EndSub程序运行后,在文本框中输入“Number100”,并单击命令按钮,则文本框中显示的是D)001REMBUN(33)窗体的左右两端各有1条直线,名称分别为Linel.Line2;名称为Shape1的圆靠在左边的Linel直线上(见图);另有1个名称为Timerl的计时器控件,其属性值为True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:PrivateSubTimerITimerOFork=Linel.XIToLine2.XIStep100IfShapel.Left+Shapel.Width

77二、填空题(每空2分,共30分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有【1】14个结点。(2)程序流程图中的菱形框表示的是【2】逻辑条件或逻辑判断或条件或判断。(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中【3】需求分析阶段产生“软件需求规格说明书”。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多的,那么“学生”和“可选课程”的联系为【4】多对多。(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是【5】身份证号。(6)工程中有Forml和Form2两个窗体。Forml窗体外观如图1所示。程序运行时,在Forml中名称为Textl的文本框中输入一个数值(圆的半径),然后单击命令按钮“计算并显示”(其名称为Commandl),则显示Form2窗体,且根据输入的圆的半径计算圆的面积,并在Form2的窗体上显示出来,如图2所示。如果单击命令按钮时,文本框中输入的不是数值,则用信息框显示“请输入数值数据!”。请填空。PrivateSubCommandlClick()IfTextl.Text=""Thenmagbox”请输入半径!”ElselfNotIsNumeric([6]Textl.Text)ThenMsgBox”请输入数值数据!”Elser=Val([7]Textl.Text)Form2.Show[8]Form2.Print”圆的面积是"&3.14*r*rEndIfEndSub(7)设有整型变量s,取值范围为0〜100,表示学生的成绩,有如下程序段:Ifs〉=90ThenLevel="A"Elselfs>=75ThenLevel="B"Elselfs>=60ThenLevel="C"ElseLevel="D"EndIf下面用SelectCase结构改写上述程序,使两段程序所实现的功能完全相同,请填空。SelectCasesCase[9]Is>=95Level="A"Case75To90Level="B"Case60To74Level="C"Case[10]Else或Is<60Level="D"[11]EndSelect(8)窗体上有名称为Commandl的命令按钮。事件过程及2个函数过程如下:PrivateSubCommandlClick()DimxAsInteger,yAsInteger,zx=3y=5z=fy(y)Printfx(fx(x)),yEndSubFunctionfx(ByVaiaAsInteger)fx=aEndFunctionFunctionfy(ByRefaAsInteger)a=a+afy=aEndFunction运行程序,并单击命令按钮,则窗体上显示的2个值依次是[12]12和[13]10o(9)窗体上有名称为Commandl的命令按钮及名称为Textl、能显示多行文本的文本框。程序运行后,如果单击命令按钮,则可打开磁盘文件c:\test.txt,并将文件中的内容(多行文本)显示在文本框中。下面是实现此能的程序,请填空。PrivateSubCommandlClick()Textl=""Number=FreeFileOpen"c:\test.txt"ForInputAsNumberDoWhileNotEOF([14]Number)LineInput#Number,s

78Textl.Text=Textl.Text+[15]s+Chr(13)+Chr(10)LoopClosettNumberEndSub参考答案一.选择题11.c12.D13.A14.C15.D16.D17.A18.C19.B20.C21.A22.C23.A24.B25.D26.C27.D28.B29.D30.A31.B32.D33.B34.C35.A二.填空题6.textl.texttextl.textForm27.ISELSEENDSELECT8.12109.NUMBERS公共基础试题答案选择题l.C2.B3.D4.A5.B6.A7.C8.B9.C10.D填空题1.142.逻辑判断3.需求分析4.多对多5.身份证号2011年3月全国计算机二级VB考试真题一.选择题(每小题2,共70分)L下列关于栈正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不正确2.下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构C)只有一个根结点的数据结构不一定是线性结构的B)循环链表是非线性结构C)双向链表是非线性结构3.某二叉树共有7个结点,其中叶子节点只有1个,则二叉树的深度为(假设根结点在第一层)A)3B)4C)6D)7

794)在软件开发中,需求分析阶段产生的主要文档时A)软件集成测试B)软件详细设计说明书C)用户手册D)软件需求规格说明书5)结构化程序所要求的基本结构不包括A)顺序结构A)GOTO跳转C)选择(分支)结构D)重复(循环)结构6)下列描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图式软件详细设计的表示工具7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言8)一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是A)l:l联系B)1:M联系C)M:1联系D)M:N联系9)有三个关系R,S和T如下:

80□M匚□OD则由关系R和S得到的关系T的操作是A)自然连接B)交C)除D)并10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}11)在VISUALBASIC集成环境中,可以列出工程中所有模块名称的窗口是()A)工程资源管理器窗口B)窗体设计窗口C)属性窗口D)代码窗口12)假定编写了下列如下4个窗体事件的事件过程,则运行应用程序并显示窗体后,已经执行的事件过程是0A)LOADB)CLICKC)LostFocusD)KeyPress13)为了使标签具有“透明”的显示效果,需要设置的属性是‘A)CaptionB)AlignmentC)BackStyleD)AutoSize14)下面可以产尘20-30(含20和30)的随机整数的表达式是A)Int(Rnd*10+20)B)Int(Rnd*l1+20)C)Int(Rnd*20+30)D)Int(Rnd*30+20)15)设窗体上有一个名称为HS1的水平滚动条,如果执行了语句:HSl.X^lue=(HSl.Max-HSl.Min)/2+HSl.Min则A)滚动块处于最左端B)滚动块处于最右端C)滚动块处于中间位置D)滚动块可能处于任何位置,具体位置取决于Max,Min属性的值16)窗体上有一个名称为Cbl的组合框,程序运行后,为了输出选中的列表项,应使用的语句是A)PrintCbl.SelectedB)PrintCbl.list(Cbl.Listindex)C)PrintCbl.Selected.TextD)PrintCbl.List(Listindex)

8117)为了在再窗体上建立2组单选按钮,并且当程序运行时,每组都可以有一个单选按钮被选中,则以下做法中正确的是A)把这2组单选按钮设置为名称不同的2个控件数组B)使2组单选按钮的Index属性分别相同C)使2组单选按钮的名称分别相同D)把2组单选按钮分别画到2个不同的框架中18)如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是A)它的Yl,Y2属性的值相等B)它的XI,X2属性的值相等C)它的XI,Y1属性的值分别与X2,Y2属性的值相等D)它的XI,X2属性的值分别与Yl,Y2属性的值相等19)设a=2,b=3,c=4,d=5,则下面语句的输出是Print3>2*bora=candbocorc>dA)FalseB)1C)TrueD)-l20)窗体Forml上有一个名称为Command1的命令按钮,以下对应窗体单击事件的事件过程是()A)PrivateSubForml_Click()EndSubB)PrivateSubForm_Click()EndSubC)PrivateSubCommand1__Click()EndSubD)PrivateSubCaommand_Click()EndSub21)默认情况下,下面声明的数组元素个数是Dima(5r2To2)A)20B)24C)25D)3022)设有如下程序段Dima(10)Foreachxina

82PrintxNextx在上面的程序段中,变量X必须是A)整形变量B)变体型变量C)动态数组D)静态数组23)设有以下函数过程PrivateFunctionFun(a()AsInteger,bAsString)AsIntegerEndFunction若已有变量声明:Dimx(5)AsInteger,nAsInteger,chAsString则下面正确的过程调用语句是A)x(0)=Fun(x/ch//)B)n=Fun(n,ch)C)CallFunx,〃ch”D)n=Fun(x(5),ch)24)假定用下面的语句打开文件:Open€4Filel.txf,ForInputAs#l则不能正确读文件的语句是A)Input#l,ch$B)LineInput#1,ch$C)ch$=Input$(5,#l)D)Read#l,ch$25)下面程序的执行结果是PrivateSubCommandl_Click()a=10Fork=1to5Step-1a=a-kNextKPrinta;kEndSubA)-56B)-5-5B)C)100D)10126)设窗体上有一个名为Textl的文本框和一个名为Commandl的命令按钮,并有以下事件过程PrivateSubCommand1_Click()x!=Val(Textl.text)SelectCasexCaseIs<-10,Is>=20Print“输入错误”CaseIs<0Print20-xCaseIs<=20Printx+10EndSelectEndSub程序运行时,如果在文本框中输入-5,则单击命令按钮后的输出结果是A)5B)20C)25D)输入错误

8327)设有如下程序PrivateSubCommandl_Click()x=10:y=0Fori=lTo5Dox=x-2y=y+2LoopUntily>5Orx<-lNextEndSub运行程序,其中D。循环执行的次数是A)15B)10C)7D)328)阅读程序:PrivateSubCommand1_Click()DimarrDimiAsIntegerarr=Array(0,1,2,3,4,5,6,7,89/0)Fori=0To2Printarr(7-i);NextEndSub在程序运行后,窗体上显示的是:A)876B)765C)654D)54329)在窗体上画一个名为Commandl的命令按钮,然后编写以下程序:PrivateSubCommand1_Click()Dima(10)AsIntegerFork=10To1Step-1a(k)=20-2*kNextkK=k+7Printa(k-a(k))EndSub程序运行后,单击命令按钮,输出的是A)18B)12C)8D)630)在窗体上画一个名为Commandl的命令按钮,并有如下程序Privatesubcommand1_click()Dima(10),x%Fork=1to10a(k)=int(md*90+10)x=x+a(k)mod2NextkPrintx程序运行后,单击命令按钮输出的结果是

84A)10个数中的奇数个数B)10个数中的偶数个数A)10个数中的奇数的累加和D)10个数中的偶数的累加和31)窗体上有一个名为Commandl的命令按钮和一个名为Timerl的计时器,并有下面的事件过程:PrivateSubCommandl_Click()Timerl.Enabled=TrueEndSubPrivateSubForm_Load()Timerl.Interval=10Timerl.Enabled=FalseEndSubPrivateSubTimerl_Timer()Command1.Left=Command1.Left+10EndSub程序运行时,单击一个列表框,则产生的结果是A)命令按钮每10秒向左移动一次B)命令按钮每10秒向右移动一次C)命令按钮每10毫秒向左移动一次D)命令按钮每10毫秒向右移动一次32.设窗体上有一个名为Listl的列表框,并编写下面的事件过程:PrivateSubListl_click()DimchasstringCh=Listl.list(listl.listindex)Listl.removeitemListl.listindexListl.additemchEndsub程序运行后,单击一个列表框,则产生的结果是A)该列表项被移到列表的最前面B)该列表项被删除C)该列表项被移到列表的最后面D)该列表项被删除后又在原位置插入33)窗体上有一个名为Commandl的命令按钮,并有如下程序:PrivateSubCommandl_Click()

85DimaAsInteger,bAsintegera=8b=12PrintFun(a,b);a;bEndSubPrivateFunctionFun(ByValaAsInteger,basinteger)AsIntegera=aMod5b=b\5Fun=5EndFunction程序运行时,单击命令按钮,则输出结果是A)332B)382C)8812D)381234)为了从当前文件夹中读入文件Filel.txt,某人编写了下面程序:PrivateSubCommandl_Click()Open^tFilel.txt^^ForOutputAs#20DoWhileNotEOF(20)LineInput#20,ch$PrintchLoopClose#20EndSub程序运行时,发现有错误,下面的修改方案中正确的是A)在Open语句中的文件名前添加路径B)把程序中各处的“20”该为“1”C)把Printch语句改为Print#20,chD)把Open语句中的Output改为Input35)以下程序运行后的窗体如图所示,其中组合框的名称是Combol,已有列表框如图所示:命令按钮的名称是Command1o

86nForml回回叵cCommand!VBFortranPascalJavaPrivateSubCommand1_Click()IfNotCheck(Combol.Text)ThenMsg(“输入错误”)ExitSubExitIfFork=0ToCombo1.ListCount-1IfCombo1.Text=Combo1.List(k)ThenMsgBox(“项目添加失败”EndSubNextkCombo1.AdditemCombo1.TextMsgBox("添加项目成功”EndSubPrivateFunctionCheck(chAsString)AsBooleann=Len(ch)Fork=ltonc$=UCase(Mid(ch,k,1))Ifcv"A"Orc>ZThenCheck=FalseExitIfNextkCheck=TrueEndFunction程序运行时,如果在组合框的编辑区中输入“Java”,则单击命令按钮后产生的结果是A)显示“输入错误”C)显示“添加项目成功B)显示“添加项目失败”D)没有任何显示二.填空题(每空2分,共30分)1)有序线性表能进行二分查找的前提是该线性表必须是【1】储存的。

872)一棵二叉树的中序遍历结果是DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为[2]3)对软件设计的最小单位(模块或程序单元)进行的测试通常为【3】测试4)实体完整性的约束要求关系数据库中元组的【4】属性不能为空5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码6)在窗体上有个名称为Command1的命令按钮,并有如下事件过程和函数过程:PrivateSubCommand1_Click()DimpAsIntegerp=m(l)+m(2)+m⑶PrintpEndSubPrivateFunctionm(nAsInteger)AsIntegerStaticsAsIntegerFork=1Tons=s+lNextm=sEndFunction运行程序,单击命令按钮Commandl后的输出结果为【6】7)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:PrivateSubCommandl_Click()DimmAsInteger,xAsIntegerDimflagAsBooleanFlag=Falsen=Val(InputBoxC请输入任意个正整数”))DoWhileNotflaga=2flag=[7]DowhileflagAnda<=Int(Sqr(n))Ifn/a=n\aThenflag=falseElse[8]EndIfLoopIfNotflagThenn=n+lLoopPrint[9]EndSub上述程序的功能是,当在键盘被输入任意的一个正整数时,将输出不小于该整数的最小素数。请填空完整程序。8)以下程序的功能是:现将随机产生的10个不同的整数放入数组a中,再将这10个数按升序方式输出。请填空。PrivateSubForm_Click()Dima(10)AsInteger,iasIntegerRandomize1=0

88Donum=Int(Rnd*90)+10Forj=1Tol,检查新产生的随机数是否与以前的相同,相同的无效Ifnum=a(j)ThenExitForEndIfNextjIfj>ITheni=i+la(i)=[10]EndIfLoopWhilei<10Fori=lTo9Forj=[11]To10Ifa(i)>a(j)Thentemp=a(i):a(i)=a(j):[12]NextjNextiFori=lTo10Printa(i)NextiEndSub9)窗体上已有名称分别为Drivel,Dirl,Filel的驱动器列表框,目录列表框和文件列表框,且有1个名称为Textl的文本框,以下程序的功能是:将指定位置中的扩展名为“.txt”的文件显示在Filel中,如果双击Filel中的某个文件,则在Textl中显示该文件的内容。请填空。PrivateSubForm_Load()File.Pattern=[13]EndSubPrivateSubDirl_Change()File.Path=Dirl.PathEndSubPrivateSubFilel_DblClick()DimsAsString*lIfRight(File1.Path,1)=VThenf_name=Filel.Path+Filel.FileNameElsef_name=Filel.Path+,,V,+Filel.FileNameEndIfOpenf_name[14]As#1Textl.Text=,M,DoWhile[15]s=Input(l,#l)Text1.Text=Text1.Text+sLoopClose#1EndSub

892011年3月计算机二级VB试题答案选择题1-5AACBC6-10BDBAB)1-15CBADD16-20CCBAA21-25DCBDB填空题1、102、True3、a=a+l4、n5、num6、i7、a(j)=temp8、"x.txt"9、forinput10、noteof11}2011年9月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。1)下列叙述中正确的是A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可能性D)以上三种说法都不对2)下列关于线性链表的叙述只能够,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对

903)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多以个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍4)软件按功能可以分为应用软件,系统软件和支撑软件(或工具软件)下面属于应用软件的是A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统5)某系统总体结构图如下图所示:该系统总体结构图的深度是A)7B)6C)3D)26)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误7)下列关于数据库设计的叙述中,正确的是A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式9)有三个关系R、S和T如下则由关系R和S得到关系T的操作是A)自然连接B)差C)交D)并

9110)下列选项中属于面向对象设计方法主要特征的是A)继承B)自顶向下C)模块化D)逐步求精11)以下描述中错误的是A)窗体的标题通过其Caption属性设置B)窗体的名称(Name属性)可以在运行期间修改C)窗体的背景图形通过其Picture属性设置D)窗体最小化时的图标通过其Icon属性设置12)在设计阶段,当按Ctrl+R,所打开的窗口是A)代码窗口B)工具箱窗口C)工程资源管理器D)属性窗口13)设有如下变量声明语句:Dima,basBoolean则下面叙述中正确的是A)a和b都是布尔型变量B)a是变体型变量,b是布尔型变量C)a是整型变量,b是布尔型变量D)a和b都是变体型变量14)下列可作为VisualBasic变量名的是A)A#AB)4ABCC)?xyD)Print_Text15)假定一个滚动条的LargeChange属性值为100,则100表示A)单击滚动条箭头和滚动框之间某位置时滚动框位置的变化量B)滚动框位置的最大值C)拖动滚动框时滚动框位置的变化量D)单击滚动条箭头时滚动框位置的变化量16)在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()MsgBoxstr(123+321)EndSub程序运行后,单击命令按钮,则在信息框中显示的提示信息为A)字符串“123+321"B)字符串“444"C)数值“444"D)空白17)假定有以下程序:PrivateSubForm_Click()3—1:b=aDoUntila>=5x=a*bPrintb;xa=a+bb=b+aLoopB)1C)1D)123243836

9218)在窗体上画一个名称为Listl的列表框,列表框中显示若干城市的名称。当单击列表框中的某个城市名时,该城市消失。下列在ListLClick事件过程中能正确实现上述功能的语句是A)List1.RemoveItemListl.TextB)Listl.RemoveItemListl.ClearC)Listl.RemoveItemListl.ListCountD)Listl.RemoveItemListl.ListIndex19)列表框中的项目保存在一个数组中,这个数组的名字是A)ColmnB)StyleC)ListD)MultiSelect20)有人编写了如下程序:PrivateSubForm_Click()DimsAsInteger,xAsIntegers=0:x=0DoWhiles=10000x=x+ls=s+xA2LoopPrintsEndSub上述程序的功能是:计算§=1+22+3?+…!?+…直到s>10000为止。程序运行后,发现得不到正确的结果,必须进行修改。下列修改中正确的是A)把x=0改为x=lB)把DoWhiles=10000改为DoWhiles<=10000C)把DoWhiles=10000改为DoWhiles>=10000D)交换x=x+l和s=s+xA2的位置21)设有如下程序:PrivatesubForm_Click()Dimsaslong,faslongDimnasinteger,!asintegerf=l:n=4Fori=ltonf=f*is=s+fNext1PrintsEndsub程序运行后,单击窗体,输出结果是A)32B)33C)34D)3522)阅读下面的程序段a=0Fori=lto3

93Forj=ltoiFork=jto3a=a+lNextkNextjNexti执行上面的程序段后,a的值为A)3B)9C)14D)2112312341234512345623)设有如下程序:PrivateSubForm_Click()Cisa$=M123456HFori=lto6Printtab(12-i);NextiEndsub程序运行后,单击窗体,要求结果如图所示,则在__处应填入的内容为A)Left(a$,i)B)Mid(a$,8-i,i)C)Right(a$4)D)Mid(a$,7,i)24)设有如下程序:PrivateSubForm_Click()Dimiasintegei;xasstringDimyasstringx=nABCDEFGHFori=4to1step-1y=Mid(x,i,i)+yNextiPrintyEndsub程序运行后,单击窗体,输出结果为A)ABCCDEDEFGB)AABBCDEFGC)ABCDEFGD)AABBCCDDEEFFGG25)设有如下程序:PrivateSubForm_Click()Dimary(lto5)asintegerDimiasintegerDimsumasintegerFori=lto5ary(i)=i+lsum=sum+ary(i)nextiprintsum

94Endsub程序运行后,单击窗体,则在窗体上显示的是A)15B)16C)20D)2526)有一个数列,它的前3个数为0,1,1,此后的每个数都是其前面3个数之和,即0,1,1,2,4,7,13,24...要求编写程序输出该数列中所有不超过1000的数某人编写程序如下:PrivateSubForm_Click()Dimiasinteger^asinteger,basintegerDimcasintegei;dasintegera=0:b=l:c=ld=a+b+ci=5whiled<=1000printd;a=b:b=c:c=dd=a+b+ci=i+lwendEndsub运行上面的程序,发现输出的数列不完整,应进行修改。以下正确的修改是A)把whiled<=1000改为whiled>1000B)把i=5改为i=4C)把i=i+l移到whiled<=1000的下面D)在i=5的上面增加一个语句:printa;b;c;27)下面的语句用Array函数的数字变量a的各元素赋整数值:a=array(1,23,4,5,6,7,8,9)针对a的声明语句应该是A)DimaB)DimaasintegerC)Dima(9)asintegerD)Dima()asinteger28)下列描述中正确的是A)VisualBask只能通过过程调用执行通用过程B)可以在Sub过程的代码中包含另一个Sub过程的代码C)可以像通用过程一样指定事件过程的名字D)Sub过程和Function过程都有返回值29)阅读程序:Functionfac(byvalnasinteger)asinteger

95Dimtempasintegertemp=lFori=ltontemp=temp*iNextiFac=tempEndFunctionPrivatesubForm_Click()Dimnsumasintegernsum=lfori%=2to4nsum=nsum+fac(i%)nextiprintnsumEndsub程序运行后,单击窗体,输出结果是A)35B)31C)33D)3730)在窗体上画一个命令按钮和一个标签,其名称分别为Commandl和Labell,然后编写如下代码:SubS(xasintegei;yasinteger)Staticzasintegery=x*x+zz=yEndSubPrivateSubCommandl_Click()Dimiasinteger^asintegerm=0:z=0Fori=lto3Si,zm=m+zNextiLabell.caption=str(m)Endsub程序运行后,单击命令按钮,在标签中显示的内容是A)50B)20C)14D)731)以下说法中正确的是A)MouseUp事件是鼠标向上移动时触发的事件B)MouseUp事件过程中的x,y参数用于修改鼠标的位置C)在MouseUp事件过程中可以判断用户是否使用了组合键

96D)在MouseUp事件过程中不能判断鼠标的位置32)假定已经在菜单编辑器中建立了窗体的弹出式菜单,其顶级菜单项的名称为al,其“可见”属性为False,程序运行后,单击鼠标左键或右键都能弹出菜单的事件过程是A)PrivateSubForm_MouseDown(ButtonasInteger,Shiftasinteger*XasSingle,YasSingle)IfButton=lAndButton=2ThenPopupMenualEndifEndSubB)PrivateSubForm_MouseDown(ButtonasInteger,Shiftasinteger,XasSingle,YasSingle)PopupMenualEndSubC)PrivateSubForm_MouseDown(ButtonasInteger,ShiftasintegeryXasSingle,YasSingle)IfButton=lThenPopupMenualEndifEndSubD)PrivateSubForm_MouseDown(ButtonasInteger,Shiftasinteger,XasSingle,YasSingle)IfButton=2ThenPopupMenualEndifEndSub33)在窗体上画一个名称为CD1的通用对话框,并有如下程序:PrivateSubForm_Load()CDl.DefaultExt=''doc"CDl.FileName="c:\filel.txt”CDl.Filter="应用程序(*.exe)l*.exe”EndSub程序运行时,如果显示了“打开”对话框,在“文件类型”下拉列表中的默认文件类型A)应用程序(*.exe)B)*.docC)*.txtD)不确定34)以下描述中错误的是A)在多窗体应用程序中,可以有多个当前窗体B)多窗体应用程序的启动窗体可以在设计时设定C)多窗体应用程序中每个窗体作为一个磁盘文件保存D)多窗体应用程序可以编译生成一个EXE文件35)以下关于顺序文件的叙述中,正确的是A)可以用不同的文件号以不同的读写方式同时打开同一个文件B)文件中各记录的写入顺序与读出顺序是一致的C)可以用Input#或LineInput#语句向文件写记录

97D)如果用Append方式打开的文件,则既可以在文件末尾添加记录,也可以读取原有记录二、填空(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。1)数据结构分为线性结构与非线性结构,带链的栈属于一.2)在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中个元素。3)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。4)数据库系统的核心是14】。5)在进行关系数据库的逻辑设计时,E-R图中的属性常被转换为关系中的属性,联系通常被转换为[5].6)为了使标签属性能自动调整大小以显示标题(Caption属性)的全部文本内容,应把该标签的【6】属性设置为True.7)在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:PrivateSubCommadl_Click()x=lResult=lWhilex<=10Result=[7]x=x+lWendPrintResultEndSub上述事件过程用来计算10的阶乘,请填空。8)在窗体上画一个命令按钮,其名称为CommandL然后编写如下事件过程:PrivateSubCommadl_Click()t=0:m=l:Sum=0Dot=t+[8]Sum=Sum+[9]m=m+2LoopWhile[10]PrintSumEndSub该程序的功能是,单击命令按钮,则计算冰输出以下表达式的值:1+(1+3)+(1+3+5)+...+(1+3+5+...99)请填空。9)在窗体上画一个命令按钮,其名称为CommandL然后编写如下事件过程:PrivateSubCommadl_Click()DimM(10)asIntegerFork=lto10M(k)=12-kNextkx=6PrintM(2+M(x))EndSub程序运行后,单击命令按钮,输出结果是【11】10)在窗体上画一个命令按钮,其名称为CommandL然后编写如下事件过程:

98PrivateSubCommad1_Click()DimnasIntegern=Val(InputBox「请输入一个整数:"))IfnMod3=0AndnMod2=0AndnMod5=0thenprintn+10EndIfEndSub程序运行后,单击命令按钮,在输入对话框中输入60,则输出结果是_1皿11)在窗体上画一个命令按钮,其名称为CommandL然后编写如下事件过程:PrivateSubCommadl_Click()DimctAsStringDimntAsIntegerOpen"e:\stud.txt"【13】DoWhileTruect=InputBox(”请输入姓名:")Ifct=[14]ThenExitDont=VaI(InputBox(”请输入总分严))Write#l,[15]LoopClose#1以上程序的功能是:程序运行后,单击命令按钮,则向e盘根目录下的文件stud.txt中添加记录(保留已有记录),添加的记录由键盘输入:如果输入“end”,则结束输入。每条记录包含姓名(字符串型)和总分(整型)两个数据。请填空

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭