您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2011年春江苏省计算机二级VB考试笔试真题
VB2011春第4页第二部分VisualBasic程序设计一、选择题(用答题卡答题,答案依次填在21~30答题号内)21.以下说法中,正确的是21。A.属性是对象的特征,所有的对象都有相同的属性B.属性值只能在属性窗口中设置C.在程序中可以用赋值语句给对象的任何一个属性赋值D.对象的运行时属性不出现在对象属性窗口中22.下面4个语句中,错误的是22。A.N=InputBox(输入N:,,5)B.InputBox(输入N:,,5)C.MsgBox请回答D.K=MsgBox(请回答)23.若设X=1,Y=2,则不能在窗体上显示出“A=3”的语句是23。A.PrintA=X+YB.PrintA=;X+YC.PrintA=+Str(X+Y)D.PrintA=&X+Y24.表达式InStr(4,abcabca,c)+Int(2.5)的值为24。A.7B.8C.5D.925.以下有关数组的说法中,错误的是25。A.用ReDim语句重新定义动态数组时,其下标的上下界可以使用赋了值的变量B.用ReDim语句重新定义动态数组时,不能改变已经说明过的数组的数据类型C.使用ReDim语句一定可以改变动态数组的上下界D.定义数组时,数组维界值可以不是整数26.以下有关过程的说法中,错误的是26。A.不论在Function过程中是否给函数名赋过值,都会返回一个值B.不能在Function与Sub过程内部,再定义Function或Sub过程C.Function过程与Sub过程,都可以是无参过程D.过程名可以和主调过程的局部变量同名27.下列关于菜单的说法中,错误的是27。A.除了Click事件之外,菜单项不能响应其他事件B.菜单的名称项(Name属性)不可缺省C.只有当代码窗口为当前活动窗口时,才能打开菜单编辑器VB2011春第5页D.菜单项的快捷键不能任意设置28.设a=1,b=2,c=3,逻辑表达式abAndNotcbXorca的值是28。A.FalseB.-1C.TrueD.129.在窗体Form1中用“PublicSubFun(xAsInteger,yAsSingle)”定义过程Fun,在窗体Form2的某事件过程中定义了变量I和J均为Integer,若要在此过程中调用Form1中的Fun过程,则下列语句中正确的是29。A.CallFun(I,J)B.CallForm1.Fun(I,J)C.FunI,(J)D.Form1.FunI,(J)30.以下有关文件操作的说法中,正确的是30。A.在某过程中用Open语句打开的文件,只能在这个过程中使用B.不能用Output、Append方式打开一个不存在的顺序文件C.在Input方式下,可以使用不同的文件号同时打开同一个文件D.在不同的过程中,可以同时用同一个文件号打开不同的文件二、填空题(请将答案填写在答题纸的相应答题号内,每个答案只占一行)1.执行下列程序,单击按钮Command1,窗体上显示的第一行内容是(1),第二行内容是(2),第三行内容是(3)。OptionExplicitPrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=4b=3DoUntila10b=b/2DoUntilb10a=(a+b)\2+bb=b+5Printa,bLoopa=a-3LoopEndSub2.执行下面程序,当单击Cmd1时,在窗体上显示的第一行内容是(4),第二行的内容是(5),第四行的内容是(6)。OptionExplicitPrivateSubCmd1_Click()VB2011春第6页DimaAsInteger,bAsIntegera=1b=2Printfun(2*b,fun(a,(b)))Printa;bEndSubPrivateFunctionfun(xAsInteger,yAsInteger)AsIntegerx=x+2y=x-y+3fun=x+yPrintfunEndFunction3.执行下面的程序,单击CmdRun后,数组元素a(1,2)的值是(7),a(2,1)的值是(8),a(3,2)的值是(9)。OptionExplicitOptionBase1PrivateSubCmdRun_Click()DimA(3,3)AsInteger,iAsInteger,jAsInteger,kAsInteger,nAsIntegern=3i=1:j=nA(i,j)=1Fork=2Ton*nIfi+1nTheni=n-j+2:j=1ElseIfi+1=nAndj+1nThenj=j–i:i=1Elsei=i+1:j=j+1EndIfA(i,j)=kNextkFori=1TonForj=1TonPrintA(i,j);NextjPrintNextiEndSub4.运行程序,在文本框Text1中输入用空格分隔的4位二进制数1001、0101和0110。单击“处理”按钮,在多行文本框Text2中第一行显示(10),第二行显示(11),第三行显示VB2011春第7页(12)。OptionExplicitPrivateSubCmd1_Click()DimS(3)AsString,nAsIntegerDimiAsInteger,kAsIntegerk=1Fori=1To3S(i)=Mid(Text1,k,4)k=k+5CallTransform(n,S(i))Text2=Text2&n&vbCrLfNextiEndSubPrivateSubTransform(nAsInteger,SAsString)DimkAsInteger,iAsInteger,LAsIntegerL=Len(S)IfVal(Mid(S,1,1))=1Thenn=-(2^(L-1))Elsen=0EndIfFori=2ToLk=Mid(S,i,1)n=n+k*2^(L-i)NextiEndSub5.执行下列程序,单击CmdRun按钮,则窗体上显示的第一行是(13),第二行是(14),最后一行是(15)。OptionExplicitPrivateSubCmdRun_Click()DimnAsIntegerForn=4To7IfFun1(n,Sqr(n))ThenPrintn;SSElsePrintn;HSEndIfNextnEndSubPrivateFunctionFun1(nAsInteger,iAsInteger)AsBooleanVB2011春第8页Ifi=1ThenFun1=TrueElseIfnModi0ThenFun1=Fun1(n,i-1)ElseFun1=FalseEndIfEndFunction6.下面程序的功能是:求S的值。kxkkxxxxxxxxxxxxs)12(31)()2)(1(531)3)(2)(1(31)2)(1()1(32(x1)计算到第k项的值小于等于10-6为止。请完善本程序。OptionExplicitPrivateSubCmdSum_Click()DimsAsSingle,xAsSingle,kAsInteger,tAsSinglex=CSng(Text1.Text)(16)Dot=pt(x,k)s=s+tk=k+1LoopUntilt=0.000001Text2.Text=CStr(s)EndSubPrivateFunctionpt(xAsSingle,nAsInteger)AsSingleDimiAsInteger(17)Fori=1Tonpt=(18)Nextipt=pt/x^nEndFunction7.下面程序的功能是,找出100~999之间具有以下特点的整数:其全部真因子(1和自身除外的因子)中,所有素数因子之和的2倍等于其余因子的和数。请完善本程序。OptionExplicitOptionBase1PrivateSubCommand1_Click()DimiAsLong,jAsLong,mAsInteger,stAsStringDima()AsIntegerVB2011春第9页Fori=100To999(19)Forj=2Toi-1IfiModj=0Thenm=m+1(20)a(m)=jEndIfNextjIfm0ThenIfyzh(a,st)ThenList1.AddItemi&:&stEndIfEraseaNextiEndSubPrivateFunctionyzh(a()AsInteger,stAsString)AsBooleanDimiAsInteger,jAsIntegerDimsum1AsLong,sum2AsLong,st1AsString,st2AsStringFori=1ToUBound(a)Forj=2ToSqr(a(i))Ifa(i)Modj=0ThenExitForNextjIf(21)Thensum1=sum1+a(i)st1=st1&a(i)&+Elsesum2=sum2+a(i)st2=st2&a(i)&+EndIfNextiIfsum1*2=sum2Then(22)st=(&Left(st1,Len(st1)-1)&)*2=&Left(st2,Len(st2)-1)EndIfEndFunction8.本程序的功能是求-128~+127之间整数n的8位2进制补码。采用的算法是:若n≥0,则直接将其转换为相应的7位2进制数,前面的符号位置为“0”;若n0,则将n+128转换为相应的7位2进制数,前面的符号位置为“1”。请完善本程序。OptionExplicitPrivateSubCommand1_Click()VB2011春第10页DimdecAsIntegerdec=Text1If(23)ThenMsgBox无效数据,请重输!,,求补码Text1=Text1.SetFocusElseText2=bm(dec)EndIfEndSubPrivateFunctionbm(nAsInteger)AsStringIfSgn(n)=0Thenbm=0&d2b(n)Elsen=n+128bm=(24)EndIfEndFunctionPrivateFunctiond2b(nAsInteger)AsStringDimpAsIntegerDop=nMod2d2b=CStr(p)&d2bn=n\2LoopUntil(25)d2b=Right(000000&d2b,7)EndFunction9.本程序的功能是,按从大到小的次序给一组正整数标记序次。程序的算法是:先找出原数组中所有的最大数,假如有n个最大数,它们序次均标记为1,已处理的数据值改为-99;再找出所有的次大数,它们的序次标记为n+1……直到所有数据处理完毕。请完善本程序。(说明:数组sn用于存放数组a中相应的各个元素的序次,数组b用来保留原始数据)OptionExplicitOptionBase1PrivateSubCmd1_Click()Dima(10)AsInteger,sn(10)AsInteger,b(10)AsInteger,iAsIntegerFori=1To10a(i)=Int(Rnd*61)+40b(i)=(26)Text1=Text1&Str(a(i))NextiVB2011春第11页Callorder(a,sn)Fori=1To10List1.AddItemb(i)&--&sn(i)NextiEndSubPrivateSuborder(a()AsInteger,sn()AsInteger)DimiAsInteger,jAsIntegerDimnAsInteger,maxiAsIntegeri=1DoWhilei=UBound(a)n=(27)maxi=a(1)Forj=2ToUBound(a)If(28)Thenmaxi=a(j)EndIfNextjForj=1ToUBound(a)If(29)Thensn(j)=ia(j)=-99n=n+1EndIfNext
本文标题:2011年春江苏省计算机二级VB考试笔试真题
链接地址:https://www.777doc.com/doc-3055535 .html