历年全国计算机等级考试二级vb笔试真题及答案

历年全国计算机等级考试二级vb笔试真题及答案

ID:83046221

大小:1.25 MB

页数:168页

时间:2023-09-20

上传者:用户名
历年全国计算机等级考试二级vb笔试真题及答案_第1页
历年全国计算机等级考试二级vb笔试真题及答案_第2页
历年全国计算机等级考试二级vb笔试真题及答案_第3页
历年全国计算机等级考试二级vb笔试真题及答案_第4页
历年全国计算机等级考试二级vb笔试真题及答案_第5页
历年全国计算机等级考试二级vb笔试真题及答案_第6页
历年全国计算机等级考试二级vb笔试真题及答案_第7页
历年全国计算机等级考试二级vb笔试真题及答案_第8页
历年全国计算机等级考试二级vb笔试真题及答案_第9页
历年全国计算机等级考试二级vb笔试真题及答案_第10页
资源描述:

《历年全国计算机等级考试二级vb笔试真题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

2005年4月等级考试二级VB真题(考试时间90分钟,满分100分)一、选择题((1)〜(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)数据的存储结构是指A)存储在外存中的数据B)数据所占的存储空间量0数据在计算机中的顺序存储方式D)数据的逻辑结构在计算机中的表示(2)下列关于栈的描述中错误的是A)栈是先进后出的线性表B)栈只能顺序存储0栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是A)冒泡排序为n/2B)冒泡排序为n0快速排序为nD)快速排序为n(n-l)/2(4)对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为A)log2nB)n/2C)nD)n+1(5)下列对于线性链表的描述中正确的是A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不•定是连续,且前件元素一定存储在后件元素的前面0存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(6)下列对于软件测试的描述中正确的是A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行结果正确0软件测试的目的是尽可能多地发现程序中的错误D)软件测试的H的是使程序符合结构化原则(7)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的是

1A)程序就是软件B)软件开发不受计算机系统的限制0软件既是逻辑实体,又是物理实体D)软件是程序、数据与相关文档的集合(9)数据独立性是数据库技术的堇要特点之一。所谓数据独立性是指A)数据与程序独立存放B)不同的数据被存放在不同的文件中0不同的数据只能被对应的应用程序所使用D)以上三种说法都不对(10)用树形结构表示实体之间联系的模型是A)关系模型B)网状模型C)层次模型D)以上三个都是11、在窗体(名称为Forml)上画一个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写一个事件过程。程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是:A)PrivateSubTextl_Change()Commandl.Caption=>,计算机等级考试”EndSubB)PrivateSubCommandl_Click()Caption/计算机等级考试”EndSubC)PrivateSubForml_Click()Textl.Caption="计算机等级考试”EndSubD)PrivateSubCommandlClickOTextl.Text="计算机等级考试”EndSub(12)设a=5,b=4,c=3,d=2,下列表达式的值是3>2*bOra=cAndbOcOrc>dA)1B)TrueC)FalseD)2(13)设a="MicrosoftVisualBasic”,则以下使变量b的值为"VisualBasic”的语句是A)b=Left(a,10)B)b=Mid(a,10)C)bright(a,10)D)b=Mid(a,11,10)(14)假定有如下的窗体事件过程:PrivateSubForm_Click()a$=""MicrosoftVisualBasic*b$=Right(a$,5)c=Mid(a$,1,9)MsgBoxa$,34,b$,c$,5

2EndSub程序运行后单击窗体,则在弹出的信息框中的标题栏中显示的信息是:A)MicrosoftVisualB)MicrosoftC)BasicD)5(15)设a="a",b="b“,c二“c”,d二"d",执行语句x=Iif((ad),“A"JB")后,x的值为:A)"a“B)”b“C)”B“D)“A"(16)为了使命令按钮(名称为Commandl)右移200,应使用的语句是A)Command1.Move-200B)Commandl.Move200C)Commandl.Left=Commandl.Left+200D)Commandl.Left=Commandl.Left-200(17)在窗体上画一个文本框,然后编写如下事件过程:PrivateSubFormClickOx=InputBox("请输入一个整数”)Printx+Textl.TextEndSub程序运行时,在文本框中输入456,然后单击窗体,在输入对话框中输入123,单击“确定”按钮后,在窗体上显示的内容是:A)123B)4560579D)123456(18)在窗体上画一个文本框和一个计时器控件,名称分别为Textl和Timerl,在属性窗口中把计时器的Interval属性设置为1000,Enabled属性设置为False,程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序:PrivateSubCommand1_C1ick()Timer1.EndSubPrivateSubTimerl_Timer()Textl.Text=TimeEndSub在处应填入的内容是A)Enabled=TrueB)Enabled=FalseC)Visible=TrueD)Visible=False(19)假定在图片框Picturel中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是:A)选择图片框,然后按Del键B)执行语句Picturel.Picture=LoadPicture("")C)执行语句Picture】.Picture=""D)选择图片框,在属性窗口中选择Picture属性,然后按回车键(20)在窗体上画一个Listl的列表框,一个名称为Labell的标签,列表框中显不若干个项目,当单击列表框中的某个项目时,在标签中显示被选中的项目的名称,下列能正确

3实现上述操作的程序是A)PrivateSubListlClickOB)PrivateSubListl_Click()C)PrivateSubListlClickOD)PrivateSubListlClickOLabel1.Caption=Listl.ListindexEndSubLabel1.Name=Listl.ListindexEndSubLabel1.Name=Listl.TextEndSubLabel1.Caption=Listl.TextEndSub(21)在窗体上画一个命令按钮,名称为Commands然后编写如下事件过程:PrivateSubCommand1_C1ick()DimiAsInteger,xAsIntegerFori=1To6Ifi=1Thenx=iIfi<=4Thenx=x+1Elsex=x+2EndIfNextiPrintxEndSub程序运行后,单击命令按钮,其输出结果为A)9B)6C)12D)15(22)在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubCommand1_C1ick()c=〃ABCD〃Forn=1To4PrintNextEndSub程序运行后,单击命令按钮,要求在窗体上显示如下内容:DCDBCDABCD则在处应填入的内容为A)Left(c,n)B)Right(c,n)C)Mid(c,n,1)D)Mid(c,n,n)(23)执行以下程序段DimxAsInteger,iAsIntegerx=0Fori=20To1Step-2x=x+i\5NextI后,X的值为A)16B)17018D)19(24)在VisualBasic工程中,可以作为启动对象的程序是

4A)任何窗体或标准模块B)任何窗体或过程OSubMain过程或其他任何模块D)SubMain过程或任何窗体(25)假定建立了一个名为Commandl的命令按钮数组,则以下说法中错误的是A)数组中每个命令按钮的名称(名称属性)均为CommandlB)数组中每个命令按钮的标题(Caption属性)都一样C)数组中所有命令按钮可以使用同一个时间过程D)用名称Commandl(下标)可以访问数组中的每个命令按钮(26)把窗体的KeyPreview属性设置为True,然后编写如下事件过程:PrivateSubForm_KeyPress(KeyAsciiAsInteger)DimchAsStringch=Chr(KeyAscii)KeyAscii=Asc(UCase(ch))PrintChr(KeyAscii+2)EndSub程序运行后,按键盘上的“A”键,则在窗体上显示的内容是A)AB)BC)CD)D(27)在窗体上画一个命令按钮和一个文本框,名称分别为Commandl和Textl,然后编写如下程序:PrivateSubCommandl_Click()a=InputBox("请输入日期(1〜31)")t="旅游景点:"一&IIf(a>0Anda<=10,"长城_&HRa>10Anda<=20,"故宫_&Ilfifa>20Anda<=30,"颐和园”,巧Text1.Text=tEndSub程序运行后,如果从键盘输入16,则在文本框中显示的内容是:A)旅游景点:长城故宫B)旅游景点:长城颐和园C)旅游景点:颐和园D)旅游景点:故宫(28)在窗体上画一个名称为Label1的标签,然后编写如下事件过程:PrivateSubForm_Click()Dimarr(10,10)AsInteger

5DimiAsInteger,jAsIntegerFori=2To4Forj=2To4arr(i,j)=i*jNextjNextiLabel1,Caption=Str(arr(2,2)+arr(3,3))EndSub程序运行后,单击窗体,在标签中显示的内容是A)12B)13C)14D)15(29)在窗体上画一个名称为Comamndl的命令按钮,然后编写如下通用过程和命令按钮的事件过程:PrivateFunctionfun(ByValmAsInteger)IfmMod2=0Thenfun=2Elsefiin=1EndIfEndFunctionPrivateSubCommand1_Click()DimiAsInteger,sAsIntegers=0Fori=1To5s=s+fiin(i)NextPrintsEndSub程序运行后,单击命令按钮,则窗体上显示的是:A)6B)7C)8D)9(30)阅读程序:OptionBase1Dimarr()AsIntegerPrivateSubFonn_Click()DimiAsInteger,jAsIntegerRcDimarr(3,2)Fori=1To3Forj=1To2arr(i,j)=i*2+jNextjNextiReDimPreservearr(3,4)Forj=3To4arr(3,j)=j+9NextjPrintarr(3,2)+arr(3,4)EndSub

6程序运行后,单击窗体,输出结果为:A)21B)13C)8D)2531)在窗体上画一个名称为Command1的命令按钮燃后编写如下程序:OptionBase1PrivateSubCommand1_Click()DimcAsInteger,dAsIntegerd=0c=6x=Array(2,4,6,8,10,12)Fori=1To6Ifx(i)>cThend=d+x(i)c=x(i)Elsed=d-cEndIfNextiPrintdEndSub程序运行后,如果单击命令按钮,则在窗体上输入的内容为A)10B)16C)12D)20(32)设有如下程序:PrivateSubCommandI_Click()DimcAsInteger,dAsIntegerc=4d=InputBox(”请输入•个整数”)DoWhiled>0Ifd>cThenc=c+1EndIfd=InpulBox("请输入一个整数”)LoopPrintc+dEndSub程序运行后,单击命令按钮如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、0,则输出结果是:A)12

7B)llC)10D)9(33)在窗体上画一个名称为Commandl的命令按钮和—个名称为Textl的文本框,在文本框中输入以下字符串:MicrosoftVisualBasicProgramming然后编写如下事件过程:PrivateSubCommand1_Click()Open"d:\temp\outf.txt”ForOutputAs#1Fori=1ToLen(Textl.Text)c=Mid(Textl.Text,i,1)Ifc>=MA"Andc<=,,ZMThenPrint#1,LCase(c)EndIfNextiCloseEndSub程序运行后,单击命令按犯,文件outf.txt中的内容是:A)MVBPB)mvbpC)MVBPD)mvb(34)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:DimSWAsBooleanFunctionfunc(XAsInteger)AsIntegerIfX<20ThenY=XElseY=20+XEndIfftinc=YEndFunctionPrivateSubCommand1_Click()DimintNumAsIntegerintNum=InputBox(,,H)IfSWThenPrintfunc(intNum)EndIfEndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SW=FalseEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)SW=TrueEndSub程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入25,

8则程序的执行结果是:A)输出0B)输出25C)输出45D)无任何输出(35)设有如下通用过程:PublicSubfun(a()AsInteger,xAsInteger)Fori=1To5x=x+a(i)NextEndSub在窗体上画一个名称为Textl的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()Dimarr(5)AsInteger,nAsIntegerFori=1To5arr(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】.(4)在关系数据库中,把数据表示成二维表,每一个二维表称为【4】。(5)问题处理方案的正确而完整的描述称为【5】。(6)以下语句的输出结果是:【6】PrintInt(l2345.6789*100+0.5)/100(7)在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程:PrivateSubForm_Click()Text1.Text=MVB程序设计”

9EndSubPrivateSubTextl_Change()Picture1.PrintnVBProgrammingMEndSub程序运行后,单击窗体,在文本框中显示的内容是【7],而在图片框中显示的内容是[8】(8)阅读下面的程序PrivateSubForm_Click()DimCheckAsBoolean,CounterAsIntegerCheck=TrueCounter=5DoDoWhileCounter<20Counter=Counter+1IfCounter=10ThenCheck=FalseExitDoEndIfLoopLoopUntilCheck=FalsePrintCounterEndSub程序运行后,单击窗体,输出结果是[9】(9)设有如下程序PrivateSubForm_Click()DimaAsInteger,sAsIntegern=8s=0Dos=s+nn=n-1LoopWhilen>0PrintsEndSub以上程序的功能是【10】,程序运行后,单击窗体,输出结果为[11](10)设有如下程序:OptionBase1PrivateSubCommand1_Click()DimarrlDimMinAsInteger,iAsIntegerarrl=Array(12,435,76,-24,78,54,866,43)Min=[12]Fori=2To8Ifarrl(i)

10EndSub以上程序的功能是用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中的最小值,请填空(11)在名称为Forml的窗体上画一个文本框,其名称为Textl,在属性窗口中把文本框的MultiLine属性设置为True,然后编写如下事件过程:PrivateSubForm_Click()Open,,d:\test\smtcxtl.txtnForInputAs#1DoWhileNot[14]LineInput#1,aspect?whole$=whole$+aspects+Chr(13)+Chr(l0)LoopText1.Text=wholeSClose#1Open"d:\test\smtext2.txt"ForOutputAs#1Print#1,[15]Close#1EndSub上述程序的功能是,把磁盘文件smtextl.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt.请填空以下答案仅供参考选择题:1—5DBDCA6—10CBDDC11-15ABBCD16-20CDABD21-25ABCDB26-30CDBBA31-35CDDDA填空题:[1]19[2]对象[3]程序调试[4]关系[5]算法[6]12345.68[7]VB程序设计[8]VBProgramming[9]10[10]求1-8的和[11]36

11[11]arrl⑴[12]min=arrl(i)[13]EOF(l)[14]text1.text(或wholeS)2005年9月二级VB试题+答案一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表(3)下列关于栈的描述正确的是A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素

12D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(4)下列叙述中正确的是A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)卜列描述中正确的是A,软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图(7)下列叙述中正确的是A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D,软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A.数据共享问题B.数据安全问题

13C.大量数据存储问题D.简化数据维护(9)设有如下关系表:RSTABCABCABC112313112223223313A.T=ROSB.T=RUSC.T=RxSD.T=R/S(10)数据库系统的核心是A.数据模型B.数据库管理系统C.数据库D.数据库管理员(11)假定一个VisualBasic应用程序由一个窗体模块和一个标准模块构成。为了保存该应用程序,以下正确的操作是A.只保存窗体模块文件B.分别保存窗体模块、标准模块和工程文件C.只保存窗体模块和标准模块文件D.只保存工程文件

14(12)为了清除窗体上的一个控件,下列正确的操作是A.按回车键B.按Esc键C.选择(单击)要清除的控件,然后按Del键D.选择(单击)要清除的控件,然后按回车键(13)以下叙述中错误的是A.打开•个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件B.当程序运行时,双击一个窗体,则触发该窗体的DblClick事件C.VisualBasic应用程序只能以解释方式执行

15D.事件可以由用户引发,也可以由系统引发(14)设a=2,b=3,c=4,d=5,下列表达式的值是Nota<=cOr4*c=bA2Andboa+cA.-1B.1C.TrueD.False(15)设a=5,b=10,则执行c=Int((b-a)*Rnd+a)+1后,c值的范围为A.5〜10B.6〜9C.6〜10D.5〜9(16)在窗体上画一个命令按钮,名称为Commands然后编写如下事件过程:PrivateSubCommand1_Click()a$="softwareandhardware"b$=Right(a$,8)c$=Mid(a$,1,8)MsgBoxa$,,b$,c$,1EndSub运行程序,单击命令按钮,则在弹出的信息框的标题栏中显示的是A.softwareandhardwareB・softwareC•hardware

16D.1(17)在窗体上画一个命令按钮和♦个文本框,其名称分别为Commandl和Textl,把文本框的Text属性设置为空白,然后编写如下事件过程:PrivateSubCommand1_Click()a=InputBox(*'Enteraninteger0)b=InputBox(*'Enteraninteger”)Textl.Text=b+aEndSub程序运行后,单击命令按钮,如果在输入对话框中分别输入8和10,则文本框中显示的内容是A.108B.18C.810D.出错(18)在窗体上画两个文本框,其名称分别为Textl和Text2,然后编写如下程序:PrivateSubForm_Load()ShowTextl.Text=,H,Text2.Text=TextI.SetFocusEndSubPrivateSubTextl_Change()Text2.Text=Mid(Textl.Text,8)EndSub程序运行后,如果在文本框Textl中输入BeijingChina,则在文本框Text2中显示的内容是

17A.BeijingChinaB.ChinaC.BeijingD.BeijingC(19)在窗体上画一个列表框和一个命令按钮,其名称分别为Listl和Commands然后编写如下事件过程:PrivateSubFonn_Load()List1.Additem“Item1"List1.Additem"Item2"List1.Additem**Item3"EndSubPrivateSubCommand1_Click()Listl.List(Listl.ListCount)="AAAAHEndSub程序运行后,单击命令按钮,其结果为A.把字符串“AAAA”添加到列表框中,但位置不能确定B.把字符串“AAAA”添加到列表框的最后(即“Item3”的后面)C.把列表框中原有的最后一项改为“AAAA”D.把字符串“AAAA”插入到列表框的最前面(即“Item1”的前面)(20)假定有如下事件过程:PrivateSubForm_Click()DimxAsInteger,nAsIntegerx=1n=0DoWhilex<28

18n=n+1LoopPrintx,nEndSub程序运行后,单击窗体,输出结果是A.814B.563C.281D.2435(21)有如卜程序:PrivateSubForm_Click()DimCheck,CounterCheck=TrueCounter=0DoDoWhileCounter<20Counter=Counter+1IfCounter=10ThenCheck=FalseExitDoEndIfLoopLoopUntilCheck=FalsePrintCounter,Check程序运行后,单击窗体,输出结果为

19A.150B.20-1C.10TrueD.10False(22)有如下程序:PrivateSubForm_Click()DimiAsInteger,sumAsIntegersum=0Fori=2To10IfiMod2<>0AndiMod3=0Thensum=sum+iEndIfNextiPrintsumEndSub程序运行后,单击窗体,输出结果为A.12B.30C.24D.18(23)在窗体上画一个名称为Textl的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommandI_Click()

20DimiAsInteger,jAsIntegerFori=1To3Forj=2To4arrayl(i,j)=i+jNextjNextiTextl.Text=array1(2,3)+array1(3,4)EndSub程序运行后,单击命令按钮,在文本框中显示的值是A.12B.13C.14D.15(24)在窗体上画•个命令按钮,其名称为Command],然后编写如下事件过程:PrivateSubCommand1_Click()Dima1(4,4),a2(4,4)Fori=1To4Forj=1To4al(i,j)=i+ja2(i,j)=al(i,j)+i+jNextjNextiPrintal(3,3);a2(3,3)EndSub程序运行后,单击命令按钮,在窗体上输出的是

