过程013004、窗体中添加一个命令按钮,编写如下程序:privatesubtest(p,m,n)p=p+1:m=m+1:n=n+1printSub:;p;m;nendsubprivatesubcommand1_click()a1=1:b1=2:c1=3calltest(a1,b1+3,(c1))printMain:;a1;b1;c1endsub程序运行后,输出结果为()A、Sub:264B、Sub:264C、Sub:264D、Sub:264Main:264Main:164Main:123Main:223答案:D010209、()关键字声明的局部变量在整个程序运行时一直存在A、StaticB、PrivateC、DimD、Public答案:A010601、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:PrivateSubCommand1_Click()StaticXAsIntegerStaticYAsIntegerClsY=1Y=Y+5X=5+XPrintX,YEndSub程序运行时,三次单击命令按钮Command1后,窗体上显示的结果为()A、1516B、156C、1515D、56答案:B012401、在窗体上画和一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:PrivateSubCommand1_Click()Dimx,y,zASIntegerx=5y=7z=0Text1.Text=CallP1(x,y,z)Text1.Text=Str(z)EndSubSubP1(byValaAsInteger,ByValbAsInteger,cAsInteger)c=a+bEndSub程序运行后,如果单击命令按钮,则在文本框中显示的内容是()A、0B、12C、Str(z)D、没有显示答案:B012301、在窗体上画一个命令按钮,名称为Command1。程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1。在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回1,否则返回0。能够正确实现上述功能的代码是()A、PrivateSubCommand1_ClicK()x=InputBox(请输入整数)a=F1(val(x))PrintaEndSubFunctionF1(ByRefbASInteger)IfbMod2=0ThenReturn0ElseReturn1EndIfEndFunctionB、PrivateSubCommand1_ClicK()x=InputBox(请输入整数)a=F1(val(x))PrintaEndSubFunctionF1(ByRefbASInteger)IfbMod2=0ThenF1=0ElseF1=1EndIfEndFunctionC、PrivateSubCommand1_ClicK()x=InputBox(请输入整数)F1(val(x))PrintaEndSubFunctionF1(ByRefbASInteger)IfbMod2=0ThenF1=1ElseF1=0EndIfEndFunctionD、PrivateSubCommand1_ClicK()x=InputBox(请输入整数)F1(val(x))PrintaEndSubFunctionF1(ByRefbASInteger)IfbMod2=0ThenReturn0ElseReturn1EndIfEndFunction答案:B012501、以下叙述中错误的是()A、如果过程被定义为Static类型,则该过程中的局部变量都是Static类型B、Sub过程中不能嵌套定义Sub过程C、Sub过程中可以嵌套调用Sub过程D、事件过程可以像通用过程一样由用户定义过程名答案:C012303、设有如下通用过程:PublicFunctionf(xAsInteger)DimyAsIntegerx=20y=2f=x*yEndFunction在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()StaticxAsIntegerx=10y=5y=f(x)Printx;yEndSub程序运行后,如果单击命令按钮,则在窗体上显示的内容是()。A、105B、205C、2040D、1040答案:C012403、设有如下通用过程:PublicSubFun(a(),ByValxAsInteger)Fori=1To5x=x+a(i)NextEndSub在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下的事件过程:PrivateSubCommand1_Click()Dimarr(5)AsVariantFori=1To5arr(i)=iNextn=10CallFun(arr(),n)Text1.Text=nEndSub程序运行后,单击命令按钮,则在文本框中显示的内容是()A、10B、15C、25D、24答案:A010204、Function过程要由函数名返回一个值。如果不使用AS数据类型选项来指定函数的类型,函数类型默认为()类型。A、IntegerB、VariantC、LongD、String答案:B011505、有如下函数:functionfact(xasinteger)aslongdimpaslong,iasintegerp=1fori=1toxp=p*inextifact=pendfunction调用它的事件过程如下:privatesubcommand1_click()i=val(inputbox(请输入数据))a=fact((i))printaendsub若输入数据5,则运行结果为()A、120B、60C、80D、100答案:A011706、有如下函数过程:functiongys(byvalxasinteger,byvalyasinteger)asintegerdowhiley0preminder=x/yx=yy=preminderloopgys=xendfunction以下是调用该函数的事件过程,该程序的运行的结果是()privatesubcommand1_click()dimaasintegerdimbasintegera=10b=2x=gys(a,b)printxendsubA、0B、25C、5D、100答案:C012206、下列程序运行后的输出结果是()privatesubf(k,s)s=1forj=1toks=s*jnextjendsubprivatesubcommand1_click()sum=0fori=1to3callf(i,s)sum=sum+snextiprintsumendsubA、0B、3C、6D、9答案:D012007、下列程序执行后的输出结果是()FunctionFF(n)x=x*nFF=x-11EndFunctionPrivateSubCommand1_Click()Fork=1To2y=FF(k):PrintyNextkEndSubA、-10-7B、108C、13D、04答案:A013307、有下列过程Functionfn(ByValnumAsLong)DimkAsLongk=1num=Abs(num)DoWhilenumk=k*(numMod10)num=num\10Loopfn=kEndFunction以下是调用该函数的过程,在运行程序后,在输入对话框中输入数字123,运行结果是()PrivateSubCommand1_Click()DimnAsLongDimrAsLongn=InputBox(请输入一个数值)n=CLng(n)r=fn(n)PrintrEndSubA、12B、6C、3D、1答案:B012910、假定有下面的过程:Functionfunc(aAsInteger,bAsInteger)AsIntegerStaticmAsInteger,iAsIntegerm=0i=2i=i+m+1m=i+a+bfunc=mEndFunction在窗体上画一个命令按纽,然后编写如下的时间过程:PrivateSubCommand1_Click()DimkAsInteger,mAsIntegerDimpAsIntegerk=4m=1p=func(k,m)PrintpEndSubA、8B、9C、10D、11答案:A第页1事件过程比如:PrivateSubForm_Click()PrivateSubForm_KeyPress(KeyAsciiAsInteger)Sub过程VB过程通用过程建立:Subsub2(x%,ByValyAsInteger,ByRefz$)调用:sub2a,b,c或callsub2(a,b,c)Function过程比如建立:FunctionGCD(ByValm%,ByValn%)AsInteger……GCD=n……EndFunction调用形式:变量名=函数过程名([实参表])X=GCD(3,15)本章课后的选择题运行下面的程序,单击命令按钮Command1,窗体上显示的结果是什么?PrivateSubCommand1_Click()DimA%,B%A=6:B=23Callswap(A,B)或swapA,BPrintA=;A,PrintB=;BEndSubSubswap(XAsInteger,YAsInteger)Dimt%t=X:X=Y:Y=tEndSubA=23B=6运行下面的程序,单击命令按钮Command1,窗体上显示的结果是什么?PrivateSubS1(aAsInteger,bAsInteger)a=a*3:b=b-2EndSubPrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=4:y=7CallS1(x,y)Printx;y第页2EndSub125运行以下程序,第三次单击窗体后,窗体上显示的结果为()。PrivateSubForm_Click()StaticXAsIntegerDimYAsInteger,iAsIntegerForm1.ClsFori=1To3X=X+2Y=Y+2NextiPrintX;YEndSub126运行下面的程序,单击命令按钮Command1,窗体上显示的结果是什么?PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=22:y=33Callpp1(x,y)Printx,yEndSubSubpp1(ByValmAsString,ByValnAsString)n=m+nEndSub2233运行下面的程序,单击命令按钮Command1,窗体上显示的结果是()。SubPP(xAsInteger)x=x^2EndSubPrivateSubCommand1_Click()DimmAsIntegerm=9PPmPrintmEndSub81第页3数组A在子过程或函数中定义为形式参数,错误的语句是()。A)PrivateSubAA(ByRefA()AsInteger)B)PrivateFunctionAA(A()AsInteger)AsIntegerC)PrivateSubAA(A(n)AsInteger)D)PrivateStaticSubAA(A()AsInteger)