vb函数与过程习题精选.docx

上传人:b****6 文档编号:6038202 上传时间:2023-01-03 格式:DOCX 页数:22 大小:36.27KB
下载 相关 举报
vb函数与过程习题精选.docx_第1页
第1页 / 共22页
vb函数与过程习题精选.docx_第2页
第2页 / 共22页
vb函数与过程习题精选.docx_第3页
第3页 / 共22页
vb函数与过程习题精选.docx_第4页
第4页 / 共22页
vb函数与过程习题精选.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

vb函数与过程习题精选.docx

《vb函数与过程习题精选.docx》由会员分享,可在线阅读,更多相关《vb函数与过程习题精选.docx(22页珍藏版)》请在冰豆网上搜索。

vb函数与过程习题精选.docx

vb函数与过程习题精选

第三章函数与过程习题

一、选择题

1.如果要声明一个全局性的符号常量,则应将该声明放在()。

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

C.标准模块的通用声明段中D.窗体模块或标准模块的通用声明段中

2.定义过程的语句为:

SubSuba(XAsSingle,YAsSingle)

则正确的调用语句为()。

A.Suba10,12B.CallSuba("A",Sin(1.57))

C.CallSubaX,YD.CallSuba(12,10,x)

3.在窗体的通用段声明变量时,不能使用()关键字。

A.DimB.PublicC.PrivateD.Static

4.Sub过程与函数过程最主要的区别是()。

A.后者可以有参数,而前者则不行

B.前者可以用Call语句直接调用,而后者则不行

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

D.前者的过程名不能返回值,而后者的过程名则可以返回值

5.要在过程调用后返回两个值,下列过程定义正确的是()。

A.SubProc(ByValn,ByValm)B.SubProc(n,ByValm)

C.SubProc(n,m)D.SubProc(ByValn,m)

6.在程序模块的开头声明OptionExplicit,则()。

A.这个模块里所用到的变量必须声明后才能使用

B.整个工程里所用到的变量必须声明后才能使用

C.这个模块里所用到的变量不需要声明就能使用

D.整个工程里所用到的变量不需要声明就能使用

7.若希望在离开某过程后还能保存该过程中局部变量的值,则应使用()关键字在该过程中定义局部变量。

A.DimB.PrivateC.PublicD.Static

8.在一个多窗口程序中,可以在标准模块或某个窗体模块的通用声明处分别用()语句定义一个在所有窗体模块中都可以引用的变量IntA。

A.PrivateIntAAsInteger,PublicIntAAsInteger

B.PublicIntAAsInteger,PrivateIntAAsInteger

C.PublicIntAAsInteger,PublicIntAAsInteger

D.PrivateIntAAsInteger,PrivateIntAAsInteger

9.在应用程序中用“PrivateFunctionFun(XAsInteger,YAsInteger)”定义了Fun函数。

调用Fun函数的过程中的变量I、J均定义为Integer型,能正确引用Fun函数的是()。

①PrintFunI,J②CallFun(I,3.65)

③PrintFun(3.14,234)④CallFun("245","231.5")

A.①③B.②③④C.①②③D.①②③④

10.若在应用程序的标准模块、窗体模块和Sub1过程的说明部分分别用"PublicGAsInteger"、"PrivateGAsInteger"和"DimGAsInteger"语句说明了3个同名变量G。

如果在Sub1过程中使用赋值语句"G=3596",则该语句是给在()说明部分定义的变量G赋值。

A.标准模块B.Sub1过程C.窗体模块D.标准模块、窗体模块和Sub1过程

11.下面关于SendKeys命令的说法中正确的是()。

A.能把字符发送到任何窗口中B.只能发送到活动窗口中

C.能把PrintScreen发送到当前窗口中D.不能发送控制键,如Ctrl键

12.要使每一个新建的窗体和模块里自动出现Option.Explicit关键字,可以()。

A.选择"工具"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

B.选择"文件"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

C.选择"工程"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

D.选择"编辑"菜单中的"选项"命令,在弹出的对话框中选中"要求变量声明"复选框

13.下列关于Int函数和Fix函数的说法中,正确的是()。

A.如果调用的参数大于O,则Int()返回小于或者等于这个参数的第1个负整数,Fix()返回大于或者等于这个参数的第1个负整数

B.如果调用的参数小于O,则Fix()返回小于或者等于这个参数的第1个负整数,Int()返回大于或者等于这个参数的第1个负整数

C.如果调用的参数小于O,则两者返回的值相同

D.如果调用的参数小于O,则Int()返回小于或者等于这个参数的第1个负整数,Fix()返回大于或者等于这个参数的第1个负整数