21A.66B.105C.721D.612(25)有如下程序:OptionBase1PrivateSubForm_Click()Dimarr,SumSum=0arr=Array(l,3,5,7,9,11,13,15,17,19)Fori=1To10Ifarr(i)/3=arr(i)\3ThenSum=Sum+arr(i)EndIfNextiPrintSumEndSub程序运行后,单击窗体,输出结果为A.25B.26C.27D.28(26)在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()

22Fori=1To5a(i)=Chr(Asc(MA")+(i-1))NextiForEachbInaPrintb;NextEndSub程序运行后,单击命令按钮,输出结果是A.ABCDEB.12345C.abcdeD.出错信息(27)以下关于函数过程的叙述中,正确的是A.如果不指明函数过程参数的类型,则该参数没有数据类型B.函数过程的返回值可以有多个C.当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递D.函数过程形参的类型与函数返回值的类型没有关系(28)函数过程F1的功能是:如果参数b为奇数,则返回值为1,否则返回值为0。以卜能正确实现上述功能的代码是A.FunctionFl(bAsInteger)IfbMod2=0ThenReturn0ElseReturn1

23EndIfEndFunctionA.FunctionFl(bAsInteger)IfbMod2=0ThenFl=0ElseFl=1EndIfEndFunctionB.FunctionFl(bAsInteger)IfbMod2=0ThenFl=1ElseFl=0EndIfEndFunctionC.FunctionFl(bAsInteger)IfbMod2o0ThenReturn0ElseReturn1EndIfEndFunction(29)以下关于KeyPress事件过程中参数KeyAscii的叙述中iE确的是A.KeyAscii参数是所按键的ASCII码

24A.KeyAscii参数的数据类型为字符串B.KeyAscii参数可以省略C.KeyAscii参数是所按键上标注的字符(30)设窗体上有一个名为Textl的文本框,并编写如下程序:PrivateSubForm_Load()ShowTextl.Text=Textl.SetFocusEndSubPrivateSubForm_MouseUp(ButtonAsInteger,_ShiftAsInteger,XAsSingle,YAsSingle)Print”程序设计”EndSubPrivateSubText1KeyDown(KeyCodeAsInteger,ShiftAsInteger)Print“VisualBasic”;EndSub程序运行后,如果在文本框中输入字母“a”,然后单击窗体,则在窗体上显示的内容是A.VisualBasicB.程序设计C.VisualBasic程序设计D.a程序设计(31)假定有下表所列的菜单结构:标题名称层次显示appear1(主菜单)

25大图标bigicon2(子菜单)小图标smallicon2(子菜单)要求程序运行后,如果单击菜单项“大图标”,则在该菜单项前添加一个“0”。以下正确的事件过程是A.PrivateSubbigicon_Click()bigicon.Checkcd=FalseEndSubB.PrivateSubbigicon_Click()Me.appear.bigicon.Checked=TrueEndSubC.PrivateSubbigicon_Click()bigicon.Checkcd=TrueEndSubD.PrivateSubbigicon_Click()appear.bigicon.Checked=TrueEndSub(32)假定通用对话框的名称为CommonDialogl,命令按钮的名称为Command1,则单击命令按钮后,能使打开的对话框的标题为“NewTitle”的事件过程是A.PrivateSubCommandl_Click()CommonDialogl.DialogTitle="NewTitle**CommonDialogl.ShowPrinterEndSubB.PrivateSubCommandl_Click()

26CommonDialogl.DialogTitle="NewTitle”CommonDialogl.ShowFontEndSubA.PrivateSubCommandl_Click()CommonDialogl.DialogTitle="NewTitle”CommonDialogl.ShowOpcnEndSubB.PrivateSubCommandl_Click()CommonDialogl.DialogTitle="NewTitle**CommonDialogl.ShowColorEndSub(33)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是A.任何时刻最多只有一个窗体是活动窗体B.不能把标准模块设置为启动模块C.用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体D.如果工程中含有SubMain过程,则程序•定首先执行该过程(34)假定在工程文件中有一个标准模块,其中定义了如下记录类型TypeBooksNameAsString*10TelNumAsString*20EndType要求当执行事件过程Command1_Click时,在顺序文件Person.txt「T写入-一条记录。下列能够完成该操作的事件过程是

27A.PrivateSubCommandl_Click()DimBAsBooksOpen"c:\Person.txt”ForOutputAs#1B.Name=InputBox,输入姓名”)

28B.TelNum=【nputBox("输入电话号码”)Write#1,B.Name,B.TelNumClose#1EndSubA.PrivateSubCommand1_Click()DimBAsBooksOpen"c:\Person.txt”ForInputAs#1B.Name=InputBox("输入姓名”)B.TelNum=InputBox("输入电话号码”)Print#1,B.Name,B.TelNumClose#1EndSubB.PrivateSubCommandl_Click()DimBAsBooksOpen"c:\Person.txt"ForOutputAs#1Name=InputBox("输入姓名”)TelNum=InputBox("输入电话号码”)Write#1,BClose#1EndSubC.PrivateSubCommandl_Click()DimBAsBookOpen"c:\Person.txt"ForInputAs#1Name=InputBox。'输入姓名")

29Print#1,B.Name,B.TelNumClose#1EndSub(35)目录列表框的Path属性的作用是A.显示当前驱动器或指定驱动器上的某目录下的文件名B.显示当前驱动器或指定驱动器上的目录结构C.显示根目录下的文件名D.显示指定路径下的文件二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡[1】〜【15】序号的横线上,答在试卷上不得分。(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是【1】.(2)算法复杂度主要包括时间复杂度和【2】复杂度。(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中【3】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(4)一棵二叉树第六层(根结点为第一层)的结点数最多为【4】个。(5)数据结构分为逻辑结构和存储结构,循环队列属于【5】结构。(6)设有以下函数过程:Functionfun(mAsInteger)AsIntegerDimkAsInteger,sumAsIntegersum=0Fork=mTo1Step-2sum=sum+kNextk

30fun=sumEndFunction若在程序中用语句s=fun(10)调用此函数,则s的值为【6】o(7)在窗体上画一个命令按钮和一个文本框,然后编写命令按钮的Click事件过程。程序运行后,在文本框中输入一串英文字母(不区分大小写),单击命令按钮,程序可找出未在文本框中输入的其他所有英文字母,并以大写方式降序显示到Textl中。例如,若在Textl中输入的是abDfdb,则单击Command1按钮后Textl中显示的字符串是ZYXWVUTSRQPONMLKJIHGECo请填空。PrivateSubCommandl_Click()DimstrAsString,sAsString,cAsStringstr=UCase(Textl)s=""c=Whilec>=IfInStr(str,c)=0Thens=[7]EndIfc=Chr$(Asc(c)[8])WendIfso,n,ThenTextl=sEndIfEndSub(8)在n个运动员中选出任意r个人参加比赛,有很多种不同的选法,选法的个数可以用公式计算。下图窗体中3个文本框的名称依次是Textl、Text2.Text3o程序运行时在Textl>Text2中分别输入n和r的值,单击Command1按钮即可求出选法的个数,并显示在Text3文本框中(见下图)。请填空。PrivateSubCommandl_Click()

31DimrAsInteger,nAsIntegern=Textlr=Text2Text3=fun(n)/fiin([9])/ftin(r)EndSubFunctionfiin(nAsInteger)aslongDimtAsLong[10]Fork=1Tont=t*kNextfun=tEndFunction(9)以下是一个比赛评分程序。在窗体上建立一个名为Textl的文本框数组,然后画一个名为Text2的文本框和名为Command1的命令按钮。运行时在文本框数组中输入7个分数,单击“计算得分”命令按钮,则最后得分显示在Text2文本框中(去掉一个最高分和一个最低分后的平均分即为最后得分),如图所示。请填空。PrivateSubCommandl_Click()DimkAsIntegerDimsumAsSingle,maxAsSingle,minAsSinglesum=Text1(0)max=Text1(0)min=[11]Fork=[12]To6

32IfmaxTextl(k)Thenmin=Textl(k)EndIfsum=sum+Textl(k)NextkText2=([13])/5(10)如图所示,在列表框Listl中已经有若干人的简单信息,运行时在Textl文本框(即“查找对象”右边的文本框)输入一个姓或姓名,单击“查找”按钮,则在列表框中进行查找,若找到,则把该人的信息显示在Text2文本框中。若有多个匹配的列表项,则只显示第1个匹配项;若未找到,则在Text2中显示“查无此人”。请填空。PrivateSubCommandl_Click()DimkAsInteger,nAsInteger,foundAsBooleanfound=Falsen=Len([14])k=0Whilek

33WendIfNotfoundThenText2="查无此人”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[11]textl(O)[12]1【13】(sum-max-min)【14】text1.text[15]listl.list(k)

34绝密★启用前2006年4月全国计算机等级考试二级笔试试卷9VisualBasic语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题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)双向链表是非线性结构

35D)只有根结点的二叉树是线性结构

36(6)对如下二叉树进行后序遍历的结果为A)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为A)32B)-3IC)64D)63(8)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多(9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系悬A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)没有任何关系.(11)以下关于VisualBasic特点的叙述中,错误的是A)VisualBasic是采用事件驱动编程机制的语言B)VisualBasic程序既可以编译运行,也可以解释运行C)构成VisualBasic程序的多个过程没有固定的执行顺序D)VisualBasic程序不是结构化程序,不具备结构化程序的三种基本结构(12)以下叙述中.错误的是A)一个VisualBasic应用程序可以含有多个标准模块文件B)一个VisualBasic工程可以含有多个窗体文件C)标准模块文件可以属于某个指定的窗体文件D)标准模块文件的扩展名山bas

37(13)以下叙述中,错误的是A)在VisualBasic中,对象所能响应的事件是由系统定义的B)对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定C)VisualBasic中允许不同对象使用相同名称的方法D)VisualBasic中的对象具有自己的属性和方法(14)设有如下语句:Dima,bAsIntegerc="VisualBasic"d=#7/20/2005#以下关于这段代码的叙述中,错误的是A)a被定义为Integer类型变量B)b被定义为Integer类型变量C)c中的数据是字符串D)d中的数据是日期类型(15)以下能从字符串"VisualBasic"中直接取出子字符串"Basic"的函数是A)LeftB)MidC)StringD)Instr(16)设a=4,b=3.c=2,d=1,下列表达式的值是a>b+lOrc

38(13)以下叙述中,错误的是A)在VisualBasic中,对象所能响应的事件是由系统定义的B)对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定C)VisualBasic中允许不同对象使用相同名称的方法D)VisualBasic中的对象具有自己的属性和方法(14)设有如下语句:Dima,bAsIntegerc="VisualBasic"d=#7/20/2005#以下关于这段代码的叙述中,错误的是A)a被定义为Integer类型变量B)b被定义为Integer类型变量C)c中的数据是字符串D)d中的数据是日期类型(15)以下能从字符串"VisualBasic"中直接取出子字符串"Basic"的函数是A)LeftB)MidC)StringD)Instr(16)设a=4,b=3.c=2,d=1,下列表达式的值是a>b+lOrc

39A)B)C)D)a数蛆中的数据是30个100以内的整数语句ForEacharrltemIna有语法错误IfarrltemMod7=0……语句的功能是输出数组中能够被7整除的数Ifarrltem>90……语句的作用是当数组元素的值大于90时退出For循环(22)设有命令按钮Commandl的单击事件过程,代码如EPrivateSubCommandI_ClickQDima(3,3)AsIntegerFori=1To3a(i,j)=i・j+iNextjNextiSum=0.Fori=1To3Sum=Sum+a(i,4-i)NextiPrintSumEndSub运行程序,单击命令按钮,输出结果是A)20B)7C)16(23)在窗体上画1个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommandl_Click()a=0Fori=lTo2Forj-1To4IfjMod2v>0Thena=a-lEndIfa=a+lNextjNextiPrintaEndSubForj-!To3

40程序运行后,单击命令按钮,输出结果是A)0B)2C)3D)424)窗体上有名称分别为TextkText2的2个文本框,有一个由3个单选按钮构成的拓件数组Optionl,如图1所示。程序运行后,如果单击某个单选按钮,则执行Textl4的数值与该单选按钮所对应的运算(乘以I、10或100),并将结果显示在Text2中,如图2所示.为了实现上述功能,在程序中的问号(?)处应填入的内容是PrivateSubOptionI_Click(IndexAsInteger)IfTextl.Text<>HMThenSelectCase?CaseOText2.Text=Val(Text1.Text)Case1Text2.Text=Val(Textl.Text).10Case2Text2.Text=Val(Textl.Text)•100EndSelectEndIfEndSubB)Option1.IndexD)OptionI(Index).ValueA)IndexC)Optionl(Index)5)在窗体上画1个命令按钮,其名称为Command1,然后编写如下程序:PrivateSubCommandl_Click()Dima(10)AsIntegerDimxAsIntegerFori=1To10a(i)=8+iNext

41x=2Printa(f(x)+x)EndSubFunctionRxAsInteger)x=x+3f=xEndFunction•程序运行后,单击命令按钮,输出结果为A)12B)15C)17D)18:26)以下关于过程的叙述中,错误的是A)事件过程是由某个事件触发而执行的过程B)函数过程的返回值可以有多个C)可以在事件过程中调用通用过程D)不能在事件过程中定义函数过程(27)在窗体上画3个标签、3个文本框(名称分别为Textl、Text2和Text3)和I个命"按钮(名称为Commandl),外观如图所示.编写如下程序:PrivateSubForm_Load()Textl.1^xt=0MText2.Text=Text3.Text=""EndSubPrivateSubCommandl_CHck()x=Val(Textl.Text)y=Val(Tcxt2.Text)Text3.Text=Rx,y)EndSub

42FunctionRByValxAsInteger,ByVaiyAsInteger)DoWhiley<>0tmp=xModyx3yy=tmpLoopf=xEndFunction运行程序,在Textl文本椎中输入36,在Text2文本框中输入24,然后单击命令按钮,则在Text3文本框中显示的内容是A)4B)6C)8D)12!)窗体上有名称分别为Textl、Text2的2个文本框,要求文本框Textl中输入的数据小于500,文本框Text2中输入的数据小于1000,否则重新输入•为了实现上述功能,在以F程序中问号(?)处应填入的内容是PrivateSubTextl_LostFocus()CallChecklnput(Textl,500)EndSubPrivateSubText2_LostFocusOCallCheckInput(Text2,1000).EndSubSubChecklnput(tAs?,xAsInteger)IfVal(t.Text)>xThenMsgBox”请重新输入!”EndIf2ndSubX)TextB)SelTextC)ControlD)Form9)在窗体上画1个文本框,其名称为Textl,然后编写如下过程:PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode)EndSubPrivateSubTextl_KeyUp(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode+2)2ndSub

43程序运行后,把焦点移到文本框中,此时如果敲击“A”键,则输出结果为A)AAB)ABC)A,CD)AD(30)为了使列表框中的项目呈多列显示,需要设置的属性为A)ColumnsB)StyleC)ListD)MultiSelect(31)在窗体上画1个命令按钮,名称为Command],然后编写如下程序:DimFlagAsBooleanPrivateSubCommandl_ClickODimintNumAsIntegerintNum=InputBox("请输入:"),,IfFlagThenPrintf(intNum)EndIfEndSubFunctionf(XAsInteger)AsIntegerIfX

44IfButton=1Then•PopupMenuMenuOEndIfEndSub则以F叙述中错误的是A)该过程的作用是弹出一个菜单B)单击鼠标右键时弹出菜单C)Menu。是在菜单编辑器中定义的弹出菜单的名称D)参数X、丫指明鼠标当前位置的坐标(33)窗体上有1个名称为CD1的通用对话框,1个名称为CommandI的命令按按钮的单击事件过程如下:PrivateSubCommandl_Click()CDl.FileName=""CD1.Filter="A1IFi!es|*.*|(*.Doc)|,J>oc|(*.Txt)|*.Txt"CDl.Filterlndex=2CDI.Action=1EndSub关于以上代码,错误的叙述是A)执行以上事件过程,通用对话框被设置为“打开”文件对话框B)通用对话框的初始路径为当前路径C)通用对话框的默认文件类型为•]日D)以上代码不对文件执行读写操作(34)以下叙述中错误的是A)用Shell函数可以执行汇展名为.exe的应用程序B)若用Static定义通用过程,则该过程中的同部变量都被默认为Static类型C)Static类型的变量可以在标准模块的声明部分定义D)全局变量必须在标准模块中用Public或Global声明(35)以下关于文件的叙述中,错误的是A)使用Append方式打开文件时,文件指针被定位于文件尾

45B)当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件C)顺序文件各记录的长度可以不同D)随机文件打开后,既可以进行读操作,也可以进行写操作

46二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】〜(15]序号的横线上,答在试卷上不得分。<1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为(2)在面向对象方法中,【2】描述的是具有相似属性与操作的一组对象.(3)在关系模型中,把数据看成是二维表,每一个二维表称为一个【3】。(4)程序测试分为静态分析和动态测试.其中【4】是指不执行程序,而只是又序文本进行检查,通过阅读和讨论,分析和发现程序中的错误.(5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结才以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】•(6)下列语句的输出结果是16】。PrintFormat(lnt(12345.6789*100+0.5)/100,"0000,0.00")(7)在窗体上画1个命令按钮,其名称为Command],然后编写如下事件过程:PrivateSubCommandl_Click()Diman(lTo100)AsIntegerFori=1To100an(i)=Int(Rnd*1000)NextiMax=arr(l)Min=arr(l)Fori-ITo100*If【7】ThenMax=arr(i)EndIfIf【8】ThenMin=arr(i)EndIfNextiPrint"Max=Max,HMin=";MinEndSub

