vb考试复习9章12章习题.docx

上传人:b****2 文档编号:24247834 上传时间:2023-05-25 格式:DOCX 页数:30 大小:24.75KB
下载 相关 举报
vb考试复习9章12章习题.docx_第1页
第1页 / 共30页
vb考试复习9章12章习题.docx_第2页
第2页 / 共30页
vb考试复习9章12章习题.docx_第3页
第3页 / 共30页
vb考试复习9章12章习题.docx_第4页
第4页 / 共30页
vb考试复习9章12章习题.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

vb考试复习9章12章习题.docx

《vb考试复习9章12章习题.docx》由会员分享,可在线阅读,更多相关《vb考试复习9章12章习题.docx(30页珍藏版)》请在冰豆网上搜索。

vb考试复习9章12章习题.docx

vb考试复习9章12章习题

第9章过程

一、选择题

1.下面的过程定义语句中合法的是【】。

(A)SubProc1(ByValn())(B)SubProc1(n)AsInteger

(C)FunctionProcl(Proc1)(D)FunctionProc1(ByValn)

2.要想在过程调用后返回两个结果,下面的过程定义语句合法的是【】。

(A)SubProc1(ByValn,ByValm)(B)SubProc1(n,ByValm)

(C)SubProc1(n,m)(D)SubProc1(ByValn,m)

3.Sub过程与Function过程最根本的区别是【】。

(A)Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以

(B)Function过程可以有参数,Sub过程不可以

(C)两种过程参数的传递方式不同

(D)Sub过程的过程名不能返回值,而Function过程能通过过程名返回值

4.在过程调用中,参数的传递可以分为【】和【】两种方式。

(A)按值传递(B)按地址传递(C)按参数传递(D)按位置传递

5.在参数传递过程中,使用关键字【】来修饰参数,可以使之按值传递。

(A)ByVal(B)BYRef(C)Value(D)Reference

6.通用过程可以通过执行"工具"菜单中的【】命令来建立。

(A)添加过程(B)通用过程(C)添加窗体(D)添加模块

7.执行"工程"菜单中的【】命令,可以添加一个标准模块。

(A)添加过程(B)通用过程(C)添加窗体(D)添加模块

8.假定已定义了一个过程SubAdd(aAsSingle,bAsSingle),则正确的调用语句是【】。

(多选)

(A)Add12,12(B)CallAdd(2*x,Sin(1.57))

(C)CallAddx,y(D)CallAdd(12,12,x)

9.在窗体模块的通用声明段中声明变量时,不能使用【】关键字。

(A)Dim(B)Public(C)Private(D)Static

10.使用PublicConst语句声明一个全局的符号常量时,该语句应放在【】。

(A)过程中(B)窗体模块的通用声明段

(C)标准模块的通用声明段(D)窗体模块或标准模块的通用声明段

11.可以在窗体模块的通用声明段中声明【】。

(A)全局变量(B)全局常量(C)全局数组(D)全局用户自定义类型

二、判断程序或程序段的执行结果

1.单击命令按钮时,下列程序代码的执行结果为【】。

PublicSubProc1(nAsInteger,ByValmAsInteger)

n=nModl0

m=m\1O

EndSub

PrivateSubCommand1_Click()

DimxAsInteger,yAsInteger

x=12:

y=34

CallProc1(x,y)

Printx;y

EndSub

(A)1234(B)234(C)23(D)123

2.单击一次命令按钮之后,下列程序代码的执行结果为【】。

如果去掉StaticSUM语句,则单击一次命令按钮的执行结果为【】。

PrivateSubCommand1_Click()

S=P

(1)+P

(2)+P(3)+P(4)

PrintS;

EndSub

PrivateFunctionP(NAsInteger)

StaticSUM

ForI=1ToN

SUM=SUM+I

NextI

P=SUM

EndFunction

(A)20(B)35(C)115(D)135

3.单击命令按钮时,下列程序代码的执行结果为【】。

PrivateFunctionFirProc(xAsInteger,yAsInteger,zAsInteger)

FirProc=2*x+y+3*z

EndFunction

PrivateFunctionSeeproc(xAsInteger,yAsInteger,zAsInteger)

Seeproc=FirProc(z,x,y)+X.

EndFunction

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger,CAsInteger

a=2:

b=3:

c=4

PrintSeeproc(c,b,a)