14.在进行参数传递的时候,ByVal和ByRef的含义分别是()。

A.前者表示按地址,后者表示按数值B.前者表示按数值,后者表示按地址

C.前者表示按地址,后者也表示按地址D.前者表示按数值,后者也表示按数值

15.下列对不带参数的Add过程进行调用的方法中,()是不正确的。

A.CallAddB.Add()C.AddD.CallAdd()

16.在VB中,过程通常有三种,它们是()。

A.事件过程、子过程和函数过程

B.事件过程、函数过程和属性过程

C.Sub过程、Function过程和Property过程

D.Sub过程、函数过程和通用过程

17.以下关于Sub过程的说法中,只有()是正确的。

A.一个Sub过程必须有一个ExitSub语句

B.一个Sub过程必须有一个EndSub语句

C.在Sub过程中可以定义Function过程

D.退出Sub过程也可以使用GoTo语句

18.Sub过程的定义()。

A.一定要有形参B.不一定要有过程的名称

C.要指明过程是公有的还是私有的,如不指明则默认是公有的

D.一定要指定返回值的类型

19.以下叙述中,()是正确的。

A.过程的定义可以嵌套,但过程的调用不能嵌套

B.过程的定义不能嵌套,但过程的调用可以嵌套

C.过程的定义与调用均不能嵌套D.过程的定义与调用均可以嵌套

20.用Static关键字定义的过程是指()。

A.声明的过程名是静态的B.声明的形参是静态的

C.声明过程中的局部变量是静态的D.声明过程的返回值是静态的

21.下列关于函数过程的叙述中正确的是()。

A.函数名只能被赋值一次

B.如果没有对函数名赋值,就没有函数值返回到调用过程中

C.函数名可以被多次赋值D.定义函数的类型是指定义形参的类型

22.下列定义MySub过程的语句中,()是正确的。

A.DimSubMySub(x,y)B.PublicMySub(x,y)

C.PrivateSubMySub(x,y)AsIntegerD.SubMySub(x,y)

23.下列定义Myfun.函数过程的语句中,()是错误的。

A.PrivatePublicMyfun(a)AsInteger

B.StaticFunctionMyfun(a)

C.FunctionMyfun(aAsInteger)AsInteger

D.PrivateFunctionMyfun(aAsInteger)

24.在VB中调试VB应用程序时,除了()外,其他都是可以利用的工具和方法。

A.使用窗体设计器B.使用立即窗口C.设置断点D.单步执行

25.在窗体上有一个命令按钮,编写如下程序:

PrivateSubCommand1_Click()

DimnAsLong,rAsLong

N=InputBox("请输入一个数")

N=Clng(n)

r=fun(n)

Printr

EndSub

Functionfun(ByValnumAsLong)AsLong

DimkAsLong

k=1

num=Abs(num)

DoWhilenum

k=k*(numMod10)

num=num\10

Loop

fun=k

EndFunction

该程序运行后,单击命令按钮,在对话框中输入100,输出结果为()。

A.0B.100C.200D.300

26.有一个按钮事件及一个Sub过程:

PrivateSubCommand1_Click()

ind2

EndSub

Subind(aAsInteger)

StaticxAsInteger

x=x+a

Printx;

EndSub

程序运行后,单击命令按钮3次,输出结果为()。

A.222B.123C.246D.248

27.以下是在一个按钮事件过程中调用一个函数过程:

PrivateSubCommand1_Click()

a=100

b=25

x=gys(a,b)

Printx

EndSub

Functiongys(ByValyAsInteger,ByValyAsInteger)AsInteger

DoWhiley<>0

remi=xMody

x=y

y=remi

Loop

gys=x

EndFunction

程序运行后的结果是()。

A.OB.25C.50D.100

28.有如下程序:

PrivateSubCommand1_Click()

DimaAsInteger

a=2

Fori=1To3

Printf(a)

Nexti

EndSub

Functionf(aAsInteger)

b=0

StaticC

b=b+1

c=c+1

f=a+b+C

EndFunction

程序运行后,单击命令按钮,其输出结果为()。

A.4B.4C.4D.4

4568

46816

29.阅读下面的程序。

PrivateSubCommand1_Click()

Dima(1To4)AsInteger

a

(1)=1:

a

(2)=2:

a(3)=3:

a(4)=4

subPa()

Fori=1To4

Printa(i)

Nexti

EndSub

SubsubP(b()AsInteger)

Fori=1To4

b(i)=2*i

Nexti

EndSub