472006年4月计算机二级VB笔试参考答案,均上机测试通过1-5DADBA6-10DCDAC11-15DCCDB16-20DBDAA21-25BCBAD26-30BDCDA31-35BBCCB填空题1,452,类3关系4静态测试5物理独立性7Maxarr(i)9-5

4811ABCD12DialogTitle13Keyascii14“END”15Text1.text2006年9月二级VisualBasic程序设计笔试试卷及答案一、单项选择⑴下列选项中不符合良好程序设计风格的是A))源程序要文档化B)数据说明的次序要规范化C))避免滥用goto语句D)模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是oA))概要设计与详细设计B)数据设计与接口设计C))软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是oA))软件测试B)概要设计C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为„A))概念模式B)外模式C)内模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A))编码设计B)测试阶段C)运行阶段D)物理设计(6)设有如下三个关系表:下列操作中正确的是。(7)下列叙述中正确的是oA))•个算法的空间复杂度大,则其空间复杂度也必定大B))一个算法的空间复杂度大,则其时间复杂度必定小

49C))一个算法的时间复杂度大,则其空间复杂度必定小D))上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A))63B)64C)6D)7(9)数据库技术的根本目标是要解决数据的oA))存储问题B)共享问题C)安全问题D)保护问题(10)对下列二叉树:进行中序遍历的结果是OA))ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG(11)以下叙述中正确的是oA))窗体的Name属性指定窗体的名称,用来标识一个窗体B))窗体的Name属性值是显示在窗体标题栏中文本C))可以在运行期间改变窗体的Name属性的值D))窗体的Name属性值可以为空(12)以下叙述中错误的是oA))打开一个工程文件时,系统自动装入与该工程有关的窗体文件B))保存VisualBasic程序时,应分别保存窗体文件及工程文件C))VisualBasic应用程序只能以解释方式执行D))窗体文件包含该窗体及其控件的属性(13)设a=2,b=3,c=4,下列表达式的值是。Nota<=cOr4*c=bA2Andboa+cA))-1B)1C)TrueD)False(14)没有如下的用户定义类型:TypeStudentnumberAsStringnameAsStringA)geASInteger

50EndType则以下正确引用该类型成员的代码是O

51A))Student.name=“李明"B)DimsAsStudentC))DimsAsTypeStudentD)DimsAsTypeS.name="李明"s.name="李明15)设a=5,b=6,c=7,d=8,执行下列语句后,X的值为。X=///((a>b)And(c>d),l0,20)A)10B)20C)TrueD)False(16)执行以下程序段后,变量c$的值为oA)$="VisualBassicProgramming”B)$="Quick,e$=b$&UCase(Mid$(a$,7,6))&Right$(a$,12)A))VisualBasicProgrammingB)QuickBasicprogrammingC))QuickBasicProgrammingD)QuickBasicProgramming(17)在窗体上画一个文本框(其名称为Textl)和一个标签(其名称为Labell),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容,以下可以实现上述操作的事件过程是oA))PrivateSubTextl_Click()B)PrivateSubTextl_Change()Labell.Caption=TextLTextLabell.Caption=TextLTextEndSubEndSubC))PrivateSubLabell_Ctrange()D)PrivateSubLabell_Click()Labell.Caption=Textl.TextLabell.Caption=Textl.TextEndSubEndSub(18)在窗体上面画一个命令按钮和一个标签,其名称分别为Commandl和Labell,然后编写如下事件过程:PrivateSubCommandl_Click()Counter=0Fori=lTo4Forj=6To1Step-2

52Counter=Counter+1NextjNextiLabell.Caption=Str(Counter)EndSub程序运行后,单击命令按钮,标签中显示的内容是A))11B)12C)16D)20(19)在窗体上画一个名称为Textl的文本框和一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateCommandl_Click()DimiAsInteger,nAsIntegerFori=0To50i=i+3n=n+1Ifi>10ThenExitForNextTextl.Text=Str(n)EndSub程序运行后,单击命命令按钮,在文本框中显示的值是oA))5B)4C)3D)2(20)在窗体上画一个命令按钮和两个标签,真名和分别为Commandl、Label1和Labe12'A)123B)123C)123D)123

53然后编写))如下事件,(X过程:2463PrivateSubCommandl〜,八3694_Chick.A)=0)45255636)84569789a=a+lb=0Foij=lTo10a=a+lb=b+2NextjNextiLabell.Caption=Str(a)Labe12.Caption=Str(b)EndSub程序运行后,单击命令按钮,在标签Labell和Label2中显示的内容分别为A))10和20B)20和1100200和110D)110和20(21)在窗体上画一个名称为Listl的列表框,一个名称为Labell的标签,列表框中显示若干城市的名称。当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是oA))PrivaleSubListl_Click()B)PrivateSubListl_Click()Labell.Caption=ListLListindexLabell.Name=Listl.ListindexListl.RemoveitemListl.TextListl.RemoveitemListl.TextEndSubEndSubC))PrivateSubListl_Click()D)PrivateSubListl_Click()Labell.Caption=Listl.TextLabell.Name=Listl.TextListl.RemovltemListl.ListindexListl.RemoveitemListl.Listindex

54EndSubEndSub(22)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:PrivateSubCommandlClick()DimiAsInteger,jAsIntegerDima(10,10)AsIntegera(i,j)=(i-l)*3+jPrinta(i,j);NextjPrintNextiEndSub程序运行后,单击命令按钮,窗体上显示的是o(23)在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:OptionBase0PrivateSubCommandl_Click()D)imA(4)AsInteger,B(4)AsIntegerFork=0To2A(k+D=InputBox(“请输入一个整数”)B(3-k)=A(k+l)NextkPrintB(k)EndSub程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输入结果为OA))0B)2C)3D)4(24)有以下程序:OptionBase1D)imarr()AsInteger

55PrivateSubForm_Click()D)imiAsInteger,jAsIntegerReDimarr(3,2)Fori=lTo3Forj=lTo2NextjNextiReDimPreservearr(1,4)Forj=3To4A)rr(3j)=j+9NextjPrintarr(3,2);arr(3,4)EndSub程序运行后,单击窗体,输出结果为OA))813B)013C)712D)00(25)以下叙述中正确的是oA))一个Sub过程至少要一个ExitSub语句B))一个Sub过程必须有一个EndSub语句C))可以在Sub过程中定义一个Function过程,但不能定义Sub过程D))调用一个Function过程可以获得多个返回值(26)有以下程序:Subsubp(b()AsInteger)Fori=lTo4B)(i)=2-iNextiEndSubPrivateSubCommand1_Click()D)ima(1To4)AsIntegerA)(1)=5

56A)(2)=6A)⑶=7A)(4)=8subpa()

57Printa(i)NextiEndSub运行上面的程序,单击命令按钮,输出结果为oA))2468B、5678C>10121416D、出错(27)设有如下通用过程:PublicFunctionFun(xStrAsString)D)imtStrAsString,srtLAsIntegertStr+,M,strL=Len(xStr)i=lD)oWhilei<=strL/2tStr=tStr&Mid(xStr,i,1)&Mid(xStr,strL-i+l,l)i=i+lLoopFun=tStrEndFunction在窗体上画一个名称为Textl的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:PrivateSubCommand1_Click()DimS1AsStringSl=,,abcdef,Textl.Text=UCase(Fun(S1))EndSub程序运行后,单击命令按钮,则Textl中显示的是oA))ABCDEFB)abcdefC)AFBECDD)DEFABC(28)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:PrivateSubTxtAKeyPress(KeyAsciiAsInteger)

58EndSub假定焦点已经位--地文本框中,则能够触发KeyPress事件的操作是A))单击鼠标B)双击文本框C))鼠标滑过文本框D)按下键盘上的某个键(29)在窗体上画一个命令按钮和两上文体,其名称分别为Command1>Textl和Text2,然后编写如下程序:D)imSIAsString,S2AsStringPrivateSubForm_Load()Textl.Text=,,MText2.Text=,M,EndSubPrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)S2=s2&Chr(KeyCode)EndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)S1=S1&chr(KeyAscii)EndSubPrivateSubCommand1_Click()Textl.Text=S2Text2.Text=SlSl="”S2=EndSub程序运行后,在Textl中输入“abc”,然后单击命令按钮,在文本框Textl和Text2中显示的内容分别为oA)abc和ABCB、abc和abcC、ABC和abcD、ABC和ABC(30)以下说法正确的是oA)任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑B)只有当某个窗体为当前活动窗体时,才能打开菜单编辑器

59C)任何时候都可以通过单击标准工具栏上的“菜单编辑器“按钮打开菜单编辑器D)只有当代码窗品为当前活动窗口时,才能找开菜单编辑器(31)在窗体上画一个通用对话框,其名称为CommonDialogl,然后画一个命令按钮,并编写如下事件过程:PrivateSubCommand1_Click()CommonDialogl.Filter=MAllFiles(*.*)|*.*TextFilesM&_t6(*.txt)|*.txt|ExecutableFiles(*.exe)|*.exeMCommonDialogl.Filterindex=3CommonDialogl.ShowOpenMsgBoxCommonDialogl.FileNameEndSub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是oA)AllFiles(*.*)B)Textfiles(*.txt)C)ExecutableFiles(*.ext)D)不确定(32)以下叙述错误的是A)一个工程中可以包含多个窗体文件B)在一个窗体文件中用Public定义的通用过程不能被其他窗体调用C)窗体和标准模块需要分别保存为不同类型的磁盘文件D)二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】〜【15】序号的横线上,答在试卷上不得分。1下列软件系统结构图的宽度为【1L2[2]的任务是诊断和改正程序中的错误。3一个关系表的行称为【3】。4按“先进后出”原则组织数据的数据结构是【41

605数据结构分为线性结构和非线性结构,带链的队列属于【5L6描述"X是小于100的非负整数"的VisualBasic表达式是【67在窗体上有一个名称为Command1的命令按钮和•个名称为Textl的文本框。程序运行后,Command1为禁用(灰色),此时如果在文本框中输入字符,则命令按钮Command1变为可用。请填空。PrivateSubForm_Load()C)Ommand1Enabled=FalseEndSubPrivateSubTextl_[7]()C)ommand1Enabled=TrueEndSub8在窗体上画一个名称为"Command1"的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()D)ImaAsStringA)="123456789"Fori=lTo5PrintSpace(6-i);Mid$(a,[8],2*i-l)NextiEndSub程序运行后,单击命令按钮,窗体上的输出结果是5456345672345678123456789请填空。9以下程序的功能是:将••维组A中的100个元素分别赋给二维数组B的每个元素并打印出来,要求把A(1)到A(10)依次赋给B(1,1)到B(1,10),把A(11)至UA(20)依次赋给B(2,1)

61到B(2,10),把A(91)至ljA(100)依次赋给B(10,1)至!IB(10,10)o请填空。OptionBase1PrivateSubForm_Click()D)imiAsInteger,jAsIntegerD)imA(1To100)AsIntegerC)imB(1To10,1To10)AsIntegerFori=lTo100A)(i)=Int(Rnd*100)NextiFori=lTo[9]Forj=lTo[10]B)(ij)=[H1PrintB(i,j);NextjPrintNextiEndSub10在窗体上画一个名称为Combo1的组合框,然后画两个名称分别为Label1Label2)标题分别为"城市名称"和空白的标签。程序运行后,在组合框中输入一个新项目并按回车键,如果输入的项目在组合框的列表中不存在,则自动将其添加到组合框的列表中,并在Label2中给出提示"已成功添加新输入页。”,如图所示。如果输入的项目已存在,则在Label2中给出提示”输入项已在组合框中。”。请填空。PrivateSubCombol_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenFori=0ToCombo1ListCount-1IfCombo1Text=[12]ThenLabel2C叩tion="输入项已在组合框中。HExitSubEndIfNextiLabel2C叩tion=”已成功添加新输入项。”C)ombol[13]Combo1TextEndIf

62EndSub11在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Textl,然后编写如下事件过程:PrivateSubCommand1_Click()C)iminDataAsStringTextlText=nnOPenHd:||ML)||Myfiletxtnfor[14]As#1D)oWhile[15]Input#1,inDataTextlText=TextlText+inDataLoopC)lose#lEndSub程序的功能是,打开D盘根目录下的文本文件myfiletxt,读取它的全部内容并显示在文本框中。请填空2006年9月全国计算机等级考试二级VB语:笔试答案一、选择题1D解析:模块设计要保证低耦合,高内聚。2A解析:从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。从工程管理角度,软件设计分为两步完成:概要设计和详细设计。3C解析:软件维护属于软件生命周期的维护阶段。4B解析:外模式是用户的数据视图,就是用户所见到的数据模式。5D6C7D8B9B10A11A解析:窗体的Caption属性值是显示在窗体标题栏中的文本;窗体的Name属性是只读属性,即只可以通过属性窗口改变属性值,在运行时能改变;Name属性值不能为空。12C解析:在VisualBasic环境中,程序可以用解释方式运行,也可以生成可执行文件EXE运行。13D

63解析:此题考察的是运算符的优先级别。根据表达式的执行顺序和运算符的优先级别,原式可以写成:(Not(a<=c))Or(((4*c)=(bA2))AnD(bo(a+c)))我们可以在计算机上用以下代码运行验证:PrivateSubForm_Click()a=2b=3c=4Print(Nota<=cOr4*c=bA2AnDb<>a+c)EnDSub11B解析:题目中所给出的是用户自定义类型,在这里要注意新类型的名称是StuDent,所以选项C、D均不正确;我们知道对于类型成员的引用是:对象、属性(方法),所以A不正确。12D解析:IIf(expr,truepart,falsepart)根据表达式的值,来返回两部分中的其中一个;由于表达式的条件部分运算结果为“TrueAnDFalse",所以无法判断返回值,输出结果为Falseo我们可以在计算机上用以下代码运行验证:PrivateSubFormClick()a=5b=6c=7D=8Printx=IIf((a>b)AnD(cEnDSub13D解析:MiD(string,start\[,length\])返回Variant(String),其中包含字符串指定数量的字符;Right(string,length)返回Variant(String),其中包含从字符串右边取出的指定数量的字符;UCase(String)返回Variant(String),其中包含转成大写的字符串;我们可以在计算机上用以下代码运行验证:PrivateSubForm_Click()

64a$="VisualBasicProgramming"b$="Quick"Printb$&UCase(MiD$(a$,7,6))&Right$(a$,12)EnDSub11B解析:此题考察的是控键的常用事件;Change事件在用户向文本框中输入新信息,或当程序把Text属性设置为新值从而改变文本框的Text属性时触发,用户每键入一个字符,会引发一次该事件;Click事件是用户鼠标单击文本框时触发;18B解析:此题考察的是循环的嵌套,Counter的初始值为0当1=1时,进入内层循环,内层循环语句执行完毕后,Counter的值为3;当1=2时,进入内层循环时,Counter的值仍为3,内层循环语句执行完毕后,Counter的值为6;以此类推,程序全部执行完毕,Counter的值为12。19C解析:在此题中要注意ExitFor语句,该语句是跳出循环体,变量n记录循环执行次数。由于循环跳出的条件是1>10,而I的步长为3,所以循环只执行了3次。20D解析:此题考察的仍然是循环的嵌套,要注意变量a和b的变化时机。21C解析:列表框的Text属性值为最后••次选中的表项的文本;列表框的ListInDex属性是已选中的表项的位置。22D23B解析:A(0)=2,A(1)=4,A(2)=6;B(2)=A(0)=2,B(1)=A(1)=4,B(0)=A(2)=6。24B解析:此题考察的是动态数组,在通用中定义的数组,我们并没有给它界定范围,也没有赋初值,在过程中用ReDim语句具体定义数组,此题中要分清两个数组的界限。25B解析:在Sub过程定义中ExitSub语句是可选的,但不是必需的,是否需要要根据情况而定;在Sub过程内,不能定义Sub过程或Function过程,且Sub过程不能嵌套;Founction过程只能返回一个值。26A解析:Sub过程的调用,注意变量的作用域:

