关闭

关闭

关闭

封号提示

内容

首页 2008年9月全国计算机等级考试二级VB笔试试卷.doc

2008年9月全国计算机等级考试二级VB笔试试卷.doc

2008年9月全国计算机等级考试二级VB笔试试卷.doc

bhrmlbb 2010-08-20 评分 0 浏览量 0 0 0 0 暂无简介 简介 举报

简介:本文档为《2008年9月全国计算机等级考试二级VB笔试试卷doc》,可适用于考试题库领域,主题内容包含年月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计(考试时间分钟满分分)一、选择题(每小题分共分)下列各题A)、B)、C)、D)四符等。

年月全国计算机等级考试二级笔试试卷VisualBasic语言程序设计(考试时间分钟满分分)一、选择题(每小题分共分)下列各题A)、B)、C)、D)四个选项中只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上答在试卷上不得分。()B()D()C()A()D()B()A()B()C()C.在设计窗体时双击窗体的任何地方可以打开的窗口是()。A.代码窗口B.属性窗口C.工程资源管理器窗口D.工具箱窗口()A考核知识点:()VB集成环境的使用答案:A分析:在设计窗体时双击窗体的任何地方可以打开的窗口是代码窗口。.若变量未事先定义而直接使用(例如:a=)则变量a的类型是()。A.IntegerB.StringC.BooleanD.Variant()D考核知识点:()变量的定义(缺省类型)答案:D分析:变量没有事先定义而直接使用则变量默认的数据类型是变体类型Variant.为把圆周率的近似值存放在变量pi中应该把变量pi定义为()。A.DimpiAsIntegerB.Dimpi()AsIntegerC.DimpiAsSingleD.DimpiAsLong()C考核知识点:()变量的定义(类型的合理选择)答案:C分析:根据题目要求存放的数据不是整形数据所以变量pi应定义为Single或Double类型根据变量定义的格式所以选择答案C.表达式*^*^的值是()。A.B.C.D.()B考核知识点:()表达式的计算()运算符的优先级答案:B分析:算术运算符的优先级(高低):^*Mod所以表达式计算的结果为.以下不能输出“Program”的语句是()A.PrintMid(“VBProgram”,,)B.PrintRight(“VBProgram”,)C.PrintMid(“VBProgram”,)D.PrintLeft(“VBProgram”,)()D考核知识点:()Mid函数()Print方法答案:D分析:Mid(x,n,n)从字符串x左边第n个字符开始连续取其中的n个字符组成字符串n默认表示取子串到字符串x的最后一个字符为止.窗体上有一个名称为Frame的框架(如图)若要把框架上显示的“Frame”改为汉字“框架”下面正确的语句是()。A.FrameName=“框架”B.FrameCation=“框架”C.FrameText=“框架”D.FrameValue=“框架”()B考核知识点:()框架对象的常用属性答案:B分析:Name属性是非运行态属性所以不能在代码窗口中修改其作用仅仅起到标识对象的作用而Caption属性决定对象外观上显示的内容所以此题选择B答案。框架对象没有Text和Value属性.以下叙述中错误是()。A.在通用过程中多个形式参数之间可以用逗号作为分隔符B.在Print方法中多个输出项之间可以用逗号作为分隔符C.在Dim语句中所定义的多个变量可以用逗号作为分隔符D.当一行中有多个语句时可以用逗号作为分隔符()D考核知识点:()分隔符的正确使用答案:D分析:参数之间使用逗号作为分隔符Print方法中输出项之间可以选择使用逗号或分号实现标准格式或紧凑格式的输出变量、数组和符号常量定义时使用逗号分隔定义的内容一行书写多条语句时是使用冒号分隔语句的.设窗体上有一个列表框控件list含有若干列表项。以下能表示当前被选中的列表项内容的是()。A.ListListB.ListListIndexC.ListTextD.ListIndex()C考核知识点:()列表框的常用属性答案:C分析:当前被选中的列表项内容保存在列表框的Text属性中或者列表框的List属性中但List属性是集合属性所以必须标明当前被选中的列表项的下标索引号才能通过List属性获取当前被选中的列表项内容。即ListList(ListListIndex).设a=b=c=执行语句printa<bAndb<c后窗体上显示的是()。A.TrueB.FalseC.出错信息D.()A考核知识点:()逻辑表达式的计算()Print方法答案:A分析:窗体上显示的内容是由Print方法后的输出项决定的此处输出项的是一个逻辑表达式根据运算规则逻辑表达式的值为True所以窗体上显示的内容是True.执行下列语句strInput=InputBox(“请输入字符串”,“字符串对话框”,“字符串”)将显示输入对话框。此时如果直接单击“确定”按钮则变量strInput的内容是()。A.“请输入字符串”B.“字符串对话框”C.“字符串”D.空字符串()C考核知识点:()InputBox的使用(返回值的类型、参数含义)答案:C分析:Var=InputBox(Prompt,title,default,x,y,helpfile,context)式中Var可以是变体变量或字符串型变量也可以是数值型变量(若输入内容不可转换成数值型数据将会产生运行错误)。在调用InputBox函数时屏幕上将产生一个带有提示信息的对话框光标在输入对话框底部的输入文本框中闪烁等待用户输入数据。用户按回车键或用鼠标单击“确定”或“OK”按钮即可把输入文本框中输入的数据以字符串形式赋给变量按Esc键或单击“取消”或“Cancel”按钮则返回值或空串。InputBox函数的各个参数的意义如下:.Prompt:提示用的文字信息字符串类型其长度不能超过个字符该参数不可缺省。在对话框内显示Prompt提示文字信息时可以自动换行。若想按自己的要求换行则可采用插入回车换行符即Chr()Chr()或vbCrLf来实现。.title:对话框标题(字符型)缺省时为空白.default:显示在用户编辑框中的缺省值(字符型)缺省时返回空值.x,y:对话框在屏幕上显示时的位置单位是特维(x,y)是对话框左上角点的坐标.helpfile,context:帮助文件名及帮助主题号。有本选项时在对话框中自动增加一个帮助按钮。此题中由于是直接单击“确定”按钮所以InputBox函数返回的是参数Default属性的值所以答案为C“字符串”.窗体上有Command、Command两个命令按钮。现编写以下程序OptionBaseDima()AsInteger,mAsIntegerPrivateSubCommandClick()m=InputBox("请输入一个正整数")ReDima(m)EndSubPrivateSubCommandClick()m=InputBox("请输入一个正整数")ReDima(m)EndSub运行程序时单击Command后输入整数再单击Command后输入整数则数组a中元素的个数是()。A.B.C.D.()B考核知识点:()动态数组的定义()OptionBase语句的作用()作用域问题答案:B分析:由于数组和变量都是用Dim定义在过程之外的通用部分所以它们是模块级的而且命令按钮的单击过程中没有另外定义同名的数组和变量因此在两个命令按钮的单击过程中对数组和变量的访问是同一个。OptionBase表示数组元素的缺省下标从开始Redima(m)表示不保留原来数组元素空间重新申请m个数组元素空间定义数组a根据题目要求先单击命令按钮输入所以动态数组a动态定义为有个数组元素构成的数组先单击命令按钮输入所以动态数组a动态定义为有个数组元素构成的数组。.在窗体上画一个命令按钮和一个标签其名称分别为Command和label然后编写如下事件过程:PrivateSubCommandClick()Counter=Fori=ToForj=ToStepCounter=CounterNextjNextiLabelCaption=Str(Counter)EndSub程序运行后单击命令按钮标签中显示的内容是()。A.B.C.D.()B考核知识点:()For循环流程()For循环次数的计算()统计算法答案:B分析:根据程序代码可以分析出:标签中显示的内容即Counter变量的值Counter变量的值在For循环之前为由于For循环体中没有单独的改变循环变量的语句和Exit语句所以For循环体执行的次数即为所求Counter变量的值For循环的执行次数=各重循环次数的累乘每重循环次数=Int((终值初值)步长)所以此题=*(())=.在窗体上画一个名为Command的命令按钮然后编写以下程序:PrivateSubCommandClick()DimM()AsIntegerFork=ToM(k)=kNextkx=PrintM(M(x))EndSub运行程序单击按钮在窗体上显示的是()。A.B.C.D.()A考核知识点:()数组的基本访问()For循环的执行流程答案:A分析:根据题目要求窗体上显示的内容即Print方法输出的M(M(X))的值x=所以是求M(M())之前For循环为M数组元素赋值所以M()==M(M())=M()=M()==。.以下关于过程及过程参数的描述中错误的是()。A.调用过程时可以用控件名称作为实际参数B.用数组作为过程的参数时使用的是“传地址”方式C.只有函数过程能够将过程中处理的信息传回到调用的程序中D.窗体(Form)可以作为过程的参数()C考核知识点:()过程参数的形式()参数的传递方式答案:C分析:对象(窗体和控件对象)可以作为实参与数组参数一样使用的是“传地址”函数过程本身能将过程中处理的信息传回到调用程序子程序过程则必须通过按地址传递的形参将过程中处理的信息传回到调用程序。.在窗体上画一个名称为Command的命令按钮再画两个名称为分别为label、label的标签然后编写如下程序代码:PrivateXAsIntegerPrivateSubCommandClick()X=:Y=Callproc(X,Y)LabelCaption=XLabelCaption=YEndSubPrivateSubproc(aAsInteger,ByValbAsInteger)X=a*aY=bbEndSub程序运行后单击命令按钮则在两个标签中显示的内容分别是()。A.和B.和C.和D.和()A考核知识点:()变量的作用域()参数传递方式()过程调用流程答案:A分析:此题中X是Private定义在过程之外通用部分的模块级变量且各过程中没有定义同名的X所以过程中对X的访问均是对该模块级变量的X的访问而没有显式定义的Y则是在各个过程中独立使用的过程级变量虽然同名但是相互独立不干扰。从过程调用的传递方式上分析:实参X与形参a之间是按地址传递实参Y与形参b之间是按值传递在proc过程中模块级变量X的值改变为a*a即为过程级变量Y的值改变为bb即为但对Command中的过程级变量Y没有任何影响。所以过程调用结束后标签中显示的值为和。.在窗体上有两个名称分别为Text、Text的文本框一个名称为Command的命令按钮。运行后的窗体外观如图所示:设有如下的类型和变量声明:PrivateTypePersonnameAsString*majorAsString*EndTypeDimpAsPerson设文本框中的数据已正确地赋值给Person类型的变量p当单击“保存”按钮时能够正确地把变量中的数据写入随机文件Textdat中的程序段是()。A.Open"c:Testdat"ForOutputAs#Put#,,pClose#B.Open"c:Testdat"ForRandomAs#Get#,,pClose#C.Open"c:Testdat"ForRandomAs#Len=Len(p)Put#,,pClose#D.Open"c:Testdat"ForRandomAs#Len=Len(p)Get#,,pClose#()C考核知识点:()随机文件的基本操作答案:C分析:随机文件的打开操作Open文件名ForRandomAs文件号Len=记录长度随机文件的写操作是通过Put#语句来实现的。格式:Put#文件号,记录号,变量随机文件的读操作是通过Get#语句来实现的。格式:Get#文件号,记录号,变量根据题目要求是将变量中的数据写入随机文件所以只能选择C.在窗体上画一个名称为Text的文本框和一个名称为Command的命令按钮然后编写如下事件过程:PrivateSubCommandClick()DimiAsInteger,nAsIntegerFori=Toi=in=nIfi>ThenExitForNextTextText=Str(n)EndSub程序运行后单击命令按钮在文本框中显示的值是()。A.B.C.D.()B考核知识点:()For循环的流程答案:B分析:循环次数in.假定有以下循环结构:DoUntil条件表达式循环体Loop则以下正确的描述是()。A.如果“条件表达式”的值是则依次循环体也不执行B.如果“条件表达式”的值不为则至少执行一次循环体C.不论“条件表达式”的值是否为“真”至少要执行一次循环体D.如果“条件表达式”的值恒为则无限次执行循环体()D考核知识点:()DoUntil循环的执行流程()逻辑值与数值之间的转换答案:D分析:DoUntil循环的特点:当循环条件为True结束循环当循环条件为False进入循环执行循环体。若循环条件表达式的值为非逻辑值则数值自动转换为False而非值则自动转换为True。所以根据以上知识点正确的描述是D.在窗体上画一个命令按钮然后编写如下事件过程:PrivateSubCommandClick()DimI,numRandomizeDoForI=Tonum=Int(Rnd*)PrintnumSelectCasenumCaseExitForCaseExitDoCase,,EndEndSelectNextILoopEndSub上述事件过程执行后下列描述中正确的是()。A.Do循环执行的次数为次B.在For循环中产生的随机数小于或等于C.当所产生的随机数为时结束所有循环D.当所产生的随机数为、或时窗体关闭、程序结束()D考核知识点:()SelectCase语句执行流程()循环语句执行流程()ExitFor和ExitDo的作用()End语句的作用()随机整数的产生公式答案:D分析:END语句作用是结束整个程序ExitFor和ExitDo是跳出所在的一层For或Do循环a,b区间的随机整数的产生公式=Int(Rnd*(ba)a),根据题目Int(Rnd*)可以分析出是产生,区间的随机整数根据以上分析所以正确描述是D.在窗体上有一个用菜单编辑器设计的菜单。运行程序并在窗体画一个名为Command的命令按钮然后编写如下代码:OptionBasePrivateSubCommandClick()Dimaa=Array(,,,)j=Fori=ToSteps=sa(i)*jj=j*NextiPrintsEndSub运行上面的程序其输出结果是()A.B.C.D.()A考核知识点:()Array函数()数组的基本访问()For循环流程答案:A分析:变体变量|动态变体数组=Array(数据列表)引用数组元素时下标不能超出下界到上界的范围下界是由OptionBase语句指定的下界决定默认情况为赋值后的数组大小由赋值的Array函数括号中参数的个数决定此处a=Array(,,,)的效果是a()=a()=a()=a()=循环次数ijsa(i)A()=S=*=A()=S=*=A()=S=*=A()=S=*=.设有如下通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAsString,strLAsIntegertStr=""strL=Len(xStr)i=DoWhilei<=strLtStr=tStrMid(xStr,i,)Mid(xStr,strLi,)i=iLoopFun=tStrEndFunction在窗体上画一个名称为Command的命令按钮。然后编写如下的事件过程:PrivateSubCommandClick()DimSAsStringS="abcdef"PrintUCase(Fun(S))EndSub程序运行后单击命令按钮输出结果是()A.ABCDEFB.abcdefC.AFBECDD.DEFABC()C考核知识点:()过程调用流程()常用函数Ucase和Len、Mid函数()Do循环答案:C分析:Fun函数的功能是从字符串的两端对称各取一个字符连接起来重新排列构成字符串.某人为计算n!(<n<=)编写了下面的函数过程:PrivateFunctionfun(nAsInteger)AsLongDimpAsLongp=Fork=nToStepp=p*kNextkfun=pEndFunction在调试时发现该函数过程产生的结果是错误的程序需要修改。下面的修改方案中有种是正确的错误的方案是()。A.把p=改为p=nB.把Fork=nToStep改为Fork=TonC.把Fork=nToStep改为Fork=TonD.把Fork=nToStep改为Fork=Ton()B考核知识点:()累乘算法答案:B分析:原函数中的累乘代码错在累乘初始值设置有误造成累乘过程遗漏了n本身而选项B不能解决错误。.假定有以下函数过程:Functionfun(SAsString)AsStringDimsAsStringFori=ToLen(S)s=LCase(Mid(S,i,))sNextifun=sEndFunction在窗体上画一个命令按钮然后编写如下事件过程:PrivateSubCommandClick()DimStrAsString,StrAsStringStr=InputBox("请输入一个字符串")Str=fun(Str)PrintStrEndSub程序运行后单击命令按钮如果在输入对话框中输入字符串“abcdefg”则单击“确定”按钮后在窗体上的输出结果为()。A.ABCDEFGB.abcdefgC.GFEDCBAD.gfedcba()D考核知识点:()For循环的执行流程()字符串函数的使用()过程调用流程答案:B分析:函数Fun作用是将字符串的逆序并转换为小写形式.为计算an的值某人编写了函数power如下:PrivateFunctionpower(aAsInteger,nAsInteger)AsLongDimpAsLongp=aFork=Tonp=p*aNextkpower=pEndFunction在调试时发现是错误的例如Printpower(,)的输出应该是但实际输出是。程序需要修改。下面的修改方案中有个是正确的错误的一个是()。A.把Fork=Ton改为Fork=TonB.把p=p*a改为p=p^nC.把Fork=Ton改为Fork=TonD.把p=a改为p=()B考核知识点:()累乘算法答案:B分析:原函数中的累乘代码错在由于累乘初始值设置是从a开始造成累乘多了一次即a^(n)而修改方案B不能解决错误。.某人编写了下面的程序PrivateSubCommandClick()DimaAsInteger,bAsIntegera=InputBox("请输入整数")b=InputBox("请输入整数")proaprobCallpro(ab)EndSubPrivateSubpro(nAsInteger)While(n>)PrintnModn=nWendPrintEndSub此程序功能是:输入个正整数反序输出这个数的每一位是胡子再反序输出这个数之和的每一位数字。例如:若输入和则应该输出:但调试时发现只输出了前行(即个数的反序)而未输出第行(即个数之和的反序)程序需要修改。下面的修改方案中正确的是()。A.把过程pro的形式参数nAsInteger改为ByvalnAsIntegerB.把Callpro(ab)改为proabC.把n=n改为n=nD.在prob语句之后增加语句c=ab再Callpro(ab)改为proc()A考核知识点:()参数的传递方式答案:A分析:此处第一、二次参数的传递方式是按地址传递的所以形参在过程中改变为造成实参a和b也同步改变为所以在第三次过程调用时就无法准确将原a和b的值传递所以出错因此要解决问题就必须保证传递方式是按值传递的这样a和b的值就不会改变所以选择答案A二、填空题请将每空的正确答案写在答题卡~序号的横线上答在试卷上不得分。()DBXEAYFZC()单元()过程()逻辑设计()分量.在窗体上画一个文本框、一个标签和一个命令按钮其名称分别为Text、Label和Command然后编写如下两个事件过程:PrivateSubCommandClick()S$=InputBox("请输入一个字符串")TextText=S$EndSubPrivateSubTextChange()LabelCaption=UCase(Mid(TextText,))EndSub程序运行后单击命令按钮将显示一个输入对话框如果在该对话框中输入字符串“VisualBasic”则在标签中显示的内容是。()BASIC.在窗体上画一个命令按钮其名称为Command然后编写如下事件过程:PrivateSubCommandClick()a$="NationalComputerRankExamination"n=Len(a$)s=Fori=Tonb$=Mid(a$,i,)Ifb$="n"Thens=sEndIfNextiPrintsEndSub程序运行后单击命令按钮输出结果是().为了在运行时把d:pic文件夹下的图形文件ajpg装入图片框picture所使用的语句为。()PicturePicture=LoadPicture(“d:picajpg”).设有如下程序:PrivateSubFormClick()Clsa$="ABCDFG"Fori=ToPrintTab(i)NextiEndSub程序运行后单击窗体结果如图所示请填空。()Right(a$,i)或Mid(a$,i)()neg=negArr(k).在窗体上画一个命令按钮其名称为Command然后编写如下代码:OptionBasePrivateSubCommandClick()DimArrArr=Arr(,,,,,,,,,)pos=neg=Fork=ToIfArr(k)>ThenElseEndIfNextkPrintpos,negEndSub以上程序的功能是:计算并输出数组Arr中个数的正数之和pos与负数之和neg请填空。()pos=posArr(k).在窗体上画一个名为Command的命令按钮然后编写如下程序:PrivateSubCommandClick()DimiAsIntegerSum=n=InputBox("Enteranumber")n=Val(n)Fori=TonSum=NextiPrintSumEndSubFunctionfun(tAsInteger)AsLongp=Fori=Totp=p*iNextiEndFunction以上程序的功能是计算!!!…n!其中n从键盘输入请填空。()sumFun(i)()Fun=p.在窗体上画一个文本框名称为Text然后编写如下程序:PrivateSubFormLoad()Open"d:tempdattxt"ForOutputAs#TextText=""EndSubPrivateSubTextChange()Ifkeyascii=ThenIfUCase(TextText)=ThenClose#EndElseWrite#,TextText=""EndIfEndIfEndSub以上程序的功能是:在D盘temp文件夹下建立一个名为dattxt的文件在文本框中输入字符每次按回车键都当前文本框中的内容写入文件dattxt并清除文本框中的内容如果输入“END”则不写入文件直接结束程序。请填空。()“END”()TextTextPAGE12

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +1积分

资料评分:

/13
1下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部

举报
资料