程序运行后,单击命令按钮,输出结果为()。

A.1B.5C.2D.出错

264

376

488

30.有如下函数与调用过程:

PrivateSubCommand1_Click()

i=Val(InputBox("请输入一个数"))

a=fact(i)

Printa

EndSub

Functionfact(xAsInteger)AsLong

DimPAsLong,iAsInteger

P=1

Fori=1ToX

P=P*i

Nexti

fact=P

EndFunction

程序运行后,若输入5,则运行结果为()。

A.120B.60C.80D.100

31.有一个函数:

Functiontotal(xAsInteger)AsLong

DimssAsLong,iAsInteger

ss=0

Fori=1Tox

ss=ss+i

Nexti

total=ss

EndFunction

下面是调用它的事件过程。

PrivateSubCommand1_Click()

DimiAsInteger,sumAsLong

Fori=1To5

sum=sum+total(i)

Nexti

Print"和数为:

";sum

EndSub

该程序的运行结果为()。

A.55B.15C.5D.35

32.有一个过程如下:

SubCmax(X,Y,max)

max=Iif(x>Y,x,Y)

EndSub

调用过程如下:

PrivateSubCommand1_Click()

i=Val(InputBox("请输入第1个数"))

j=Val(InputBox("请输入第2个数"))

Cmaxi,j,a

Printa

EndSub

程序运行后,分别输入12、56,结果为()。

A.12B.56C.24D.112

33.单击窗体时,下列程序的执行结果为()。

SubProcl(xAsInteger,ByValyAsInteger,zAsInteger)

x=3*z

y=2*z

z=x+y

Printx;y;z

EndSub

PrivateSubForm_Click()

DimxAsInteger,yAsInteger,zAsInteger

x=1:

Y=2:

Z=3

CallProcl(X,X,Z)

CallProcl(X,Y,Y)

EndSub

如果在定义过程时,在y前面加上ByVal关键字,则运行结果会变为()。

A.6612B.965C.965D.91010

6101O61010641091015

34.单击命令按钮时,下列程序代码的执行结果为()。

DimaAsInteger,bAsInteger,CAsInteger

PrivateSubCommand1_Click()

a=2:

b=4:

c=6

CallProcl(a,b)

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

CallProc2(a,b)

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

EndSub

PublicSubProcl(XAsInteger,YAsInteger)

DimCAsInteger

X=2*X:

Y=Y+2:

Z=X+Y

EndSub

PublicSubProc2(xAsInteger,ByValYAsInteger)

DimCAsInteger

x=2*X:

Y=Y+2:

z=X+Y

EndSub

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

a=4b=6c=10a=8b=8c=16a=8b=6c=6a=8b=8c=6

35.在窗体模块的通用声明处用下面的语句声明变量、数组,正确的语句有()。

①Publica(5)AsInteger②PublicnAsInteger

③PublicstAsString④Publicb()AsInteger

A.2B.3C.4D.1

36.运行程序产生死循环时,()可以终止程序的运行。

A.按Ctrl+C键B.按Ctrl+Z键

C.按Ctrl+Break键D.单击“停止运行”按钮

37.在语句"PublicSubSort(iAsInteger)"中,i是一个按()传递的参数。

A.地址B.值C.常量D.变量

38.假定有以下两个过程:

Subs1(ByValxAsInteger,ByValyAsInteger)

DimtAsInteger

t=x

x=y

y=t

EndSub

Subs2(xAsInteger,yAsInteger)

DimtAsInteger

t=x

x=y

y=t

EndSub

则以下说法中正确的是()。

A.s1可以实现交换两个变量的操作,s2则不能

B.s2可以实现交换两个变量的操作,s1则不能

C.s1和s2均可以实现交换两个变量的操作

D.s1与s2都不能实现交换两个变量的操作

39.以下几种方法中,只有()不能进入中断模式。

A.使用单步调试方式运行程序B.在程序运行时按Ctrl+Break键

C.单击“运行”按钮D.程序中设置了断点,当程序运行到断点处时

40.要跟踪程序代码的运行,可采用除()以外的任何一种方法。

A.单步执行B.设置断点C.设置监视表达式D.观察程序的运行结果

41.窗体上有一个文本框Textl,有如下的事件过程:

PrivateSubText1_KeyPress(keyasciiAsInteger)

Dimstr1AsString

Str1=Chr(keyascii)

keyascii=Asc(Ucase(str1))

Text1.Text=String(2,keyascii)

EndSub

程序运行后,在文本框中输入字母b,则在文本框中显示的是()。

A.bbbB.BBBC.BBD.bb