65Dima(lTo4)AsIntegera(l)=5a(2)=6a⑶=7a(4)=8语句是在过程内部定义的,属于局部变量,只在定义它的过程中使用,所以运行结果不受以上程序段的影响。19C解析:Len(string|vamame)返回Long,其中包含字符串内字符的数目,或是存储-变量所需的字节数;20D解析:KeyPress事件是在压下键盘上的某个键时触发。21C解析:Chr(charcoDe)返回String,其中包含有与指定的字符代码相关的字符。控件的KeyPress事件的KeyAscii参数是所按键的ASCII码;控件的KeyDown事件的KeyCoDe是按键的实际的ASCII码,该码以“键”为主,而不是以“字符”为准。22B23C解析:文件对话框的Filter属性用来指定在对话框中显示的文件类型;文件对话框的FilterlnDex属性用来指定默认的过滤器,注意FilterlnDex属性的最小值为1。24B解析:用Public短语定义的通用过程是公有过程,可以在程序的任何地方调用。如果当前窗体要调用其他窗体中的公有过程,要加上那个窗体的窗体名作为前缀。25A解析:当在••个Dim语句中定义多个变量时,每个变量都要用As子句声明其类型,否则该变量被看作变体类型。26C27D解析:随机文件的记录是定长记录。二、填空题1(113

66解析:在程序结构图的有关术语中,宽度的概念是:整体控制跨度,即各层中所含的模块数的最大值,由图可得此软件系统结构图的宽度为3。1[21程序调试解析:在完成对程序的测试之后将进行程序调试。程序调试的任务是诊断和改正程序中的错误。2[3]元组解析:在关系中,水平方向的行称为元组,垂直方向的列称为属性,每一列有一个属性名。4【4】栈解析:栈是限定只在一端进行插入和删除操作的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈按照“先进后出''或"后进先出''的原则组织数据。5[5]线性结构解析:与栈类似,队列也是线性表,可以采用链式存储结构。所以带链的队列属于线性结构。6【6】X%>=OanDX%<100解析:可以用类型声明符声明变量类型,下面是常用类型及其类型说明符:整塑%长整型&单精度浮点数!双精度浮点数#货币型@字符串型$本题要在这个表达式中体现出3个重点。第1点是小于100,可写成“<100”;第2点是非负,可用“>=0来表示";最后1点要体现出X是整数,所以可在变量X后面加一个百分号“%7[71Change解析:每当用户修改或通过代码修改文本框中的文本内容时,将触发其Change事件。通过该事件可通知程序何时修改了文本框的文本,可以使用该事件随时获得文本框的文本,并更新数据、同步其他控件显示等。8[8]6-i解析:MiD$(字符串,起始位置\[,个数\])函数用于取出字符串从指定位置开始的含指定个数字符的字符串。本题MiD$的作用在于依次取出字符串居中位置的1、3、5、7,9个字符。故取字符串起始位置为6-i,即依次为5、4、3、2、1o

679[9110[10]10[11]A((i-l)*10+j)解析:根据题意,在嵌套循环中,i为外循环变量,循环次数为10次,控制数组B的行值,j为内循环变量.循环次数为10次,决定着数组B的列值,然后根据数组下标的关系,可写出(i-l)*10+j表达式,从而相应地对数组B进行赋值。二维数组B的元素与一维数组A的元素存在这样的对应关系:B(i,j)=A((i-l)*10+j),如B(1,1)=A(1)、B(2,1)=A(11)、B(10,1)=A(91)。10[12]Combo1.List(i)[13]ADDItem解析:组合框中的List属性用来列出表项的内容。该属性保存了列表框中所有数组的值,可以通过下标访问数组中的值(下标从0开始),其格式为:\[组合框.\]List(下标),特别注意的是“下标”相当于索引值,指示着表项中某一项表中内容的位置,第一项的索引值为0,第二项为1,依此类推,这个参数非常重要不可省略。此题循环变量i从0开始循环直至组合框中总的表项数,不难理解这相当于上面提到的下标参数。组合框的ADDItem方法用于在组合框中插入一行文本,其格式为:组合框.ADDItem项目字符串\[,索引值\]。11[14]Input[15]NotEOF(l)解析:打开顺序文件的基本格式为:OpenFileNameForMoDeAs#FileNumber。其中,FileName表示要打开的文件的路径;MoDe为打开模式;OutPut用于输出、AppenD用于追加写入、Input用于读取;FiLeNumber为打开文件时指定的句柄(即文件号)。在读文件时■,经常用DoWhile循环和Input#语句读入数据,以NotEOF(文件号)为循环条件。EOF(文件号)用于判断是否读到文件结尾。2007年4月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计一、选择题(第小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

68(1)下列叙述中正确的是(B)A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量O数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是(D)A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是(A)A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是(C)A)继承性B)多态性C)类比性D)封装性(5)下列对队列的叙述正确的是(D)A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二叉树(C)DEFXYZ进行前序遍历的结果为

69A)DYBEAFCZXB)YDEBFZXCAOABDYECFXZD)ABCDEFXYZ(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(A)A)n+1B)n-1C)2nD)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是(B)A)并B)交C)投影D)笛卡儿乘积(9)在E—R图中,用来表示实体之间联系的图形是(C)A)矩形B)椭圆形C)菱形D)平行四边形(10)下列叙述中错误的是(A)A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是解决数据共享问题0数据库技术是指已有数据管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)下面可以正确定义2个整形变量和1个字符串变量的语句的是(D)A)Dimn,mASInterger,sASStringB)Dima%,b$,cASStringC)DimaASInteger,b,cASStringD)Dimx%,yASInteger,zASString(12)下列表述中不能判断x是否为偶数的是(D)A)x/2=Int(x/2)B)xMod2=0

70C)Fix(x/2)=x/2D)x\2=013)设在名称为Myform的窗体上只有1个名称为Cl的命令按钮,下面叙述中正确的是(B)A)窗体的Click事件过程的过程名是MyformClickB)命令按钮的Click事件过程名是Cl_ClickC)命令按钮的Click事件过程的过程名是Command1Click(14)设窗体上有1个滚动条,要求单击滚动条右端的/按钮一次,滚动条移动一定的刻度值,决定此刻度的属性是(C)A)MaxB)MinC)SmallChangeD)LargeChang(15)1个二维数组可以存放1个矩形.在程序开始有语句OptionBase0,则下面定义的数组中正好可以存放1个4*3矩阵(即只有12个元素)的是(B)A)Dima(-2To0,2)ASIntegerB)Dima(3,2)ASIngegerC)Dima(4,3)ASIngegerD)Dima(-lTo-4,-1To-3)ASIngeger(16)若设置了文本框的属性PasswordChar="$",则运行程序时向文本框中输入8个任意字符后,文本框中显示的是(A)A)8个“$"B)1个“$"C)8个"*”D)无任何内容(17)设在窗体上有1个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是(B)

71A)Combo1.RemoveIternCombo1.TextA)Combo1.RemoveItem4B)Combo1.RemoveItemCombol.ListCountC)Combol.RemoveItem5(18)工程中有2个窗体,名称分别为Forml.Form2,Forml为启动窗体,该窗体上有命令按钮Commandl,要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是(A)A)PrivateSubCommandl_Click()B)PrivateSubCommandl_Click()Form2.ShowForm2.VisibleEndSubEndSubC)PrivateSubCommandl_Click()D)PrivateSubCommandl_Click()LoadForm2Form2.LoadEndSubEndSub(19)若在某窗体模块中有如下事件过程(D)PrivateSubCommandlClick(IndexASInteger)EndSub则以下叙述中正确的是A)此事件过程与不带参数的事件过程没有区别B)有1个名称为Commandl的窗体,单击此窗体则执行此事件过程0有1个名称为Commandl的空件数组,数组中有多个不同类型控件D)有1个名称为Commandl的空件数组,数组中有多个相同类型控件(20)以下循环语句中在任何情况下都至少执行一次循环体的是(C)B)While<条件)循环体WendA)DoWhile〈条件〉循环体LoopC)Do循环体LoopUntil〈条件〉D)DoUntil〈条件>循环体Loop(21)在窗体上有1个名为Cdl的通用对话框,为了在运行程序时打开保存文件对话框,则在程序总应使用的语句是(A)A)Cdl.Action=2

72B)Cdl.Action=lC)Cdl.ShowSave=TureD)Cdl.ShowSave=0(22)下面关于菜单的叙述中错误的是(B)A)各级菜单中的所有菜单项的名称必须唯一B)同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同C)弹出式菜单也用菜单编辑器编辑(23)已知有下面的过程(D)PrivateSubprod(aAsInteger,bAsString,OptionalxAsBoolean)EndSub正确调用此过程的语句是A)Callprod(5)B)Callprod5,"abc”,FalseOprocl(12,wabc”,True)D)prod5,"abc"(24)在窗体上有一个文件名称为Textl的文本框和1个名称为Commandl的命令按钮,要求在程序执行时,每单击命令按钮一次,文本框向右移动一定距离。下面能够正确实现上述功能的程序是(C)A)PrivateSubCommandlClick()Textl.Left=100extl.Left=Textl.Left-100EndSubC)PrivateSubCommandlClick()Textl.Move.Text.Left+100B)PrivateSubCommand1_C1ick()TEndSubD)PrivateSubCommand1_C1ick()Textl.Move.Text.LeftEndSubEndSub(25)某人创建了1个工程,其中的窗体名称为Forml;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是(A)A)在工程属性对话框中把“启动对象”设置为Form2B)在Forml的Load事件过程中加入语句LoadForm2C)在Form2的Load事件过程中加入语句Form2.ShowD)在Form2的TabIndex属性设置为1,把Forml的TabIndex属性设置为2(26)窗体上有1个名称为Textl的文本框和1个名称为Commandl的命令按钮。要求程

73序运行时,单击命令按钮,就可以把文本框中的内容写到文件out.txt中,每次写入的内容附加到文件原有内容之后。卜面能够实现上述功能的程序是(C)A)PrivateSubCommand1_C1ick()Open"out.txt"ForInpitAs#lPrintttl,Textl.TextClosettlEndSubC)PrivateSubCommandl_Click()Open"out.txt"ForAppendAs#lB)PrivateSubCommand1Click()Open"out.txt”ForOutpitAs#lPrint#l,Textl.TextCloseftlEndSubD)PrivateSubCommand1Click()Open"out.txt"ForRandomAs#lPrintttl,Textl.TPrintttl,Textl.TextClosettlClosettlEndSubEndS(27)为计算1+3+5+……+99的值,某人编程如下k=ls=0Whilek<=99k=k+2:s=s+kWendPrints在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是(D)A)While…Wend循环语句错误,应改为Fork=lTo99••,NextkB)循环条件错误,应改为Whliek<99C)循环前的赋值语句k=l错误,应改为k=0D)循环中两条赋值语句的顺序错误,应改为s=s+k:k=k+2(28)下面程序在调试时出现了死循环PrivateSubCommand1_C1ick()n=InputBox(“请输入一个整数”)DoIfnMod2=0Thenn=n+lElsen=n+2ElseIf

74LoopUntiln=1000EndSub下面关于死循环的叙述中正确的是(D)A)只有输入的n是偶数时才会出现死循环,否则不会B)只有输入的n是奇数时才会出现死循环,否则不会C)只有输入的n是大于1000的整数时才会出现死循环,否则不会D)输入任何整数都会出现死循环(29)在窗体上有1个名称为CommonDialogl的通用对话框和1个名称为Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击Commandl按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件。以下是CommandLClick事件过程的两种算法算法1:PrivateSubCommand1_C1ick()CommonDialogl.ShowOpenOpenCommonDia1og1.Fi1eNameForInputAs#lEndSub算法2:PrivateSubCommand1_C1ick()CommonDialogl.ShowOpenIfCommonDialogl.FileName<>nwThenOpenCommonDialogl.FileNameForInputAs#lEndIfEndSub下面关于这两种算法的叙述中正确的是(B)D)显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会E)显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会0两种算法的执行结果完全一样C)算法1允许输入的文件名中含有空格,而算法2不允许(30)窗体上有1个名称为List的列表框,其中已经输入了若干个项目(如图所示):还有2个文本框,名称分别为Textl、Text2,1个名称为Commandl的命令按钮,并有以下程序PrivateSubCommandlClickODimstrAsString,sAsString,kAsIntegers=Text1Str="”Fork=Listl.ListCount-1to0Step-1IfInStr(List.List(k),s)>0thenstr=str&List.List(k)&M99EndIfNextkIfstr=""ThenText2="没有匹配的项目”ElseText2=strEndIfEndSub

75程序运行时,在Textl中输入“京”,单击命令按钮,则在Text2中显示的内容是(C)A)京B)北京南京C)南京D)没有匹配的项目(31)在窗体上画1一个名称为Command1的命令按钮,并编写以下程序PrivateSubCommandIClickOPrintfun("ABCDEFG”)EndSubFunctionfun(stAsString)AsStringstlen=Len(st)temp=”"Forkfun=tempEndFunction程序运行时,单击命令按钮,则窗体上显示的是(B)A)ABCDEFGB)AGBFCEOGFEDCBAD)AGBFCED(32)在窗体上先后画2个图片框,名称分别为Picturel和banana,banana中添加了香蕉图片(见图1),且将banana.DragMode属性设置为1。要求程序运行时,可以用鼠标把banana拖拽到Picturel中(见图2)。能实现此功能的事件过程是(C)A)PriateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSinglebanana.MovePicturel.Left+X,Picturel.Top+Y)EndSubB)PrivateSubbananaDragDrop(SourceAsControl,XAsSingle,YAsSingle)Source.MovePicturel.Left+X.Picturel.Top+YEndSubC)B)PrivateSubPicturel_DragDrop(SourceAsControl,XAsSingle,YAsSingle)Source.MovePicturel.Left+X.Picturel.Top+YEndSubD)B)PrivateSubPicturel_DragDrop(SourceAsControl,XAsSingle,YAsSingle)banana.Movebanana.Left+X,banana.Top+YEndSub(33)在窗体上画1个名称为Commandl的命令按钮,然后编写如下事件过程OptionBase1PribateSubCommand1_C1ick()Dima(5.5)AsIntegerFori=lTo5a(I,j)*5\10Nextj

76NextiS=0Fori=lTo5S=s+a(i,i)NextiPrintsEndSub程序运行后,单击命令按钮,输出结果是(A)A)15B)13OilD)9(34)在窗体上从左到右有Textl,Text2两个文本框(见图),要求程序运行时,在Text1中输入1个分数后按回车键,则判断分数的合法性,若分数为0~100中的1个数,周围光标移到Text2中:否则光标不动,并弹出对话框显示“分数错”,卜面程序中正确的是(D)A)PrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then,回车符的ACSII码是13a=Val(Textl)Ifa>=0ora<=100ThenText2.SetFocusElseTextl.SetFocus;MsgBox("分数错”)EndIfEndIfEndSubB)PrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then,回车符的ACSH码是13a=Val(Textl)Ifa>=0Anda<=100ThenTextl.SetFocusElseText2.SetFocus;MsgBox("分数错”)EndIfEndIfEndSub

77A)PrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then,回车符的ACSII码是13a=Val(Textl)Ifa<0Anda>100ThenText2.SetFocusElseTextl.SetFocus;MsgBox(“分数错”)EndIfEndIfEndSubB)PrivateSubTextl_KeyPress(KeyAsciiASInteger)IfKeyAscii=13Then,回车符的ACSII码是13a=Val(Textl)Ifa>=0Anda<=100ThenText2.SetFocusElseTextl.SetFocus;MsgBox(“分数错”)EndIfEndIfEndSub(35)在窗体上画2个命令按钮,名称分别为Commandl、command2,并编写如下程序Constn=5,m=4Dima(m,n)PrivateSubCommandIClickOK=1Fori=lTomForj=lTona(i,j)=kk=k+lNextjNextiPrivateSubCommand2_Click()Summ=0Fori=lTomForj=lTon

78Ifi=lOri=mThenSumm=summ+a(i,j)ElseIfj=IOrj=nThenSumm=summ+a(i,j)EndIfEndIfNextjNextiPrintsummEndSub过程Commandl_Click()的作用是二维数组a中存放1个m行n列的矩阵;过程Command2_Click()的作用是(A)A)计算矩阵外围一圈元素的累加和B)计算矩阵除外一圈以外的所有元素的累加和C)计算矩阵第1列和最后一列元素的累加和D)计算矩阵第1行和最后一行元素的累加和二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题纸上序号的横线上,答在试卷上,答在试卷上不得分,注意:以命令关键字填空的必须写完整(1)在深度为7的满二叉树中,度为2的结点个数为―63。(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于—黑箱(或黑盒)测试。(3)在数据库系统中,实现各种数据管理功能的核心软件称为数据库管理系统(DBMS).(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于开发阶段。(5)在结构化分析使用的数据流图(DFD)中,利用数据字典对其中的图形元素进行确切解释。(6)1++++n最大的n。请填空

79PrivateSubCommand1Click()Dims,in,nASIntegerm=Val(InputBox(“请输入一个大于100的整数”))n=0s=0DoWhilesN=n+1S=s+n*nLoopPrint“满足不等式的最大n是n-1EndSub

80(7)下面程序的功能是把文件filell.txt中重复字符去掉后(即若有多个字符相同,则只保留1个)写入文件file2.txt。请填空。PrivateSubCommand1_Click()DimincharASString,tempASString,outcharASStringOutchar=w”Open=wfilel.txt"ForInputAS#1Open=wfile2.txt"ForOutputAS#2n=L0F(1)inchar=Input$(n,1)Fork=lTontemp=Mid(inchar,k,1)IfInStr(outchar,temp)=0Thenoutchar=outchar&tempEndIfNextkprint#2,outcharclose#2close#1EndSub(8)在窗体上先画1个名为Text1的文本框和平个名为Label1的标签,再画1个名为0P1的有4个单选按钮数组,其Index属性按季度顺序为0s3(见图1)。在文件sales.txt中按月份顺序存有某企业某年12个月的销售额。要求在程序执行时,鼠标单击1个单选按钮,则Textl中显示相应季度的销售总额,并把相应的文字显示在标签上。图2是单击“第3季度”单选按钮产生的结果。请填空。Dimsales(12)AsLongPrivateSubForm_Load()openusales,txt”ForInputAS#1Fork=lTo12Input#1,sales(k)NextkClose#1EndSub

81DimsumASLong,kASIngeger,monthASIngegersum=0month=Index*3Fork=lTo3month=month+lsum=sum+sales(month)NextkLabel1.Caption=Opl(Index).Caption&“销售总额:Textl=sumEndSub(9)某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回FalseFunctionPrime(aAsInteger)ASBooleanDimkAsInterger,isprimeASBooleanIfa<2Thenisprime=FalseElseisprime=Truek=2DoWhilekIfaModk=0Thenisprime=FalseELSEk=k+1EndIFLOOPEndIfprime=isprimeEndFunction在测试时发现有1个非素数也被判断为素数,这个错判的数是42007年4月全国计算机等级考试二级VB语言笔试试题答案选择题:1-10cdacdcabaa11-20ddbcdabadc21-30bbdcacddbc31-35bcada填空:63黑盒测试DBMS开发阶段数据词典0N-1#210outcharopl_click3caption42007年9月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)软件是指

82A)程序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)程序设计语言中的数组一

83般是顺序存储结构,因此,利用数组只能处理线性结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+l)/2B)nlog2nC)n(n—1)/2D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219B)221C)229D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对

84(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)要使一个文本框可以显示多行文本,应设置为True的属性是A)EnabledB)MultiLineC)MasLenfthD)Width(12)在窗体上有一个名为Textl的文本框。当光标在文本框中时,如果按下字母键“A",则被调用的事件过程是A)FormKeyPress()B)Text1LostFocus()C)Textl_Click()D)Testl_Change()(13)设在窗体上有一个名称为Command1的命令按钮和一个名称为Textl的文本框。要求单击Command1按钮时可把光标移到文本框中。下面正确的事件过程是B)PrivateSubCommand1.GotFocusEndSubD)PrivateSubCommandl.SetFocusEndSubA)PrivateSubCommandl_Click()Textl.GotFocusEndSubC)PrivateSubCommand1_Click()Textl.SetFocusEndSub(14)执行以下程序后输出的是