EndSub

(A)21(B)19(C)17(D)34

4.单击命令按钮时,下列程序代码的执行结果为【】。

PrivateSubCommand1_Click()

DimFirststrAsString

Firststr="abedef"

PrintPickMid(Firststr)

EndSub

PrivateFunctionPickMid(xStrAsString)AsString

DimtempStrAsString,strLenAsInteger

tempStr=""

strLen=Len(xStr)

i=1

DoWhilei<=strLen/2

tempStr=tempStr+Mid(xStr,i,1)+Mid(xStr,MIten-i+1,1)

i=i+1

Loop

pickMid=ternpStr

EndFunction

(A)abedef(B)afbecd(C)fedcba(D)defabc

5.单击窗体时,下列程序代码的执行结果为【】。

PrivateSubInvert(ByValxStrAsString,yStrAsString)

DimtempStrAsString

DimiAsInteger

i=Len(xStr)

DoWhilei>=1

tempStr=tempStr+Mid(xStr,i,1)

Loop

yStr=tempStr

EndSub

PrivateSubForm_Click()

Dims1AsString,s2AsString

s1="abedef"

Inverts1,s2

Prints2

EndSub

(A)abedef(B)afbecd(C)fedcba(D)defabc

6.人单击窗体时,下列程序代码的执行结果为【】。

PrivateSubValue(BvValmAsInteger,BvValnAsInteger)

m=m*2:

n=n-5

Printm;n

EndSub

PrivateSubForm_Click()

DimxAsInteger,yAsInteger

x=10:

y=15

CallValue(x,y)

Printx;y

EndSub

如果删去Value过程形参表中的ByVal关键字,那么单击窗体时,程序代码的执行结果为【】。

(A)1010(B)1015(C)2015(D)2010

1015201010152010

7.单击窗体时,下列程序代码的执行结果为【】。

PrivateSubFonm_Click()

DimxAsInteger,yAsInteger,zAsInteger

x=1:

y=2:

z=3

CallProc1(x,x,z)

CallProc1(x,y,y)

EndSub

PrivateSubProc1(xAsInteger,yAsInteger,zAsInteger)

x=3*z

y=2*z

z=x+y

Printx;y;z

EndSub

如果在Proc1过程的第二个形参y前加ByVal关键字,那么单击窗体时,程序代码的执行结果为【】。

(A)6612(B)9615(C)9615(D)91010

6101061010641091015

8.单击命令按钮时,下列程序代码的执行结果为【】。

PrivateSubCommand1_Click()

PrintMyFunc(24,18)

EndSub

PublicFunctionMyFunc(mAsInteger,nAsInteger)AsInteger

DoWhilem<>n

DoWhilem>n:

m=m–n:

Loop

DoWhilem

n=n–m:

Loop

Loop

MyFunc=m

EndFuncuon

(A)2(B)4(C)6(D)8

9.单击一次命令按钮之后,下列程序代码的执行结果为【】

PublicSubProc(a()AsInteger)

StaticiAsInteger

Do

a(i)=a(i)+a(i+1)

i=i+1

LoopWhilei<2

EndSub

PrivateSubCommandl_Click()

DimmAsInteger,iAsInteger,x(10)ASInteger

Fori=0To4

x(i)=i+1

Nexti

Fori=1To2

Callproc(x())

Nexti

Fori=0To4

Printx(i);

Nexti

EndSub

(A)34756(B)35745(C)12345(D)12357

10.单击命令按钮时,下列程序代码的执行结果为【】

DimaAsInteger,bAsInteger,cAsInteger

PrivateSubCommand1_Click()

a=2:

b=4:

c=6

CallProc1(a,b)

Print"a=";a;"b=";b;"c=";c

CallProc2(a,b)

Print"a=";a;"b=";b;"c=";c

EndSub

PublicSubProc1(xAsInteger,yAsInteger)

DimCAsInteger

x=2*x:

y=y+2:

c=x+y

EndSub

PublicSubProc2(XAsInteger,ByvalyASInteger)

DimCAsInteger

x=2*x:

y=y+2:

c=x+y

EndSub

(A)a=2b=4c=6(B)a=4b=6c=10(C)a=4b=6c=6(D)a=4b=6c=14

a=4b=6c=1Oa=8b=8c=16a=8b=6c=6a=8b=8c=6

