《全国计算机等级考试二级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]To6Ifmax 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()
此文档下载收益归作者所有