85Ch$="AABCDEFGH”PrintMid(Righ(ch$,6),Len(left(ch$,4)),2)EndSubA)CDEFGHB)ABCDC)FGD)AB(15)设在窗体Forml上有一个列表框Listl,其中有若干个项目。要求单击列表框中某一项时,把该项显示在窗体上,正确的事件过程是A)PrvateSubListl_Click()PrintList1.TextEndSubC)PrivateSubListl_Click()PrintForml.TextEndSubB)PrivateSubForml_Click()PrintList1.TextEndSubD)PrivateSubForml_Click()List1,PrintList1.TextEndSub(16)若窗体上的图片框中有一个命令按钮,则此按钮的Left属性是指A)按钮左端到窗体左端的距离B)按钮左端到图片框左端的距离C)按钮中心点到窗体左端的距离D)按钮中心点到图片框左端的距离(17)为使程序运行时通用对话框CD1上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是A)CDl.DialogTitle="对话框窗口”B)CDl.Action=“对话框窗口”C)CDl.FileName="对话框窗口”D)CDl.Filter=“对话框窗

86(18)在窗体上有如右图所示的控件,与其标题相同,并有如下程序:PrivateSubForm_Load()Command?.Enabled=FalseCheckl.Value=lEndSub各控件的名称D)刚运行程序时,看到的窗体外观是:(19)设在窗体中有一个名称为Listl的列表框,其中有若干个项目(如图)。要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是A)PrivateSubCommand1_Click()Listl.Clear

87EndSubA)PrivateSubCommand1_Click()List1.ClearList1.ListindexEndSubB)PrivateSubCommand1_Click()List1.RemoveitemList1.ListindexEndSubC)PrivateSubCommandl_Click()List!.RemoveitemEndSub(20)某人设计了如下程序用来计算并输出7!(7的阶乘)PrivateSubCommand1_Click()t=0Fork=7To2Step-1t=t*kNextPrinttEndSub执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结构的是A)把t=0改为t=lB)把Fork=7To2Step-1改为Fork=7To1Step-1

88C)把Fork=7To2Stip-1改为Fork=lTo7D)把Next改为Nexik(21)若窗体中已经有若干个不同的单选按钮,要把它们改为一个单选按钮数组,在属性窗口中需要且只需要进行的操作是A)把所有单选按钮的Index属性改为相同值B)把所有单选按钮的Index属性改为连续的不同值C)把所有单选按钮的Caption属性值改为相同D)把所有单选按钮的名称改为相同,且把它们的Index属性改为连续的不同值。(22)窗体上有文本框Textl和一个菜单,菜单标题、名称如表,结构见图。要求程序执行时单击“保存”菜单项,则把其标题显示在Textl文本框中。下面可实现此功能的事件过程是:标题名称文件file新建new保存saveA)PrivateSubsave_Click()save_Click()B)PrivateSubTextl.Text=file.save.CaptionTextl.Text=save.CaptionEndSubEndSubC)PrivateSubfile_Click()D)PrivateSub

89file_Click()Textl.Text=file.save.CaptionText1.Text=save.CaptionEndSubEndSub(23)某人在窗体上画了一个名称为Timerl的计时器和一个名称为Lab的属性设置为Enabled=True,Interval=O,并编程如下。希望在每2秒在标签上显示一次系统当前时间。PrivateSubTimerl_Timer()Label1.Caption=Time$EndSub在程序执行时发现未能实现上述目的,那么,他应做的修改是A)通过属性窗口把计时器的Interval属性设置为2000B)通过属性窗口把计时器的Enabled属生设置为FalseC)把事件过程中的Label1.C叩廿011=1'11116$语句改为Timer1,Interval=Tims$D)把事件过程中的Label1.Caption=Time$语句改为Label1.Caption=Timer1.Time(24)形状控件的Shape属性有6种取值,分别代表6种儿何图形。下列不属于这6种几何图形的是

90A)B)C)D)□△OO

91(25)下面关于文件的叙述中错误的是A)随机文件中各条记录的长度是相同的]B)打开随机文件时采用的文件存取方式应该是RandomC)向随机文件中写数据应使用语句Print#文件号D)打开随机文件与打开顺序文件一样,都使用Open语句(26)设窗体上有一个图片框Pictured要在程序运行期间装入当前文件夹下的图形文件Filel.jpg,能实现此功能的语句是A)Picture1.Picture=,,Flie1.jpgB)Picture1.Picture=LoadPicture(*Tilel.jpg^^)C)LoadPicture("Filel.jpg”)D)CallLoadPicture(t4Filel.jpg,5)(27)下面程序执行时,在窗体上显示的是PrivateSubCommand1_Click()Dima(10)Fork=1To10a(k)=11-kNextkPrinta(a(3)\a(7)Moda(5))EndSubA)3B)5C)7

92(28)为达到把a、b中的值交换后输出的目的,某人编程如下:

93a%=10:b%=20Callswap(a,b)Printa,bEndSubPrivateSubsw叩(ByVaiaAsInteger,ByVaibAsInteger)c=a:a=b:b=cEndSub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是A)调用sw叩过程的语句错误,应改为Callswapa,bB)输出语句错误,应改为:Print"a",“b"C)过程的形式参数有错,应改为:sw叩(ByRefaAsInteger,ByRefbAsInteger)D)swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a(29)有如下函数:Functionfun(aAsInteger,nAsInteger)AsIntegerDimmAsIntegerWhilea>=na=a-nm=m+1Wendfun=m

94EndFunction该函数的返回值是A)a乘以n的乘积B)a加n的和C)a减n的差D)a除以n的商(不含小数部分)(30)下面程序的输出结果是PrivateSubCommandl_Click()ch$="ABCDEF”procchPrintchEndSubPrivateSubproc(chAsString)S=^^^^Fork=Len(ch)To1Step-1s=s&Mid(ch,k,l)Nextkch=sEndSubA)ABCDEFB)FEDCBAC)AD)F(31)某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下:FunctionMaxValue(a()AsInteger)AsIntegerDimmax%max=l

95Fork=2To10Ifa(k)>a(max)Thenmax=kEndIfNextkMaxValue=maxEndFunction程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是A)语句max=1应改为max=a(l)B)语句Fork=2To10应改为Fork=1To10C)If语句中的条件a(k)>a(max)应改为a(k)>maxD)语句MaxValue=max应改为MaxValue=a(max)(32)在窗体上画一个名称为Command1的命令按钮,并编写以下程序:PrivateSubCommand1_Click()Dimn%,b,tt=l:b=l:n=2Dob=b*nn=n+1

96LoopUntiln>9PrinttEndSub此程序计算并输出一个表达式的值,该表达式是A)9!B)10!011+2!+―+9!D)1!+2!+♦,,+10!(33)有一个名称为Forml的窗体,上面没有控件,设有以下程序(其中方法Pset(X,Y)的功能是在坐标X,Y处画一个点):DimcmdmaveAsBooleanPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)cmdmave=TrueEndSubPrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfcmdmaveThenForml.Pset(X,Y)EndIfEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)cmdmave=False

97EndSub此程序的功能是A)每按下鼠标键一次,在鼠标所指位置画一个点B)按下鼠标键,则在鼠标所指位置画一个点;放开鼠标键,则此点消失C)不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线D)按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线(34)某人设计了下面的函数fun,功能是返回参数a中数值的位数Functionfun(aAsInteger)AsIntegerDimn%n=1Whilea\10>=0n=n+1a=a\10Wendfun=nEndFunction在调用该函数时发现返回的结果不正确,函数需要修改,下面的修改方案中正确的是A)把语句n=1改为n=0

98B)把循环条件a\10>=0改为a\10>0C)把语句a=a\10改为a=aMod10D)把语句fun=n改为fun=a(35)在窗体上有一个名称为Check1的复选框数组(含4个复选框),还有一个名称为Textl的文本框,初始内容为空。程序运行时,单击任何复选框,则把所有选中的复选框后面的方字罗列在文本框中(见图)。下面能实现此功能的事件过程是A)PrivateSubCheckl_Click(IndesAsInteger)Textl.Text=""Fork=0To3IfCheckl(k).value=1ThenTextl.Text=Text1.Text&Check1(k).Caption&""格EndIfNextkEndSubA)PrivateSubCheckl_Click(IndexAsInteger)Fork=0To3IfCheckl(k).Value=1Then,双引号中是空,双引号中是空Textl.Text=Textl.Text&Check1(k).Caption&""格EndIfNextk

99EndSubA)PrivateSubCheck1_Click(IndexAsInteger)Text1.Text=""Fork=0To3IfCheckl(k).Value=1ThenText1,Text=Text1.Text&Check1(Index).Caption&"",双引号中是空格EndIfNextkEndSubB)PrivateSubCheckl_Click(IndexAsInteger)Text1.Text=""Fork=0To3IfCheckl(k).Value=1ThenTextl.Text=Text1.Text&Check1(k).Caption&"",双引号中是空格ExitForEndIfNextkEndSub

100二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡[1]〜[15]序号的横线上,答在试卷上不得分。(D软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】。(2)在两种基本测试方法中,【2】测试的原则之一是保证所测模块中每一个独立路径至少执行一次。(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】存储结构。(4)对下列二叉树进行中序遍历的结果为,(5)在E-R图中,矩形表示【5】(6)窗体上有一个组合框,其中已输入了若干个项目。程序运行时,单击其中一项,即可把该项与最上面的一项交换。例如:单击图1中的“重庆”,则与“北京”交换,得到图2的结果。下面是可实现此功能的程序,请填空。PrivateSubCombol_Click()

101Dimtemptemp=Combo1.Text[6]=Combo1.List(O)Combol.List(O)=tempEndSub(7)设窗体上有一个名称为HScroIH的水平滚动条,要求当滚动块移动位置后,能够在窗体上输出移动的距离(即新位置与原位置的刻度值之差,向右移动为正数,向左移动为负数)。下面是可实现此功能的程序,请填写。Dim[7]AsIntegerPrivateSubForm_Load()pos=HScroIII.ValueEndSubPrivateSubHScroIII_Change()Print[8]-pospos=HScroIILValueEndSub(8)设窗体上有一个名称为CD1的通用对话框,一个名称为Textl的文本框和一个名称为Command1的命令按钮。程序执行时,单击Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Textl中。下面是实现此功能的事件过程,请填空。

102PrivateSubCommand1_Click()CD1.Filter="文本文件l*.txt(Word文档)*.doc"CDl.Filterinder=1CD1.ShowOpenIfCDl.FileNameo""ThenOpen[9]ForInputAs#1LineInput#l,ch$Close#1Textl.Text=[10]EndIfEndSub(9)下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5867,输入1000,则输出0001。请填空。PrivateSubCommand1_Click()DimxAsIntegerx=InputBox(“请输入一个正整数”)Whilex>[11]PrintxMod10;

103x=x\10WendPrintJ121EndSub(10)有如图所示的窗体。程序执行时先在Textl文本框中输入编号,当焦点试图离开Textl时,程序检查编号的合法性,若编号合法,则焦点可以离开Textl文本框;否则,显示相应错误信息,并自动选中错误的字符,且焦点不能离开Textl文本框(见图)。合法编号的组成是:前2个字符是大写英文字母,第3个字符是后面是数字字符(至少1个)。下面程序可实现此功能,请填空。PrivateSubText1_Lostfocus()Dimk%,n%n=Len([13])Fork=ltoif(n>3,n,4)c=Mid(Text1.Text,k,1)SelectCasekCase1,2Ifc<"A"Orc>"Z"ThenMsgBox(“第“&k&"个字符必须是大写字母!")SetPositionkExitForEndIf

104Case3Ifco"-"ThenMsgBox("第"&k&"个字符必须是字符"""木)SetPositionkExitForEndIfCaseElseIfc<"0"Orc>"9"ThenMsgBox("第"&k&"个字符必须是数字!")SetPositionkExitForEndIfEndSelectNextkEndSubPrivateSubSetPosition(posAsInteger)Textl.SelStart=pos-1Text.SelLength=[141Textl.[151EndSub

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

1061、程序流程图中带有箭头的线段表示的是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)冒泡排序下列关于栈的叙述正确的是A)栈按“先进先出”组织数据C)只能在栈底插入数据C)直接插入排序D)堆排序B)栈按“先进后出”组织数据D)不能删除数据8、在数据库设计中,将E—R图转换成关系数据模型的过程属于9、A)需求分析阶段B)概念设计阶段有三个关系R、S和T如下:C)逻辑设计阶段D)物理设计阶段叵EEIdEE二工二BCDa0kl由关系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)出现错误提示13、以下选项中,不合法的VisualBasic变量名是A)a5bB)_xyzC)a_bD)andif14、以下数组定义语句中,错误的是A)Statica(10)AsIntegerB)Dimc(3,1to4)C)Dimd(-10)D)Dimb(0to5,1to3)AsInteger15、现有语句:y=IIf(x>0,xMod3,0),设x=10,则y的值是A)0B)1C)3D)语句有错

10716、为了使文本框同时具有垂直和水平滚动条,应先把MultiLine属性设置为True,然后再把Scrollbars属性设置为D)3A)0B)1C)217、文本框Textl的KeyDown事件过程如下:PrivateSubText1KeyDown(KeyCodeAsEndSub其中参数KeyCode的值表示的是发生此事件时A)是否按下了Alt键或Ctrl键C)所按的键盘键的键码18、窗体上有一个名称为Hscrolll的滚动条,立即在窗体上显示滚动框的位置(即刻度值)。A)PrivateSubHscrol1IChangc()Hsctrol11Change()PrintHScrolll.ValueHScrolll.SmallChangeEndSubC)PrivateSubHScrolll_Scroll()HScrolll_Scroll()PrintHScrolll.ValueHScrolll.SmallChangeEndSubInteger,ShiftAsInteger)B)按下的是哪个数字键D)按下的是哪个鼠标键程序运行后,当单击滚动条两端的箭头时,下面能够实现上述操作的事件过程是B)PrivateSubPrintEndSubD)PrivateSubPrintEndSub19、若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是A)用鼠标右键单击此按钮B)按键盘上的Esc键C)按键盘上的回车键D)用鼠标右键双击此按钮20、要使两个单选按钮属于同一个框架,正确的操作是A)先画一个框架,再在框架中画两个单选按钮B)先画一个框架,再在框架外画两个单选按钮,然后把单远按钮拖到框架中C)先画两个单选按钮,再画框架将单选按钮框起来D)以上三种方法都正确21、能够存放组合框的所有项目内容的属性是A)CaptionB)TextC)ListD)Selected22设窗体上有一个标签Labell和一个计时器Timerl,Timer1的Interval属性被设置为1000,Enabled属性被设置为True。要求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是A)PrivateSubTimerlTimer()Label1.Caption=TrueEndSubC)PrivateSubTimerl_Timer()Label1.Interval=lB)PrivateSubTimerITimerOLabel1.Caption=Time$EndSubD)PrivateSubTimerl_Timer()Fork=1ToTimerl.IntervalEndSubLabe11.Caption=TimerNextkEndSub

10823、设有如图所示窗体和以下程序:PrivateSubCommandl_Click()Textl.Text=^VisualBasic”EndSubPrivateSubText1LostFocus()IfText1.Text<>“BASIC”ThenTextl.Text=,,,>Text1.SetFocusEndIfEndSub程序运行时,在Textl文件框中输入“Basic”(如图所示),然后单击Command1按钮,则产生的结果是A)文本框中无内容,焦点在文本框中B)文本框中为“Basic”,焦点在文本框中C)文本框中为“Basic”,焦点的按钮上D)文本框中为MVisualBasic”,焦点的按钮上24、窗体上有一个名称为Commandl的命令按钮,其事件过程如下:PrivateSubCommand1Click()x=aVisua1BasicProgranuningMa=Right(x,11)b=Mid(x,7,5)OMsgbox(a,,b)EndSub运行程序后单击命令按钮,以下叙述中错误的是A)信息框的标题是BasicB)信息框中的提示信息是Programming0C的值是函数的返回值D)MsgBox的使用格式有错25、设工程文件包含两个窗体文件Forml.frm^Form2.frm及一个标准模块文件Modulel.bas,两个窗体上分别只有一个名称Commandl的命令按钮。Forml的代码如下:PublicXAsIntegerPrivateSubForm_load()x=ly=5EndSubPrivateSubCommandIClickOForm2.ShowEndSubForm2的代码如下:PrivateSubCommandlCiickOPrintForml.x,yEndSubModulel的代码如下:PublicyAsInteger运行以上程序,单击Forml的命令按钮Commandl,则显示Form2;再单击Form2上的命令按钮Commandl,则窗体上显示的是

109A)15B)05C)00D)程序有错26、窗体上有一个名称Textl的文本框,一个名称为Commandl的命令按钮。窗体文件的程序如下:PrivateTypexaAsIntegerbASIntegerEndTypePrivateSubCommandlClickODimyAsxy.a=InputBox()Ify.a\2=y.a/2Theny.b=y.a*y.aElsey.b=Fix(y.a/2)EndIfTextl.Text=y.bEndSub对以上程序,下列叙述中错误的是A)x是用户定义的类型B)InputBox函数弹出的对话框中没有提示信息C)若输入的是偶数,y.b的值为该偶数的平方C)Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回27、窗体上有一个名称为CD1的通用对话框控件和由四个命令按钮组成的控件数Commandl,其下标从左到右分别为0、1、2、3,窗体外观如图所示。命令按钮的事件过程如下:PrivateSubCommandl_Click(IndexAsInteger)SelectCaseIndexCase0CDLAction=lCase1CD1.ShowSaveCase2CD1.Action=5Case3EndEndSelectEndSub对上述程序,下列叙述中错误的是A)单击“打开”按钮,显示打开文件的对话框B)单击“保存”按钮,显示保存文件的对话框C)单击“打印”按钮,能够设置打印选项,并执行打印操作D)单击“退出”按钮,结束程序的运行28、窗体上有两个水平滚动条HV、HT,还有一个文本框Textl和一个标题为“计算”的命令按钮Commandl,并编写了以下程序:PrivateSubCommandIClickO