11.单击窗体时,下列程序代码的执行结果为【】。

PrivateSubForm_Click()

Test2

EndSub

PrivateSubTest(xAsInteger)

x=x*2+1

Ifx<6Then

callTest(x)

EndIf

x=x*2+1

Printx;

EndSub

(A)2347(B)511(C)1022(D)2323

12.给出下列程序代码在单击三次命令按钮时的输出结果。

去掉Static语句后,程序代码在单击三次命令按钮时的输出结果【】。

SubMySub()

StaticS

ForI=lTo10Step2

S=S+I

NextI

PrintS;

EndSub

PrivateSubCommand1_Click()

CallMySub

EndSub

13.给出下列程序代码在单击命令按钮时的输出结果【】。

SubSS(ByValX,BYRefY,Z)

X=X+1

Y=Y+1

Z=Z+1

EndSub

PrivateSubCommand1_Click()

A=1:

B=2:

C=3

CallSS(A,B,C)

PrintA,B,C

EndSub

14.给出下列程序代码在单击三次命令按钮时的输出结果【】。

Dimx,y,z

SubSS()

x=x+1

y=y+1

z=z+1

Printx,y,z

EndSub

PrivateSubCommand1_Click()

Dimx,y,z

x=1:

y=2:

z=3

CallSS

Printx,y,z

EndSub

15.给出下列程序代码在单击窗体时的输出结果【】。

PrivateSubForm_click()

Dima(3,3)AsInteger,iAsInteger,jAsInteger,kAsInteger

k=1;

Fori=1To3

Forj=1To3

a(i,j)=k

k=k+1

Nextj

Nexti

Fori=1To3

Callchange(a(),i)

Nexti

Fori=1To3

Forj=1To3

Printa(i,j);

Nextj

Print

Nexti

EndSub

PrivateSubchange(a()AsInteger,iAsInteger)

c=a(i,UBound(a))

Fork=UBound(a)-1To1Step-1

a(i,k+1)=a(i,k)

Nextk

a(i,1)=c

EndSub

16.给出下列程序代码在第一次单击命令按钮时文本框Text1和Text2中的内容,第二次单击命令按钮时文本框Text1和Text2中的内容【】。

DimyAsInteger

PrivateSubCommand1_Click()

DimxAsInteger

x=2

Text1.Text=SecondFunc(FirstFunc(x),y)

Text2.Text=FirstFunc(x)

EndSub

PrivateFunctionFirstFunc(XAsInteger)AsInteger

x=x+y:

y=x+y

FirstFunc=x+y

EndFunction

PrivateFunctionSecondFunc(XAsInteger,yAsInteger)AsInteger

secondFunc=2*x+y

EndFunction

17.给出下列程序代码在单击命令按钮时的输出结果【】。

PrivateSubCommand1_Click()

DimxAsInteger,yAsInteger

DimnAsInteger,zAsInteger

x=1:

y=1

Forn=1To3

z=FirstFunc(x,y)

Printn,z

Nextn

EndSub

PrivateFunctionFirstFunc(XAsInteger,yAsInteger)AsInteger

DimnAsInteger

DoWhilen<=4

x=x+y

n=n+1

Loop

FirstFunc=x

EndFunction

三、程序填空

1.以下Function过程Odd用于判断一个数是否是奇数。

当单击命令按钮时,随机产生一个二位数,调用Odd过程,判断该数是否是奇数。

如果是奇数,则显示True,否则显示False。

PrivateSubCommand1_Click()

DimxAsInteger

x=

(1)

Printx,Odd(x)

EndSub

FunctionOdd(ByValnAsInteger)AsBoolean

If

(2)Then

Odd=False

Else

Odd=True

EndIf

EndFunction

供选择的答案:

(1)(A)Int(Rnd*90+10)(B)Int(Rnd*89+10)(C)InkRnd*100)(D)Int(Rnd*89+11)

(2)(A)nMod2<>0(B)nMod3=0(C)nMod2=0(D)n/2=0

2.已知函数sum(k,n)=1^k+2^k+…+n^k。

下面的Function过程Sum计算给定参数时函数的值。

PrivateFunctionSum(kAsInteger,nAsInteger)AsLong

DimiAsInteger,sAsLong

Fori=1Ton

s=s+Power(

(1))

Nexti

Sum=s