42.有一个鼠标事件过程如下,程序运行后,为了能在文本框内得到Hello,应在窗体上执行()操作。

PrivateSubForm_MouseDown(buttonAsInteger,shiftAsInteger,_

XAsSingle,YAsSingle)

Ifshift=1Andbutton=2Then

Text1.Text="Hello"

EndIf

EndSub

A.同时按下Shift键与鼠标左键B.同时按下Shift键与鼠标右键

C.同时按下Ctrl+Alt键与鼠标左键D.同时按下Ctrl+Alt键与鼠标右键

43.如果窗体有如下事件过程,则程序运行后,为了能在窗体上输出Ok,必须()。

PrivateSubForm_MouseMove(buttonAsInteger,shiftAsInteger,_

XAsSingle,YAsSingle)

Ifbuttnn=2Then

Print"Ok"

EndIf

EndSub

A.只能按左键并拖动B.只能按右键并拖动

C.同时按下鼠标左、右键并拖动D.按鼠标左或右键并拖动

二、填空题

1.在过程定义中出现的变量名叫做参数,而在调用过程时传送给过程的、、或叫做实际参数。

2.静态变量只能在中声明和使用。

3.在用Public、Private、Dim、Static四种关键字声明的变量中,声明的变量作用域最大。

4.在VB开发环境中,标题栏中可以指出当前正处在模式、模式和中断模式。

5.模块级变量声明使用关键字Dim或。

6.根据变量的定义位置和所使用的定义语句的不同,VB中的变量可以分为3类,

即、和全局变量。

7.在过程的定义中,如想使用按值传递的参数传递方式,则必须在相应的形参前加上

关键字。

8.在调用过程时,如果不用Call命令,则在调用命令中必须省略加在实际参数前、后的

9.为了能在过程调用结束后仍然能保存过程中某个变量的值,则应将该变量声明成变量。

1O.在程序输入或编译时没有出现,而只在运行时出现的错误称为错误。

11.为了调试VB应用程序,VB设置了多种跟踪程序运行的工具,其中最主要的有。

12.有一个Sub过程如下:

Subs(xAsSingle,yAsSingle)

t=x

x=t/y

y=tMody

EndSub

调用的事件过程如下:

PrivateSubCommand1_Click()

DimaAsSingle,bAsSingle

a=5

b=4

sa,b

Printa,b

EndSub

则程序运行后,单击命令按钮时输出。

13.有如下Sub过程与调用过程:

PrivateSubCommand1_Click()

ind2

EndSub

Subind(aAsInteger)

StaticXAsInteger

X=X+a

PrintX;

EndSub

程序运行后,单击命令按钮3次,其输出结果为。

14.下列过程的功能是:

在对多个文本框进行输入时,对第1个文本框(Text1)输入完毕后,用Enter键使焦点跳到第2个文本框中,而不是用Tab键来切换。

试补充以下程序。

PrivateSubKeyDown(keycodeAsInteger,shiftAsInteger)

IfkeycodeThen

Text2.

EndIf

EndSub

15.以下程序用来计算1至指定数(由调用程序传人)之间所有奇数的和,试将程序补充完整。

Functionmult()

DimSumAsInteger

Sum=0

DimiAsInteger

Fori=1To

IfiMod2Then

Nexti

mult=Sum

EndFunction

若要计算并输出100之内所有奇数的和,则正确的调用语句是。

16.运行下面的程序,单击窗体后在窗体上显示的第1行结果是,第2行结果是。

PrivateFunctionDigit(nAsInteger,kAsInteger)AsInteger

Digit=0

DoWhilek>0

Digit=nMod10

n=n\10

k=k-1

Loop

EndFunction

PrivateSubForm_Click()

PrintDigit(1234,2)

PrintDigit(1234,3)

EndSub

17.运行下面的程序,单击窗体后在窗体上显示的第1行结果是,第3行结果是。

PrivateSubTest(xAsInteger)

DimiAsInteger

Ifx<>0Then

CallTest(x-1)

Fori=1Tox

Printx;

Nexti

Print

EndIf

EndSub

PrivateSubForm_Click()

Test3

EndSub

18.执行下面的程序后,第1行输出,第3行输出。

PrivateSubForm_Click()

DimaAsInteger,iAsInteger

a=2

Fori=1To9

CallSubl(i,a)

Printi.a

Nexti

EndSub

PrivateSubSub1(ByValXAsInteger,YAsInteger)

Fori=3To1Step-1

y=y+x

x=x-1

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

当前位置:首页 > 自然科学

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

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