110CallCale(HV.Value,HT.Value)EndSubPublicSubCale(xASInteger,yASInteger)Textl.Text=x*yEndSub运行程序,单击“计算”按钮,可根据速度与时间计算出距离,并显示计算结果。对以上程序,下列叙述中正确的是A)过程调用语句不对,应为Cale(HV,HT)・For«lEI叵区IB)过程定义语句的形式参数不对,应为SubCale(xAsControl,yAsControl)0计算结果在文本框中显示出来D)程序不能正确运行29、现有如下程序:PrivateSubCommand1Click()S=0Fori=lto5S=S+f(5+i)NextPrintSEndSubPublicFunctionf(xAsInteger)Ifx>=10Thent=x+lElset=x+2EndIff=tEndFunction运行程序,则窗体上显示的是A)38B)49C)61D)7030、窗体上有一个用菜单编辑器设计的菜单(见上图)。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。以下叙述中错误的A)在设计“粘贴”菜单项时,在菜单编辑器窗口中设置了“有效”属性(有“J”)B)菜单中的横线是在该菜单项的标题输入框中输入了一个“一”(减号)字符C)在设计“选中”菜单项时,在菜单编辑器窗口中设置了“复选”属性(有“J”)D)在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见”前面的“31、窗体上有一个名称为Picture1图片框控件,一个名称Label1的标签控件。如图所示。现有如下程序:PublicSubdisplay(xAsControl)IfTypeOfxisLabelThenx.Caption="计算机等级考试”Elsex.Picture=Loadpicture("pic.jpg")EndlfEndSubPrivateSubLabell_Click()Calldisplay(Labell)EndSubPrivateSubPicturel_Click()Calldisplay(Picturel)EndSub对以上程序,下列叙述中错误的是A)程序运行时会出错B)单击图片框,在图片框中显示一幅图片C)过程中的X是控件变量D)单击标签,在标签中显示一串文字32、窗体上有两个名称分别为Textl、Text2的文本框。Textl的KeyUp的事件过程如下:PrivateSubTextl_KeyUp(KeyCodeAsInteger,shiftASInteger)DimCASstringTcxt2.Text=Chr(Asc(c)+2)EndSub当向文本框Textl中输入小写字母a时,文本框Text2中显示的是A)AB)aC)CD)c33、设窗体上有一个文体框Textl和一个命令按钮Command1,并有以下事件过程:PrivateSubCommandl_Click()DimSAsString,chAsStringS="”Fork=lTOLen(Textl)ch=Mid(Textl,k,1)S=ch+S

111NextkTextl.Text=SEndSub程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Textl中显示的是A)BasicB)cisaBC)BASICD)CISAB34、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:PrivateSubCommandl_Click()Dima(10)AsInteger,maxAsIntegerFork=lTO10a(K)=InputBox(“输入一个整数”)NextkMax=0Fork=lTo10Ifa(k)>maxThenMax=a(k)EndIfNextkPrintmaxEndSub运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改,F面的修改中可以得到正确运行结果的是A)把Ifa(k)>maxThen改为Ifa(k)

112C)把sum=sum+score(i,j)改为sum=sum+score(j,i)D)把sum=sum+score(i,j)改为sum=score(i,j)二、填空题(1)测试用例包括输入值集和[1]值集。(2)深度为5的满二叉树有[2]个叶子结点。(3)设某循环队列的容量为50,头指针Front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有[3]个元素。(4)在关系数据库中,用来表示实体之间联系的是[4]o(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,[5]负责数据的模式定义与数据的物理存取构建。(6)设有以下的循环:要求程序运行时执行3次循环体,请填空。x=lDOx=x+2PrintxLoopUntil[6](7)窗体上命令按钮Commandl的事件过程如下:PrivateSubCommand1_C1ick()DimtotalAsIntegertotal=s(l)+s(2)PrinttotalEndSubPrivateFunctions(mAsInteger)AsIntegerStaticxAsIntegerFori=1Tomx=x+lNextiS=xEndFunction运行程序,第3次单击命令按钮Commandl时,输出结果为[7](8)在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:OptionBase1PrivateSubCommand1Click()Dima(10)AsIntegerFori=lTo10a(i)=iNextCallswap([8])Fori=lTo10Printa(i)NextEndSubSubswap(b()AsInteger)n=[9]Fori=lTon/2t二b⑴b(i)=b(n)b(n)=t[10]

113NextEndSub上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(l)与a(10)的值互换,a(2)与a(9)的值互换,请填空。(9)在窗体上面一个通用对话框,其名称为CommonDialogl,然后画一个命令按钮,并编写如下事件过程:PrivateSubCommand1_Click()CommonDialogl.Filter="AllFiles(*.*)|*.*TextFiles”_&”(*.txt)|*.txt|BatchFiles(*.bat)*.batnCommonDialoglFilterlndex=lCommondialogl.ShowOpenMsgBoxCommonDialogl.FileNameEndSub程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是[11];如果在对话框中选择d盘temp目录下的tel.txt文件,然后单击“确定”按钮,则在MsgBox信息框中显示的提示信息是[12]o(10)以下程序的功能是:把程序文件smtextl.txt的内容全部读入内存,并在文本框Textl中显示出来。请填空。PrivateSubCommand1Click()DiminDataAsStringText1.Text二Open"smtextl.txt”[13]As[14]DoWhile[15]Input#2,inDataTextl.Text=Textl.Text&inDataLoopClose#2EndSub

114【奢试晒•"用路艇】2008:年4月金i+真机等级理试VisualRaVe分3客St2008计算机等级考试已经结束了.考试吧预祝各位考生JB利通过考试!为了让考生幽够及早岫了解自己的考试情况.考试吧联合新思路教商科技研允中心推出32008年4月计算帆等级考试二级VB试通答案.供大家参者1一、选择题(1)C)(2)A)(3)B)(4)B)(5)A)(6)D)(7)B)(8)C)(9)D)(10)C),(11)D)(12)A)(13)B)(14)C)(15)B>(16)D)(17)C)(18)A)(19)C)(20)A)(21)C)(22)B)(23)A)(24)D)(25)A)(26)D)(27)C)(28)C)(29)B)(30)A)(31)B)(32)C)(33)B)(34)D)(35)B)注:第28购因为出题不严遂,在理解上可能存在分歧:如果滚动条没有修改其认MAXJM性值,程序将不能正确运行,则答案为D二、填空题(1)[1]输出(2)[2]16(3)[3]24(4)[4]关系(二维表)(5)[5]数据定义语言(6)[6]x>5(或xa6或xa=6或x=7)(7)[7]16(8)[8]a[9]Ubound(b)[10]n=n-1(9)[11]AllFiles(*.*)[12]d:\temp\tel.txt(10)[13]ForInput[14]#2[15]NOTEOF(2)♦业,,iS训

115机密★启用前2008年9月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计卷.«*(考试时间90分钟,满分100分)一、选择题《每小题2分,共70分)下列各题#)、F),Civi兄皿7选任中,只占一个选项是正旗船.请招正确选项涂写在笞题卡相应他江上,答密试卷上不程分..(1)一个栈的初始状态为空,现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A)I2345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDOJA:二,"叁生於啜揖彗生(2)下列叙述中正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是中线性结构B)在循环队列中.只需要队头指计就能反映队列中元素的动态变化情况C)在循环队列中,只需要以必指针就能反映队列5元素的动态变化情况D)循环认列中元素的个数是由队头指针和队尾指计共同决定(3)在长度为"的存序线性表中进行一分会找,最外情况下需要比技的次数是I)LtD)数据流

116D)程序流程图为*D)标识唯一性(6)在软件开发中,需求分析阶段可以使用的工具是A)N-S图B)DFD图C)PAD图(7)在面向对象方法中,不属于“对线”基本特点的是A>一致性B)分类性C)多态性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是A)一对一B)一对多C)多对D)多对多(9)在数据管理技术发展的三个阶段中,数捌共享最好的是A)人工管理阶段C)数据庵系统阶段B)文件系统阶段D)三个阶段相同当关系R用IS通过运算得到关系T.A)笛卡尔积B)交则所使用的运算为C)并D)自然连接(11)在设汁窗体时双击窗体的任何地方,可以打开的窗口是A)代码窗UB)属性窗口C)工程资源管理器窗口D)工具箱窗口(12)若变童a未事先定义而直接使用(例如:aK)),则变量a的类型是A)IntegerB)StringC)BooleanD)Variant(13)为把圆周率的近似值3.14159存放在变量pi中,应该把变量pi定义为

117A)DimpiAsIntegerC)DimpiAsSingle(14)点达式2*3八2,4*2/2+3八2的值是A)30看》*C)49B)Dimpi(7)AsIntegerD)DimpiAsLong6砧B)31D)48

118(15)以下不能输出“Program”的语句是B)PrintRigMfVBProgram",7)D)PrintLcfl("VBProgram",7)A)PrintMidC'VBProgram",3,7)C)PrintMidC'VBProgram",3)(16)窗体上彳f一个名称为Framel的框架(如图),若要把框架上显示的“Frame】“改为汉字“框架”.卜面正确的语句是A)Framcl.Narnc="框架"B)Frame!.Caption=C)FrameLText="框架"D>Frame1.Value="框架"(17)以下叙述中霜误的是A)在通用过程中,多个形式参数之间可以用逗号作为分隔符B)在Prinl方法中,多个输出项之间可以用逗号作为分舱符C)在Dim语句中,所定义的多个变我可以用溟片作为分隔符D)当一行中行多个语句时,可以用逗号件为分隔符-#随^逃济▲乱德(18)设窗体上有一个列表框控件Listl.含有若干列表项.以下能农示当前被选中的列表项内容的是A)List1.LisiC)ListI.TextB)Lisii.ListindexD)Listl.Index(19)&a=4,B5,c=6,执行治句Printa

119OptionBase0Dima()AsInteger,inAsIntegerPrivateSubCommand1_CIick()mhinpulRox("请输入一个正整数")ReDima(m)线Vi”向Ran•汪.锣庆y,k,一一

120D)20(24)以卜关于过程及过.程参数的描述中,错误的是D)8PrivateSubCommand2_Click()m*input&wd请输入个正整数")ReDima{m)EndSub运行程序叼,单击Command1后钻入整数10,再单击Command2后输入整数5,则数组a中元素的个数是A)5B)6C)10D>11(22》《曲体L:曲一7命令按钳和一个标等,其名称分别为Commandl和Labe”,然后编号如下事件过程:PrivateSubCommand1_CIick()Counter=0Fori=1To4Forj=6To1Step-2Counter=Counter4-!NextjNextiLabc!LCapuon=Str((>)unter)EndSub程序运行后,单击命令按钮,标签中显示的内容是A)!]B)12C)16(23)在窗体上画…个名为Command1的命令按纪,然后瘠写以下程序:.TPrivateSubCommand!_Click()DimM(10)AsIntegerFork=1ToIUM(k)=12-kNextkPrintM(2-M(x))EndSub运行程序,单击命令按钮,在窗体上显示的是A)6B)5C)7

121A)B)C)D)调用过程时可以用控件名称作为实际参数用数组作为过程的参数时,使用的是“传地址”方式只有函数过程能通将过程中处理的信息传回到调用的程序中一慑窗体(Fenn)可以作为过程的誉数・*R&R«*“希祖(25)在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为LabelI.LabeL2的标签,然后编写如下程序代码:rrive'*X.<;:PrivateSubCar.'irr:andi_CliCK()X=5:Y=3Callproc(X,Y)Label1.Caption-XLabel2.Caption=YEndSubPrivateSubproc(aAsInteger,ByVaibAsInteger)X=a♦aY=b+bEndSub程仔运行后,单击命令按钮,则两个标签中显示的内容分别是R)5和3D)5和6A)25和3C)25和6一个名称为Command1的命令(26)在窗体I:有两个名称分别为Tcxtl、Text2的文本机,按钮,运行后的窗体外观如图所示.姓名专业何算机科学与技术保存I

122设有如下的英型和变量声明:PrivateTypePersonnameAsString*8majorAsString”。受队用务WR二级VisualBa$s出,讨之2*达程»$而

123EndTypeDimpAsPenjou设文本框中的数据已正确地赋值给Person类型的变量p.当单击“保存”按钮时.能移正说地把变音中的数据写入的机文件会城不家中的程序段处A)Openk:\Tust2.dal”ForOutputAs#1Put#UI,pClose#1B)Open^cATestS.daf*ForRandomAsGet的,l,pClose#1C)Open*1c:\rest2.datHFurRandomAs#ILcn=Len(p)Put#1,1,pClose#1D)Open"c;\Tcst2.datuForRandomAstilLen=Len(p)Get#l,l.pClose#1金AJA(27)在窗埠上而i,个名称为Textl的文本框加一个名称为Commundl的命令按钮,然后编耳如F事件过程:PrivateSubCommandl_Click()DimiAsInteger,nAsIntegerFori-0To50i=i+3n=n+1lfi>ioThenExitForNextText1.Text=Str(n)EndSub程序运行后,中击命令按钮,在文本框中显示的值是A)2B)3C)4D)5(28)假定有以下循环结构DoUntil条件表达式循环体Loop三线VisualB岫c.语言意序设计诫卷湾6页(箕14页)y”以业.业

124则以下正确的描述是A)如果“条件表达式”的侑是0,则一次循环体也不执行B)如果“条件表达式”的值不为0,则至少执行一次循环体C)不论“条件表达式”的值是否为“真”,至少要执行一•次循环体D)如果“条件表达式”的值恒为0,则无限次执行循环体(29)在窗体匕画一个命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()DimI,NumRandomizeDoFor1=1To1000Num=lnt(Rnd*100)PrintNum;SelectCaseNumCase12ExitForCase58ExitDoCase65,68,92EndEndSelectNextILoopEndSub上述事件过程执行后,下列描述中正确的是A)D。循环执行的次数为1000次B)在For循环中产生的随机数小于或等于100C)当所产生的随机数为12时结束所有循环D)当所产生的随机数为65、68或92时窗体关闭、程序结束(30)在窗体上而一个名为Comniandl的命令按钮.然后编写如下代码:OptionBaseIPrivateSubCommand1_CIick()Duna

125a=Array。,2,3,4)j=11Fori=4To1Step-1吧/E+a(i)*j,inj=j*10NextiPrintsEndSvb运行上面的收字,其的出结果是C)34D)4321A)1234B)12(31)设有如卜通用过程:PublicFunctionFun(xStrAsString)AsStringDim(SirAsSiring,strLAsInteger;e-.''tStr="MstrL-Len(xStr)i=lDo\Miilei<=strL/2tStT=tStr&Mid(xStr,i,I)&Mid(xS(r,strL-1+1,1)i-i+1LoopPun=tStrEndFunction在窗体上画一个名称为Commandl的命令按钮.然后编写如下的事件过程:PrivateSubCommandI_Click()DimSIAsStringSl-"abcdcfPrintUCasc(Fun(Si))EndSub程序运行后,单击命令按钮,输出结果是A)ABCDEFB)abcdcfC)AFBECDD)DEFABC(32)某人为计如n!(0

126P=1Fork=n-1To2Step-1p=p*kNextkf._fiin=pEndFunction在调试时发现该函数过程产生的结果是错误的,程序需要修改•卜面的修改方案中有3W以正画相错式的方女注/.)把p=1改为p=nB)把Fork=n-1To2Step-1改为Fork=1Ton-IC)把Fork=n-1To2Step-1改为Fork=1TonD)]CFork=n-1To2Step-1改为Fork=2Ton(33)假定有以下函数过程:FunctionFun(SAsString)AsStringDimsiAsStringFori=1ToLen(S)siLCase(Mid(S.i.I))^slNextiFun=siEndFunction在窗体上画一个命令按粗,然后编写如卜印件过程:PrivateSubCommandl_Click()DimStr!AsString,Str2AsStringStrI=InpinBoxC请输入个字符串”)Str2=Fun(Strl)PrintSlr2EndSub程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abedefg”,则单击“确定”按钮后在窃体上的输出结果为B)abedefgD)gfedebaA)ABCDEFG

127C)GFEDCBA(34>为让算a.的值,某人编用了函数power如下:PrivateFunctionpower(aAsInteger,nAsInteger)AsLong

128DimpAsLongn=为Fark-!TonpNextkpower=pEndFunction在调试时发现是侪谈的,例如Primpcwcr54}的输出反选家33但实际输出是3125。程序需嬖修改e下而的修改方案中43个是正株的.错乐的一个兄A)把Fork=Tibn改为Fork=2TonB)把p=p4a改为p=pAfiC)1EFork=rion改为Fork=1Ton-1D)杷p;-a改为p=I(35)某人编写了K面的程序PrivateSubCommandl_Click()DimaAsInteger,bAsIntegera=InputBox("请输入整数”)b=InpM24诂铀人整数”)proaprobCallpro(a卜b)EndSubPrivateSubpro(nAsInteger)While(n>0)Printr:Mod10;n=n\10WendPrintEndSub此程序功能是:输入2个正强数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字.例如:若输入123和234,则应该输出;321432753一^,W承帖-U说帖Y二级VisualBasic诲音程序设计试卷豹10页(共14页)♦*«»«

129但调试时发现只谕出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改,F面的修改方案中正确的是A)把过程pro的形式参数nAsInteger改为ByVaJnAsiiUegerA)5CCallpro(a+b)改为proa+bCM把n=n\10改为n=n/10D)在prob治句之后增加i吾句c%=a+b,再把Callpro(a+b)改为proc二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【I】至【15】序号的横线上,答在试卷上不得分.(1)对下列二叉树边行中序遍历的结果是口】。(2)按照软件测试的一般步骡,集成秋试应在【2】测试之后进行.(3)软件工程三要素包括方法、工具加过科,其中,[3J支持软件开发的各个环节的控制和管理.老(4)数据杵设计包拈概念设计、【4】一和物理设计。(5)在二维表中,元组的_JLU_不能再分成更小的数据项.(6)在藻体上画一个文本相、一个标签和个命令按钮,其名称分别为Textl,LabelI和CommandL然后编写如下两个事件过程:PrivateSubCommandI_Click()SS=InputBox。请输入一个字符|”)TextI.Text=S$EndSub

