2003年4月全国计算机等级考试二级(visualBasic)笔试试卷(含答案)(考试时间90分钟,满分100分)一、选择题(1~20每小题2分,21~30每小题3分,共30题,70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。1.以下不能在“工程资源管理器”窗口中列出的文件类型是()A).basB).resC).fnnD).ocx2.以下关于窗体的描述中,错误的是()A)执行UnloadFoml语句后,窗体Forml消失,但仍在内存中B)窗体的Ioad事件在加载窗体时发生C)当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止D)窗体的Height、width属性用于设置窗体的高和宽3.下列可作为VisualBasic变量名的是()A)A#AB)4AC)?xYD)constA4.设有如下的记录类型TypeStudentnumberAsstringnameAsStringageAsIntegerEndType则正确引用该记录类型变量的代码是()A)Student.name=”张红”B)DimsAsStudents.name=”张红”C)DimsAsTypeStudents.Dame=”张红”D)DimsAsTypeS.name=”张红”5.函数String(n,“str”)的功能是()A)把数值型数据转换为字符串B)返回由n个字符组成的字符串C)从字符串中取出n个字符D)从字符串中第n个字符的位置开始取子字符串6.将数学表达式Cos2(a+b)+5e2写成VisualBasic的表达式,其正确的形式是()A)Cos(a+b)^2十5*exp(2)B)Cos^2(a+b)+5*exp(2)C)Cos(a+b)^2十5*ln(2)D)Cos^2(a+b)+5*ln(2)7.在窗体上画一个命令按钮,名称为Commandl。单击命令按钮时,执行如下事件过程:PrivateSubCommandl—C1ick()a$=softwareandhardwareb$=Right(a$,8)c$=Mid(a$,1,8)Msgboxa$,b$,c$,1EndSub则在弹出的信息框的标题栏中显示的信息是()A)softWareandhardwareB)softwareC)hardwafeD)18.执行如下语句:a=inutBox(”Today”,”TomorroW,”Yesterday”,,,Daybeforeyesterday,5)将显示一个输入对话框,在对话框的输入区中显示的信息是()A)TodayB)TomorrowC)YesterdayD)Daybeforeyesterday9.表示滚动条控件取值范围最大值的属性是()A)MaxB)LargeChangeC)ValueD)Max—Min10.在窗体上画一个名称为Listl的列表框,一个名称为Labell的标签。列表框中显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。下列能正确实现上述功能的程序是()A)PrivateSublistl_Click()Labell.Caption=list1.listlndexEndsubB)PrivateSubListl_C1ick()Labell.Name=Listl.listindexEndSubC)PrivateSubListl_C1ick()Labell.Name=Listl.TextEndSubD)PrivateSubListl_C1ick()Labell.Caption=Listl.TextEndSub11.在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:PrivateSubcommand1_click()x=0N=InputBox()ForI=1ToNForj=0ToIx=x+1NextjNextIPrintxEndSub程序运行后,单击命令按钮,如果输入3,则在窗体上显示的内容是()。A)3B)4C)5D)612.以下关于菜单的叙述中,错误的是()。A)在程序运行过程中可以增加或减少菜单项B)如果把一个菜单项的Enabled属性设置为False,则可删除该菜单项C)弹出式菜单在菜单编辑器中设计D)利用控件数组可以实现菜单项的增加或减少13.在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。用于标识各个控件数组元素的参数是()。A)TagB)IndexC)ListIndexD)Name14.在窗体上画一个名称为Commandl的命令按钮,然后编写如下事件过程:OptionBase0PrivateSubcommand1_click()DimCITYAsVariantCITY=Array(北京,上海,天津,重庆)PrintCITYEndSub程序运行后,如果单击命令按钮,则在窗体上显示的内容是()A)空白B)错误提示C)北京D)上海15.假定有以下函数过程:FunctionFun(SAsString)AsStringDims1AsStringFori=1ToLen(S)s1=UCase(Mid(S,i,1))十s1NextiFun=s1EndFunction在窗体上画一个命令按钮,然后编写如下事件过程:PrivateSubCommldl_Click()DimStr1AsString,Str2AsStringStrl=inputbox(”请输入一个字符串”)Str2=Fun(Strl)PrintStr2EndSub程序运行后,单击命令确按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为()A)abcdefgB)ABCDEFGC)gfedcbaD)GFEDCBA16.设有语句openc:\Test.DatForOutPutAs#1则以下错误的叙述是()A)该语句打开C盘根目录下一个己存在的文件Test.DatB)该语句在C盘根目录下建立一个名为Test.Dat的文件C)该语句建立的文件的文件号为1D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息17.以下叙述中错误的是()A)用Shell函数可以调用能够在Windows下运行的应用程序B)用Shell函数可以调用可执行文件,也可以调用VisualBasic的内部函数C)调用Shell函数的格式应为:变量名=Shell(……)D)用Shell函数不能执行DoS命令18.以下关于过程及过程参数的描述中,错误的是()A)过程的参数可以是控件名称B)用数组作为过程的参数时,使用的是“传地址”方式C)只有函数过程能够将过程中处理的信息传回到调用的程序中D)窗体可以作为过程的参数19.在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:PrivateSubTxta_KeyPress(keyasciiasinteger)EndSub若焦点位于文本框中,则能够触发KeyPress事件的操作是()A)单击鼠标B)双击文本框C)鼠标滑过文本框D)按下键盘上的某个键20.目录列表框的Path属性的作用是()A)显示当前驱动器或指定驱动器上的路径B)显示当前驱动器或指定驱动器上的某目录下的文件名C)显示根目录下的文件名D)只显示当前路径下的文件21.假定有如下事件过程:PriVateSubForm_MouseDown(buttoYAsnAsInteger,ShiftAsInteger,xAsSingle,Single)IfButton=2thenPopupMenupopFormEndifEndSub则以下描述中错误的是()A)该过程的功能是弹出一个菜单B)popForm是在菜单编辑器中定义的弹出式菜单的名称C)参数X、Y指明鼠标的当前位置D)Button=2表示按下的是鼠标左键22.以下能够正确计算n!的程序是()A)PrivateSubCommandl_ClicK()n=5:x=1DoX=x*1i=i十1LoopWhilei<nPrintxEndSubB)PrivateSubCommandl_Click()n=5:x=1:i=1DoX=X*1i=i十1LoopWhilei<nPrintxEndSubC)PrivateSubCommandl_Click()n=5:x=1:i=1DoX=X*1i=i十1Loopwhilei=nPrintxEndSubD)PrivateSubCommandl_C1ick()n=5:x=1:i=1DoX=X*li=i十1loopWhilei>nPrintxEndSub23.在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2的标签,然后编写如下程序代码:PrivatexAsIntegerPrivateSubCommandl—Click()X=5:Y=3Callproc(x,Y)Labell.Caption=XLabel2.Caption=YEndSubPrivateSubproc(ByValaAsInteger,ByValbAshteger)x=a*aY=b十bEndSub程序运行后,单击命令按钮,则两个标签中显示的内容分别是()A)5和3B)25和3C)25和6D)5和624.在窗体上画一个名称为Commandl的命令按钮,一个名称为Labell的标签,然后编写如下事件过程:PrivateSubCommandl_C1ick()S=0Fori=1T015x=2*I-1ifxMod3=0Thens=s十1NextiLabell.Caption=sEndSub程序运行后,单击命令按钮,则标签中显示的内容是()A)1B)5C)27D)4525.在窗体上画一个名称为Commandl的命令按钮和三个名称分别为Labell、Label2、Label3的标签,然后编写如下代码:PrivatexAsIntegerPrivateSubCommand1_C1ick()StaticyAsIntegerDimzAsIntegern=10z=n十zy=y十zX=X十ZLabell.Caption=xLabel2.Caption=yLabel3.Caption=zEndSub运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是()A)101010B)303030C)303010D)10303026.设在窗体上有一个名称为Commandl的命令按钮,并有以下事件过程:PriVateSubCommandl_C1ick()StaticbAsVariantb=Array(1,3,5,7,9)……EndSub此过程的功能是把数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,省略号处的程序段应该是()A)Fori=0To5-1\2tmp=b(i)b(i)=b(5-i-1)b(5-i-1)=tmpNextB)fori=0To5tmp=b(i)b(i)=b(5-i-1)b(5-i-1)=tmpNextC)Fori=0T05\2tmp=b(i)b(i)=b(5-i-1)b(5-i-1);tmpNextD)Fori=1T05\2tmp=b(i)b(i)=b(5-I-1)b(5-I-1)=tmpNext27.在窗体上画一个名称为Drivel的驱动器列表框,一个名称为Dirl的目录列表框,一个名称为Filel的文件列表框,两个名称分别为Labell、Label2,标题分别为空白和“共有文件”的标签。编写程序,使得驱动器列表框与目录列表框、目录列表框与文件列表框同步变化,并且在标签Labell中显示当前文件夹中文件的数量。能够正确实现上述功的程序是()A)PrivateSubDirl_Change()EndSubB)PrivateSubDir1_Change()Filel.Path=Dir1.pathFilel.path=dir1.PathEndSubC)PrivateSubDrivel_Change()Dirl.Pa