EndFunction

PrivateFunctionPower(aAsInteger,bAsInteger)AsLong

DimiAsInteger,tAsLong

Fori=1Toa

(2)

Nexti

(3)

EndFunction

供选择的答案:

(1)(A)k,I(B)k,n(C)k,s(D)s,k

(2)(A)t=t+b(B)t=t*a(C)t=t*b(D)t=t*i

(3)(A)Power=Sum(B)Power=t(C)Sum=Power(D)Sum=t

3.如果一个正整数从高位到低位上的数字递减,则称此数为降序数。

例如,5433、887等都是降序数。

本程序当单击命令按钮时,从键盘输入一个正整数,调用numDecl过程判断输入的数是否是降序数,并在单击事件过程中输出判断结果。

PrivateSubCommand1_Clicko

DimnAsLong,flagAsBoolean

n=InputBox("请输入一个正整数")

CallnumDecl(n,flag)

If

(1)Then

Printn;"是降序数"

Else

Printn;"不是降序数"

EndIf

EndSub

PrivateSubnumDecl(nAsLong,

(2))

DimxAsString,iAsInteger

x=Tdm(Str(n))

Fori=1To(3)

IfMid(x,i,1)

Nexti

Ifi=(51)Thenflag=TrueElseflag=False

EndSub

(1)(A)flag=.True.(B)flag(C)Notflag(D)flag=False

(2)(A)flagAsBoolean(B)fAsBoolean(C)flagAsSuing(D)flagAsTrue

(3)(A)10(B)Len(n)(C)Len(x)(D)15

(4)(A)ExitDo(B)ExitSub(C)ExitFor(D)Exit

(5)(A)Len(x)(B)10(C)15(D)Len(x)+1

4.如果两个质数的差为2,就称这两个质数为质数对。

下列程序代码输出100以内的质数对。

PrivateSubCommand1_Click()

DimiAsInteger

p1=IsP(3)

Fori=5To100Step2

p2=IsP(i)

If

(1)ThenPrinti-2,I

p1=

(2)

Nexti

EndSub

PublicFunctionIsP(mAsInteger)AsBoolean

DimiAsInteger

(3)

Fori=2ToInT(sqr(m))

If(4)ThenIsP=False:

ExitFor

Nexti

EndFunction

供选择的答案:

(1)(A)p1=p2(B)p1Andp2(C)p1p2(D)p1Orp2

(2)(A)p2(B)p1(C)True(D)False

(3)(A)IsP=False(B)i=1(C)p1=True(D)IsP=True

(4)(A)iMod2=0(B)m/i=0(C)mModi=0(D)m/2=0

5.下面的程序代码实现将一个一维数组中元素向右循环移动,移位次数由文本框Text1输入。

例如数组各元素的值依次为0,1,2,3,4,16,7,8,9,10;移位三次后,各元素的值依次为8,9,10,0,1,2,3,4,5,6,7。

PrivateSubCommand1_Click()

Dima(10)AsInteger,iAsInteger,jAsInteger,kAsInteger

Fori=0To10

a(i)=i

Nexti

j=Val(Text1.Text)

k=0

Do

k=k+1

(1)

LoopUntil

(2)

Fori=0To10

Printa(i);

Nexti

EndSub

PrivateSubMoveRight(X()AsInteger)

DimiAsInteger,jAsInteger,kAsInteger

i=UBound(x):

j=x(i)

Fork=iToLBound(x)+1Step–1

(3)

Nextk

(4)

EndSub

供选择的答案:

(1)(A)MoveRight(a)(B)CallMoveRight(C)CallMoveRight(a)(D)CallMoveRighta

(2)(A)k=3(B)k=j(C)j=3(D)k

(3)(A)x(k)=x(k-1)(B)x(k)=x(k+1)(C)x(k-1)=x(k)(D)x(k+1)=x(k)

(4)(A)x(UBound(x))=j(B)x(LBound(x))=j(C)x(LBound(x))=x

(1)(D)x(UBound(x))=x

(1)

6.用弦截法求方程x-2sinx=0的根。

弦截法的设计思路为:

对于方程f(x)=0,找一个单调有根区间[x1,x2],连接f(x1)和f(x2)两点,连线与x轴交点的横坐标为:

x=x1*f(x2)-x2*f(x1)/(f(x2)-f(x1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1