130PrivateSubTcxtl_Change()LiibelLCaption=UCa:x:(Mid('i'extI.,lext,7))EndSub程序运行后,单击命令按钮,将显示一个输入对话框,如果色该对话框中输入字符串“VisualBasic”,则在林筌中核示的内容是_41_.'••«*«*«*(7)在窗体上画一个命令按钮,其名称为CommandI,然后编写如下事件过程:PrivateSubCommandIClick()aS"NationalComputerRankExaniinalion"n=•Len(aS)s=0Fori=1Tonb$=Mid(aS.i,1)Ifb$="nnThenPrintsEndSub程序运打后,单击命令按13物出结果是・(8)为了在运行时把d:\pic文件夹下的国形文件a.jpg装入图片施PictureI,所使用的语句为【8】・(9)设有如F程胳PrivateSubForm_Click()CisaS=”ABCD心1'ori=1To6PrintTab(12-i);I"NextiEndSub程序运行后,单击窗体.玷果如图所示,洁填空。

131爆.为凶GFGDFGCDPG一BCEFG

132<10)在窗体上画一个命令按钮,其名称为Commandl,然后编写如下代码:OptionRase1PrivateSubCommandl_Click()DimArr一..Arr=Array"68,-25,65,・78,12.-79,43,-94,72)-'1'pos=0ncg-0Fork=1To10IfArr(k)>0Then(10)Else【II】EndIfNextkPrintpos,negEndSub以上程序的功能是,计笄并输出数组Arr中10个数的正数之和pos与负数之和neg,请填空。(11)在窗体上画一个名为Command1的命令按钻,然后编写如下程序:PrivateSubCommandl_Click()DimiAsIntegerSum-0n-InputBoxCEnteranumber*1)n=Val(n)Fori-ITonSum=_112j_NextiPrintSumEndSubFunctionfun(tAsInteger)AsLongp=IFori=ITotP=p*iNexti【13】

133EndFunction以上程序的功能是,计算I!+"卜3!+...+n!,其中n从键科输入,请填空。V(12)在盒体上画一个文本也,名称为Textl,然后编写如下程序;潞站-*****'***^11M2—******1*^"-L站PrivateSubFonn_Load()Open"d:\iemp\dat.txt"ForOutputAs#1TextLTExt=,'"EndSubPrivateSublex:I_KcyPress(Kcy.-XsciiAsJr;ugtr)IfKcyAscii=13ThenIfUCasc(Tcxt1.Text)=[14]_H)cnClose#IEndJElseWrite#1,【15】lextl.Texf""EndIfLndIfEndSub以上程序的功能是:在D歙temp文件夹下建立一个名为dat.txt的文件,在文本柜中输入字符,锌次按W午就部把西施文木把中的内容写入文件daLtxl.并析冷文本根中的内容;如果输入“END”,则不写入文件,江接给束程序“请填空“

1342008年9月计算机等级考试鬲h®VB参考答案41-5BDCAD6-10BABCD11-15ADCBD16-20BDCAC21-25BBACA26-30CBDDA30-35CBDBA(1)DBXEAYFZC(2)单元(3)过程(4)逻辑设计(5)分量(6)BASIC(7)4(8)Picturel.Picture="d:\pic\a.jpg-或Picturel.Picture=LoadPicture('d:\pic\a.jpg')(9)Right(a$,i)或者Mid(a$,7-i)(10)pos=pos+Arr(k)(11)neg=neg+Arr(k)(12)sum+fun(i)(13)fun=p(14)END(15))Textl.Text或Textlf・a一■q

135oo机密*启用前2009年3月全国计算机等级考试二级笔试VisualBasic语言程序设计,考试时间90分钟,满分100分)一.选择睚(每小题2分,共70分)下列各胸A),B),C).D)四个选项中,只有一个选项是正确的.请将正确选项填涂在答12卡相应位■上.答在试卷上不得分.OO述中3的是先进先出”的线性表B〉队列是“先进后出”的线性衣,/*〉稳环队列出非线性结构///D)有序线性表既可以采用顺序存精结构,也可以采用链式存储结耳<2)支持子程序调用的数据结构是A)栈B>树C)队列D)二叉树(3)某二叉料有5个度为2的结点.则该.叉树中的叶干结点数是B)8C)6D)”4)下列排序方法中.最坏情况下比较次数以少的是X》日泡排序B)荷律选界蜂厅O直接插入持序C5>软件按功能可以分为:应用软件.系统软件和支撑软件(或I.具软件).卜面属于应用堆排序软件的是A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)卜面叙述中锚次的是少目的是发现惜误并改正错误W程序进行“伯江定位”是程序跖球的必要步骤程序调试通常也称为Debug软件制试应严格执行测试计排除雷试的地意性

136数据库管理员培训(7)耦合性和份聚性是时模块独立性度"的两个标准.卜列叙述中正A)提前融合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性XC)耦合性是指一个模块内部各个无索间彼此结合的联密程度D)内聚性是指模块间互相连接的紧密程度/(8)数据库应用系统中的核心问题是数据库系统设计A)数据库设计由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入(I。)将眇I森换为关系模式时,实体和联系都可以表示为A)跖B)“总级无)关系总\zD)“Integer”

137A)VisualBASICProgrammingmingVISUALC-h-ProgrammingD)VISUALBASICProgrammingo-(14)卜列叙述中正确的是A)Box语句的返回侦是一个整数执行MsgBox语句并出现信息框证.不用关闭信息框即可执行其他C)MsgBox语句的第一个参数不能行略/如果省略MsgBox语句的第二个参数(Title),则信息框的标题为空(15)在窗体上蔺一个文本框(名称为Textl)和一个标签(名称为Labell),程序运行后,在文本框中每输入•个字符,都会立即在标签中显示文本框中字符的个数.以下可以实现上述操作的碉件过程是3TPrivoteSu吵*1.ChangeOLabelfCaption,Str(Len(TextI.Text))l_Change()EpdSub夕/PrivateSubTextl_Click()Label1.Caption=Str(Len(TextI.Text))EndSubC)PrivateSubTextl-ChangeOLabelI.Caption-TextI.TextEndSubD)PiPrivateSubLa^ll_Change()Label!,Caption=Str(Len(Text1.Text))EndSubo-少备窗体上画两个单选按钮(名称分别为Optionl,Option2.标题分别少柔体"和"黑体”)、1个复选框(名称为Check],标题为“粗体”)和1个文本框(名称为Textl,Text属性为“改变文字字体D,窗体外观如图所示.程序运行后.要求“宋体”单选按钮和“粗体复选框被选中.则以卜能勤实现上述操作的语句序列是A)Option1.Value=FalseCheckI.Valuc=TrueB)Optioni.Value^TrueCheckl\yde=OC)Option2.Value■Falsekl.Value-2Option(.Value-TrueCheck(.Value=I

138NextEndSub程序运行后,单击命令按钮,要求在窗体上显示如卜内容:(18)假定行以下程序段Fori-1To3Forj=5To1Step-1CommandI)>然后编写如下事件过程:PrivateSubCommandl_Click()x«0

139Forj=lTo15a=a+jMod3(21)以卜说法中正确的是X5当焦点在某个控件上时,技卜一个字母键,就会执行该控件的KeyPress平件过程B)因为窗体不接受焦点,所以窗体不存在自己的KeyPre$s事件过程C)若按F的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中gKcyCode菱数的值也相同)在Key口件过程中,KeyAscii参数可以省略(22)*0Dima(-3To4,3To6)AsInteger定义的数组的元索个数是/a)18B)28C>21杨)D)(23)在窗体上画一个命令按钮,其名称为Commandl,然后编写如下代码:OptionBase1PrivateSubCommand1Click()j=ls=s+a(i)*jNextiPrintsEndSub.级VisualBasic语言程序设计成卷第5虹《共”页)

140程序运行后,单击命令按钮,其输出结果是A)43210^^/^1234?吧小[D)12(24)假定通过曳制、粘贴操作建立广一个命令按引数蛆CommandI.以卜说法中错误的是A)吵楠个命令按钮的名称(Name试性)均为Commandl/皎京做修改,数组中每个命令按钮的大小都一样C)数组中各个命令按钮使用同•个Clic3件过程0数组中每个命令按钮的Index属性值都相同(25)在窗体上面一个命令按钮,名称为Commandl,然后编写如卜代码:OptionBaPrivateandlClick()DimAl(4)AsInteger,A2(4)AsintegerForx<-0To2庆1(心1)=1呻戊8。乂("请输入・个整数”)A2(3-k)=A1(k*l)NextkPrintA2(k)EndSub,在输入对话框中依次输入2、4、6-M2D)3(26)以哆矛函数过程的叙述中,正确的姑A)/*过程形参的类型与函数返回值的美型没有关系式在函数过程中,过程的返回值可以有多个C)当数组作为因数过程的参数时,既能以传值方式传递,也能以传址方式传递D,如果不指明函数过程参数的类型,则该参数没有数据类型程序运行后,单it命令按钮A)0PrivateSubForm_Load()

141击命令按钮Function一级VisualBasic语吉程停设计式卷第7页在窗体上画一个命令按钮(名称为Commandl),并编写Command1Click()FunctionFunl(ByVaia-Val(Label2.Caption)Callfunc(Label1)Label2.Caption=a以F关于过程及过程参数的描逑中,错误的是1过程的参数可以是控件名称调用过程时使用的实参的个数应与过程形参的个数相同只有函数过程能够将过程中处理的信息返问到调用程序中,窗体可以作为过程的参数则在两个标签中显示的内容分别为B)1234和100功1234和10PrintFunl(Funl(xr(Funl(x,x-1))),x-1)Sub运行后,电击命令按钮,输出结果是

142tStr»tStr6Mid(xStrri+1,1)Textl.Text=»LCase(Fun(SI))EndSub程序运行后.单击命令按钮,文本框中显示的是A)ABCDEFB)abcdefC)defticfD)defabc0J(31)在窗体g/i令按钮和一个文本枢(名称分别为Command1和Textl),的KcyPreview属性设置为True,然后缄干如下代码:Dim.3aveAllAsStringPfivateSubForm_Load()ShowTextl.Text=,,HTextl,SetFocusEndSubPrivateSubCommand1Click()ase(SaveAllHSaveAlX

143程序号彳而;直接用键带输入:VB,再单击命令按钮,则文本框中显示的内容为A)不显示任何信息/VBD)出错以卜♦程序::eSubFormClick()i*lTo4ylnputBox("请输入一个整数”)y«Val(y)0ThenNextiPrintaEndSub程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为A)100,B)50C)J20D)70,/9少(33)以下关于菜单的叙述中,惜误的是A)为鱼体为活动窗体时,用Ctrl+E就可以打开菜单编辑器/B5,e菜单项的Enabled属性设置为False,则可删除该菜单项C)弹出式菜单在菜雅编辑器中设计D)程序运行时,利用控件数组可以实现菜单项的增加或减少(34)以卜叙述中借误的是A)在用少a用对话框控件是不可见的B)调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可位沌开东'同的对话框窗口少班通用对话框控件的ShowOpen方法,能够直接打开在该通吵格机中指定的/文件飞/D)调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口VisualBasic潜寻程序设计武卷第9页(共13页)

144(35)设在L程文件中有一个标准模块,其中定义了如卜记录类型:ameA>lOpenwPerson,txt*1FerOutputAs#1B.Nam❷=InputBox("愉入姓名")B.TelNum=InputBox("输入电话号码”)WritetlrBClose*1EndSubD)PrivateSubComand1Click()一nperson.txt*ForInputAs#1刖氤Box「输入姓名”)le’KumrnputBox喻入电话号码”)PrintSl.Name,TelNum//dlose#1EndSub

145二、填空题(每空2分,共30分)谓将每空的正幽答案写在答题卡【I】〜【15】序号的横线上,答在试卷(I)耳啰用一个长度为50的数小(数期元点的下标从。到49)作为校的存%空间.找底/rifbottom指向栈底元素,栈顶折针top指向找顶元素,如果bott察产/1叩=30(数组F标),则枝中具有_LD_个元素.(2)软件测试可分为白盒测试和黑盒测试.基本路径测试属于_121_测试・(3)符合结杓化原则的二种基本控制结构是据库泰统靠心是_ui_.,图中,图形包括矩形框、菱形电、椭圆框。其中表示实体)^用£上1_框.«inix|开蛤(6)窗体如图所示,其中汽车是名称为Imagel的图像框,命令按钮的名称为Command1,计时器的名称为Timerl,宜线的名称为Linel.程序运行时,单击命令按钮,则汽车每o.i杪向左移动loo,车头到达左边的直线时停止移动.请填空完成卜.面的属性设宽和程序,以便实现上述功能.1)Timerl的Interval尿性的值应由先设置为【6】2)Private*SubCommandl_Click()zn^erl^prSbled»TrueEnd,SubPrivateSubTimerl_Timer<>IfImagel.Left>=【7】ThenImagel.Left5,181-100EndIfEndSub二或VisualBasic语不程序设计试卷第II页《共”页)

146(7)设窗体上有了个名称为Combol的纲合框,并有以下程序:-mteSptfCombolKeyPress(KeyAscii.亩-13ThenFork=0ToCombol.LlstCount-1IfCombol.Text=ConbOl.List(k)Combol.TextExitForEndIfThenAsInteger),回不符的ASCI工用NextkIfCombo1.Text<>""ThenComtx31.AddItem程序的功能是:在组合框的编辑区中输入文本后按回车键,则检查列表中有无与此文本相同的项目,若有,则把编辑区中的文本删除,否则把编辑区中文本添加到列表的尾部.请填空.(8)在当前目录下有一个名为“myfilc.tx「的文本文件,其中有若干行文本•下面程序的功能是法入城交吵的所有文本行,按行计算每行字符的ASCII码之和,并显fWPrivateSubCommandl_Click()eh$,asciiAsIntegerOpennmyfile.txt**WhileNotEOF(l)For【II】As11Fork=lTo【13】

147n=p*ABC^Mid(mystr,k,1))ZSJ/Next、、toascil=>n(9)本程序实现文本加雷.先给定序列;a”a=…,%,它们的取值范闲是l~n,且互不相同.加密算法是:把原文本中第k个字符放到加密后文本的第双个位置处.若原文本氏度大于n,则只对前n个字符加密,后面的字符不变:若原文本长度小于n,则在后面朴字符“*,•使文本长度为n后再加密.例如:若给定序列si”a:a,分别为2,5,3.7,6.1,4当文本^-PROpKAM'at.加监后的文本为“APOMRRG”'与文本为"PfGiRAMMNG”时,加密后的文本为“APOMRRGMING”当为“THANK”时,加密后的文本为“rA*HKN”过程code实现这一算法.其中卷数数组a()中存放给定序列(个索个数相等)a,,a,,a,....的值.要加密的文本放在参数变litm牛,加密后的文木仍放在变量mystr中.请填空.OptionBase1PrivateSubcode(a()AsInteger,mystrAsString>DimchAs^tring,clAsStringn=UBound(a)->tfen(mystr)Ifff>0Th^nmystr-mystr&Strings(nrDddIf/ch=mystrFork=【14】ToUBound(a)cl«Mid(mystr,k,1)n-【15】3数组a的元中.过程执行完二锻VisualBasic灌£程序电计谈卷第13页(共”页)■1:本资料山考试吧(Exam8.com)收集整理,转载请注明出自http://www.exam8.com账务:面向较高学历人群,提供计算机类,外语类,学历类,资格类,会计类,工程类,医学类等七大类考试的全套考试信息服务及考前培训.

1482009年3月计算机等级考试二级VB标准答案一、邮题(11)D)(12)B)(13)B)(14)C)(15)A)(16)D)(17)B)(18)A)(19)B)(20)D)(21)A)(22)D)(23)B)(24)D)(25)C)(26)A)(27)D)(28)B)(29)C)(30)C)(31)A)(32)A)(33)B)(34)C)(35)A)二、填空题(6)100(7)Linel.xl或Linel.x2(8)Imagel.Left(9)KeyAscii(10)Combol.Text(11)Input(12)ch(13)LenGnystr)(14)1(15)aOc)2009年9月全国计算机等级考试二级VB笔试试题及答案一、选择题(每小题2分,共70分)1.下列数据结构中,属于非线性结构的是()«A.循环队列B.带链队列C.二叉树D.带链栈答案C解析树均是非线性结构2.下列数据结构中,能够按照“先进后出”原则存取数据的是()。A.循环队列B.栈C.队列D...一、选择题(每小题2分,共70分)一、选择题2.下列数据结构中,属于非线性结构的是().A.循环队列B.带链队列C.二叉树D.带链栈答案C解析树均是非线性结构3.下列数据结构中,能够按照“先进后出”原则存取数据的是().A.循环队列B.栈C.队列D.二叉树答案B解析:栈是先进后出或后进先出的线性表4.对于循环队列,下列叙述中正确的是()oA.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针答案D

149解析:如果队头指针大于队尾指针说明队列已经循环存放数据了,如果队头指针小于队尾指针说明没有进行循环存放1.算法的空间复杂度是指()□A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数答案A解析:算法的空间复杂度是指执行算法所需要的内存空间,包括算法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间.2.软件设计中划分模块的一个准则是().A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合答案B解析:模块内部各元素之间的联系要紧密,高内聚,模块间的连接的紧密程度要低,低耦合,这样可以提高模块的独立性.3.下列选项中不属于结构化程序设计原则的是().A.可封装B.自顶向下C.模块化D.逐步求精答案A4.软件详细设计产生的图如下该图是().A.N-S图B.PAD图C,程序流程图D.E-R图答案C8.数据库管理系统是().A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统答案B9.在E-R图中,用来表示实体联系的图形是()«A.椭圆形B.矩形C.菱形D.三角形答案C10.有三个关系R,S,T如下:RABCal2b21c31SABCd32TABCal2b21c31d32其中关系T由关系R和S通过某种操作得到,该操作称为().A.选择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)若看到程序有如下事件过程,则可以肯定的是,当程序运行时PrivateSubClick_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Print"VBProgram"EndSubD)用鼠标左键或右键单击名称为“Click”的控件时,执行此过程(17)可以产生30-50(含30到50)之间的随机整数的表达式是A)Int(Rnd*21+30)(18)在程序运行时,下面的叙述中正确的是C)只装入而不显示窗体,也会执行窗体的Form_Load事件过程

150(19)窗体有名称为Commandl的命令按钮和名称为Text1的文本框PrivateSubCommand1_Click()Text1.Text="程序设计"Textl.SetFocusEndSubPrivateSubText1_GotFocus()Text1.Text="等级考试"EndSub运行以上程序,单击命令按钮后B)文本框中显示的是“等级考试”,且焦点在文本框中(20)设窗体上有名称为Option1的单选按钮,且程序中有语句:IfOption.Value=TrueThen下面语句中与该语句不等价的是C)IfValue=TrueThen(21)设窗体上有1个水平滚动条,已经通过属性窗口把它的Max属性设置为1,Min属性设置为100,下面叙述中正确的是A)程序运行时,若使滚动条向左移动,滚动条的Value属性值就增加(22)有如下过程代码:Subvar_dim()StaticnumaAsIntegerDimnumbAsIntegernuma=numa+2numb=numb+1Printnuma;numbEndSub连续3次调用vajdim过程,第3次调用时的输出是C)61(23)在窗体上画1个命令按钮,并编写如下事件过程:PrivateSubCommand1_Click()Fori=5To1Step-0.8PrintInt(i);NextiEndSub运行程序,单击命令按钮,窗体上显示的内容为A)543211(24)在窗体上画1个命令按钮,并编写如下事件过程:PrivateSubCommand1_Click()Dima(3,3)Form=1To3Forn=1To3Ifn=m0rn=4-mThena(m,n)=m+nElse

151a(m,n)=0EndIfPrinta(m,n);NextnPrintNextmEndSubA)204040406(25)设有如下函数过程:Functionfiin(aAsInteger,bAsInteger)DimcAsIntegerIfa

152Printx;yEndSubB)100120(29)设a,b都是自然数,为求a除以b的余数,默认编写了以下函数:Functionfun(aAsInteger,bAsInteger)Whilea>ba=a-bWendfun=aEndFunction在调试时发现函数是错误的,为使函数能产生正确的返回值,应做的修改是D)把Whilea>b改为Whilea>=b(30)1列关于通用对话框CommonDialogl的叙述中,错误的是A)只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开(31)在利用菜单编辑器设计菜单时,为了把组合键“Alt+X”设置为“退出(X)”菜单项的访问键,可以将该菜单项的标题设置为B)退出(&X)(32)在窗体上画1个命令按钮和1个文本框,其名称分别为Commandl和Textl,再编写如下程序:DimssAsStringPrivateSubTextl_KeyPress(KeyAsciiAsInteger)IfChr(KeyAscii)o,M,Thenss=ss+Chr(KeyAscii)EndSubPrivateSubCommandl_Click()DimmAsString,iAsIntegerFori=Len(ss)To1Step-1m=m+Mid(ss,i,1)NextText1.Text=UCase(m)EndSub程序运行后,在文本框中输入“Number100”,并单击命令按钮,则文本框中显示的是D)001REMBUN(33)窗体的左右两端各有1条直线,名称分别为Linel、Line2;名称为Sh叩el的圆靠在左边的Linel直线上(见图);另有1个名称为Timerl的计时器控件,其属性值为True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序:PrivateSubTimerl_Timer()Fork=Linel.XIToLine2.XlStep100IfShape1.Left+Shape1.Width

153PrivateSubCommand1_Click()Dimn%,k%n=Len(Textl.Text)Fork=0ToListl.ListCount-1IfLeft(Listl.List(k),n)=Textl.TextThenListl.RemoveitemkEndIfNextkEndSub在调试时发现,如输入“陈二可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除T“刘邦”、“刘备”2项,结果如图2所示。这说明程序不能适应所有情况,需要改正。正确的修改方案是把Fork=0toList1.ListCount-1改为A)Fork=List1.ListCount-1To0Step-1二、填空题(每空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所示。如果单击命令按钮时,文本框中输入的不是数值,则用信息框显示“请输入数值数据!请填空。PrivateSubCommand1_Click()IfTextl.Text=Thenmagbox”请输入半径!”ElselfNotIsNumeric([6]Textl.Text)ThenMsgBox”请输入数值数据!"Elser=Val([7]Textl.Text)Form2.Show[8]Form2.Print”圆的面积是”&3.14*r*rEndIfEndSub(7)设有整型变量s,取值范围为。〜100,表示学生的成绩,有如下程序段:Ifs>=90ThenLevel="A"Elselfs>=75ThenLevel=

154Elselfs>=60ThenLevel=ElseLevel=EndIf卜面用SelectCase结构改写上述程序,使两段程序所实现的功能完全相同,请填空。SelectCasesCase[9]Is>=95Level="AHCase75To90Level="B”Case60To74Level="CHCase【10】Else或Is<60Level="DM[11]EndSelect(8)窗体上有名称为Command1的命令按钮。事件过程及2个函数过程如下:PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zx=3y=5z=fy(y)Printfx(fx(x)),yEndSubFunctionfx(ByValaAsInteger)a=a+afk=aEndFunctionFunctionfy(ByRefaAsInteger)a=a+afy=aEndFunction运行程序,并单击命令按钮,则窗体上显示的2个值依次是[12]12和【13】10o(9)窗体上有名称为Command1的命令按钮及名称为TextK能显示多行文本的文本框。程序运行后,如果单击命令按钮,则可打开磁盘文件c:\test.txt,并将文件中的内容(多行文本)显示在文本框中。下面是实现此能的程序,请填空。PrivateSubCommand1_Click()Textl="HNumber=FreeFileOpen"c:\test.txt”ForInputAsNumberDoWhileNotEOF([14]Number)LineInput#Number,sTextl.Text=Textl.Text+[15]s+Chr(13)+Chr(10)LoopClose#NumberEndSub参考答案一.选择题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.texttext1.textForm27.ISELSEENDSELECT

1558.12109.NUMBERS公共基础试题答案选择题1.C2.B3.D4.A5.B6.A7.C8.B9.C10.D填空题1.142.逻辑判断3.需求分析4.多对多5.身份证号2010年3月全国计算机等级考试二级VB笔试试卷一、选择题(每题2分,共70分)(1)下列叙述中正确的是()A)对长度为n的有序链表进行查找,最坏情况F需要比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数(nlog2n)(2)算法的时间复杂是指()A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数

156(3)软件按功能可以分为:应用软件、系统软件和支持软件(或工具软件),下面属于系统软件的是()A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是()A)诊断和改正程序中的错误B)进肯能多的发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是()A)软件概要设计的工具B)软件详细设计的工具C)机构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可以分为定义阶段,开发阶段和维护阶段。详细设计属于()A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如F:RTABCa12b22c32d32□kJEJ

157则由关系R得到关系T的操作是A)选择B)投影C)交D)并(11)在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是(12)设x是整型变量,与函数Hf(x>O,-x,x)有相同结果的代数式是A)MB)-MC)xD)-x(13)设窗体文件中有下面的事件过程:PrivateSubCommand1Click()Dimsa%=100PrintaEndSub其中变量a和s的数据类型分别是A)整型,整型B)变体型,变体型C)整型,变体型D)变体型,整型(14)下面哪个属性肯定不是框架控件的属性A)TextB)CaptionC)LeftD)Enabled(15)下面不能在信息框中输出“VB”的是A)MsgBox"VB"B)x=MsgBox('VB")C)MsgBox(、B")D)CallMsgBox'VB"(16)窗体上有一个名称为Optionl的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程PrivateSubOption1_Click(IndexAsInteger)EndSub下面关于此过程的参数Index的叙述中正确的是A)Index为1表示单选按钮被选中,为。表示未选中B)Index的值可正可负

158A)Index的值用来区分哪个单选按钮被选中B)Index表示数组中单选按钮的数量(17)设窗体中有一个文本框Textl,若在程序中执行了Textl.SetFocus,则触发A)Textl的SetFocus事件B)Textl的GotFocus事件C)Textl的LostFocus事件D)窗体的GotFocus事件(18)VB中有3个键盘事件:KeyPress>KeyDownKeyUp,若光标在Textl文本框中,则每输入一个字母A)这3个事件都会触发B)只触发KcyPress事件C)只触发KeyDown、KeyUp事件D)不触发其中任何一个事件(19)下面关于标准模块的叙述中错误的是A)标准模块中可以声明全局变量B)标准模块中可以包含一个SubMain过程,但此过程不能被设置为启动过程C)标准模块中可以包含一些Public过程D)一个工程中可以含有多个标准模块(20)设窗体的名称为Forml,标题为Win,则窗体的MouseDown事件过程的过程名是A)Form1MouseDownB)WinMouseDownC)FormMouseDownD)MouseDownForm1(21)下面正确使用动态数组的是A)Dimarr()AsIntegerReDimarr(3,5)B)Dimarr()AsIntegerReDimarr(50)AsStringC)Dimarr()ReDimarr(50)AsIntegerD)Dimarr(50)AsIntegerReDimarr(20)(22)下面是求最大公约数的函数的首部Functiongcd(ByValxAsInteger,ByVaiyAsInteger)AsInteger若要输出8、12、16这3个数的最大公约数,下面正确的语句是A)Printgcd(8,12),gcd(12,16),gcd(16,8)B)Printgcd(8,12,16)C)Printgcd(8),gcd(12),gcd(16)

159A)Printgcd(8,gcd(12,16))(23)有F面的程序段,其功能是按图1所示的规律输出数据Dima(3,5)AsIntegerFori=lTo3Forj=lTo5A(ij)=i+jPrinta(ij);NextPrintNext若要按图2所示的规律继续输出数据,则接在上述程序段后面的程序段应该是A)Fori=lTo5Forj=lTo3Printa(j,i);NextPrintNextB)Fori=lTo3Forj=lTo5Printa(j,i);NextPrintNextC)Forj=lTo5Fori=lTo3Printa(j,i);NextPrintNextD)Fori=lTo5Forj=lTo3Printa(ij);NextPrintNext(24)窗体上有一个Textl文本框,一个Command1命令按钮,并有以下程序PrivateSubCommandlClick()DimnIfTextl.Texto”23456〃Thenn=n+lPrint”口令输入错误"&n&"次"EndIfEndSub希望程序运行时得到左图所示的效果,BP:

160输入口令,单击“确认口令”命令按钮,若输入的口令不是“123456”,则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是

161A)在Dimn语句的下面添加一句:n=0B)把Print"口令输入错误"&n&"次"改为Print”口令输入错误"+n+"次”C)把Pr血"口令输入错误〃&n&"次"改为Print”口令输入错误〃&Str(n)&"次"D)把Dimn改为Staticn(25)要求当鼠标在图片框Pl中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是A)(ButtonASInteger,ShiftAsInteger,XAsSingle,YAsSingle)PrintX,YEndSubB)(ButtonASInteger,ShiftAsInteger,XAsSingle,YAsSingle)Picture.PrintX,YEndSubC)(ButtonASInteger,ShiftAsInteger,XAsSingle,YAsSingle)Pl.PrintX,YPrivateSubPIMouseMovePrivateSubPIMouseDownPrivateSubPIMouseMoveEndSubD)PrivateSubFormMouseMove(ButtonASInteger,ShiftAsInteger,XAsSingle,YAsSingle)Pl.PrintX,YEndSub(26)计算二的近似值的一个公式是。某人编写下面的程序用此公式计算并输出”的近似值:PrivateSubComandlClick()PI=1Sign=1n=20000Fork=3TonSign=-Sign/kPI=PI+Sign/kNextkPrintPIMEndSub运行后发现结果为3.22751,显然,程序需要修改。下面修改方案中正确的是A)把Fork=3Ton改为Fork=lTonB)把n=20000改为n=20000000C)把Fork=3Ton改为Fork=3TonStep2D)把PI=1改为PI=0(27)下面程序计算并输出的是PrivateSubComandlClick()a=10s=0Do

162s=s+a*a*aa=a-lLoopUntila<=0PrintsEndSubA)13+23+33+—+103的值B)10!+…+3!+2!+l!的值C)(1+2+3+…+10)3的值D)10个103的和(28)若在窗体模块的声明部分声明了如F自定义类型和数组PrivateTyperecCodeAsIntegerCaptionAsStringEndTypeDimarr(5)Asrec则下面的输出语句中正确的是A)Printarr.Code(2),arr.Caption(2)B)Printarr.Code,arr.CaptionC)Printarr(2).Code,arr(2).CaptionD)PrintCode(2),Caption(2)(29)设窗体上有一个通用对话框控件CD1,希望在执行下面程序时,打开如图所示的文件对话框PrivateSubComandlClick()CDl.DialogTitle="打开文件"CDl.InitDir="C:\"CDLFilte产”所有文件|*.*|Word文档|*.doc|文本文件|*.Txt"CDl.FileName=MWCDl.Action=lIfCD1.FileName=H,ThenPrint”未打开文件”ElsePrint”要打开文件”&CDl.FileNameEndIfEndSub但实际显示的对话框中列出了C:\下的所有文件和文件夹,“文件类型”一栏中显示的是“所有文件”。下面的修改方案中正确的是A)把CDl.Action=l改为CDLAction=2B)把uCDl.Filter="后面字符串中的“所有文件”改为“文本文件”C)在语句CDLAction=l的前面添加:CD1.Filterlndex=3D)把CDLFileName=〃"改为CDl.FileName="文本文件”

163(30)下面程序运行时,若输入395,则输出结果是PrivateSubComandlClick()Dimx%x=InputBox("请输入一个3位整数与PrintxMod10,x\100,(xMod100)\10EndSubA)395B)539C)593D)359(31)窗体上有Listl、List2两个列表框,Listl中有若干列表项(见图),并有下面的程序:PrivateSubComandlClick()Fork=Listl.ListCount-1To0Step-1IfListl.Selected(k)ThenList2.AdditemListl.List(k)Listl.RemoveItemkEndIfNextkEndSub程序运行时,按照图示在Listl中选中2个列表项,然后单击Commandl命令按钮,则产生的结果是A)在List2中插入了“外语”、“物理”两项B)在Listl中删除了“外语”、“物理”两项C)同时产生A)和B)的结果D)把Listl中最后1个列表项删除并插入到List2中(32)设工程中有2个窗体:Forml、Form2,Forml为启动窗体。Form2中有菜单。其结构如表。要求在程序运行时,在Forml的文本框Textl中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Forml,显示Form2。若口令为“Teacher”,所有菜单项都可见;否则看不到“成绩录入”菜单项。为此,某人在Forml窗体文件中编写如下程序:PrivateSubTextlKeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenIfTextl.Text=,TeacherMThenForm2.input.visible=TrueElseForm2.input.visible=FalseEndIfEndIfForml.HideForm2.ShowEndSub程序运行时发现刚输入口令时就隐藏了Forml,显示了Form2,

164程序需要修改。下面修改方案中正确的是A)把Forml中Textl文本框及相关程序放到Form2窗体中B)把Forml.Hide、Form2.Show两行移到2个EndIf之间C)把IfKeyAscii=13Then改为IfKeyAscii="Teacher"ThenD)把2个Form2.input.Visible中的“Form2”删去(33)某人编写了下面的程序,希望能把Textl文本框中的内容写到out.txt文件中PrivateSubComandlClick()Open"out.txt"ForOutputAs#2Print'Textl”Close#2EndSub调试时发现没有达到目的,为实现上述目的,应做的修改是A)把Print'Textl"改为Print#2,TextlB)把Print'Textl”改为PrintTextlC)把Print'Textl"改为Write'Textl"D)把所有#2改为#1(34)窗体上有一个名为Command1的命令按钮,并有下面的程序:PrivateSubComandlClick()Dimarr(5)AsIntegerFork=lTo5arr(k)=kNextkprogarr()Fork=lTo5Printarr(k)NextkEndSubSubprog(a()AsInteger)n=Ubound(a)Fori=nTo2step-1Forj=lTon-1ifa(j)=0ThenCount(n)=Count(n)+1

165EndIfNextkm=count(0)Fork=lTo25Ifm

166PrivateSubTimer1Timer()Label1.Visible=[8]EndSubPrivateSubcommand!Click()[9]EndSub(8)有如下程序:PrivateSubFormClick()n=10i=0Doi=i+nn=n-2LoopWhilen>2PrintiEndSub程序运行后,单击窗体,输出结果为[10].(9)在窗体上画一个名称为Commandl的命令按钮。然后编写如下程序:OptionBase1PrivateSubCommandlClick()Dima(10)AsIntegerFori=lTo10a(i)=iNextCallsw叩(【11】)Fori=lTo10Printa(i);NextEndSubSubswap(b()AsInteger)n=Ubound(b)Fori=lTon/2t=b(i)b(i)=b(n)b(n)=t[12]NextEndSub上述程序的功能是,通过调用过程sw叩,调换数组中数值的存放位置,即a(l)与a(10)的值互换,a(2)与a(9)的值互换,……。请填空。(10)在窗体上画一个文本框,其名称为Textl,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如下的事件过程:PrivateSubFormClick()Open"d:\test\smtextl.Txt"ForInputAs#1DoWhileNot[13]LineInput#1,aspectsWhole$=whole$+aspect$+Chr$(13)+Chr$(10)Loop

167Tcxtl.Text=whole$[14]Open"d:\test\smtext2.Txt"ForOutputAs#lPrint#1,115]Close#1EndSub运行程序,单击窗体,将把磁盘文件smtextl.txt的内容读到内存并在文本框中显示出来,然后把该文木框中的内容存入磁盘文件smtext2.txto请填空。2010年3月全国计算机等级考试二级VB笔试试卷答案选择题1-5ADBAC6-10BADBA11(D)12(B)13(C)14(A)15(D)16(C)17(B)18(A)19(B)20(A)21(A)22(D)23(A)24(D)25(C)26(C)27(A)28(C)29(C)30(B)31(C)32(B)33(A)34(B)35(D)填空题(1)A,B,C,D,E,F,5,4,3,2,1(2)15(3)EDBGHFCA(4)程序(5)课号(6)[6]2(7)[7]500(8)[8]Notlabel1.visible(9)[9]Timerl.Enabled=Ture(10)[10]28或a(12)[12]n=n-l(13)[13]EOF(l)(14)[14]Close#l(15)[15]Text1.Text或text1dfyz来自http://www.eastedu.com.cn/

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

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

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