完整wordVB 过程习题.docx
- 文档编号:25386566
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:14
- 大小:17.98KB
完整wordVB 过程习题.docx
《完整wordVB 过程习题.docx》由会员分享,可在线阅读,更多相关《完整wordVB 过程习题.docx(14页珍藏版)》请在冰豆网上搜索。
完整wordVB过程习题
第六章过程习题
一、选择题
1.下列叙述中正确的是(c).
(A)在窗体的Form_Load事件中定义的变量是全局变量
(B)局部变量的作用域可以超出所定义的过程
(C)在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只局限于该过程。
(D)在调用过程时,所有局部变量被系统初始化为0
2.下列四个叙述中,错误的是(c).
(A)过程内用Dim语句定义的变量,它的作用域是此过程
(B)过程内用Static语句定义的变量,它的生存期与整个过程的运行期相同
(C)过程内用Dim语句定义的变量,它的生存期与整个过程的运行期相同
(D)若在模块的“通用声明”中写上语句:
OptionExplicit,则该模块的所有变量必须先说明后引用
3.在过程定义中用(c)表示形参的传值。
(A)Var(B)ByDef(C)ByVal(D)Value
4.若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用Sort子过程,应该将该过程放在(b)中。
(A)窗体模块(B)标准模块(C)类模块(D)工程
5.在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用(d)关键字在过程中定义局部变量。
(A)Dim(B)Private(C)Public(D)Static
6.下面子过程语句说明合法的是(d)。
(A)Subf1(Byvaln%())(B)Subf1(n%)asinteger
(C)Functionf1%(f1%)(D)Functionf1(Byvaln%)
7。
要想从子过程调用后返回两个结果,下面子过程语句说明合法的是(c)。
(A)Subf1(Byvaln%,Byvalm%)(B)Subf1(n%,Byvalm%)
(C)Subf1(n%,m%)(D)Subf1(Byvaln%,m%)
8.在VB应用程序中,以下正确的描述是(b).
(A)过程的定义可以嵌套,但过程的调用不能嵌套
(B)过程的定义不可以嵌套,但过程的调用可以嵌套
(C)过程的定义和调用均不可以嵌套
(D)过程的定义和调用均可以嵌套
9.以下叙述中错误的是(c)。
(A)一个工程中只能有一个SubMain过程
(B)窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体
(C)窗体的Hide方法和Unload方法的作用完全相同
(D)若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体
10。
以下叙述中错误的是(d).
(A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型
(B)Sub过程中不能嵌套定义Sub过程
(C)Sub过程中可以嵌套调用Sub过程
(D)事件过程中可以像通用过程一样由用户定义过程名
11.定义带可变参数的过程,使用的关键字是(c)。
(A)Optional(B)Option(C)ParamArray(D)Private
12。
定义带可选参数的过程,使用的关键字是(a).
(A)Optional(B)Option(C)ParamArray(D)Private
二、填空题
1.在过程定义的首部出现的变量名叫做(形式参数)参数,而在调用过程中传送给过程的(常量)、(变量)、(数组元素)或(表达式)叫做(实在参数)参数。
2。
定义和调用函数或过程时参数传递的两种方法是(按值传递)和(按地址传递)。
3。
在窗体的通用段用Dim语句定义的变量是(窗体级)级变量,它只能在(本窗体)中使用。
4.全局级过程在定义时可以默认,也可以使用关键字(public)进行显示声明;窗体/模块级的过程声明时要用关键字(private)。
5。
用ParamArray关键字声明可变参数时,被声明的参数只能是(变体类型数组)。
6。
在带可选参数的过程中,使用(isming)函数来测试可选参数是否被选。
三、分析运行结果
1.阅读程序
Functionf(aAsInteger)
Staticc
b=0:
b=b+1
c=c+1:
f=a+b+c
EndFunction
PrivateSubcommand1_click()
DimaAsInteger
a=2
Fori=1To3
Printf(a);
Nexti
EndSub程序运行后,单击命令按钮,输出结果为:
2。
阅读程序
Subs(xAsSingle,yAsSingle)
t=x
x=t/y
y=tMody
EndSub
PrivateSubcommand1_click()
DimaAsSingle,bAsSingle
a=5
b=4
sa,b
Printa,b
EndSub
程序运行后,单击命令按钮,输出结果为:
3。
阅读程序
FunctionM(x%,y%)AsInteger
M=IIf(x〉y,x,y)
EndFunction
PrivateSubcommand1_click()
DimaAsInteger,bAsInteger
a=1
b=2
PrintM(a,b)
EndSub
程序运行后,单击命令按钮,输出结果为:
4。
阅读程序
SubInc(aAsInteger)
StaticxAsInteger
x=x+a
Printx;
EndSub
PrivateSubcommand1_click()
Inc2
Inc3
Inc4
EndSub
程序运行后,单击命令按钮,输出结果为:
5。
阅读程序:
Subp(b()AsInteger)
Fori=1To4
b(i)=2*i
Nexti
EndSub
PrivateSubcommand1_click()
Dima(1To4)AsInteger
a
(1)=5
a
(2)=6
a(3)=7
a(4)=8
pa()
Fori=1To4
Printa(i);
Nexti
EndSub程序运行后,单击命令按钮,输出结果为:
6.阅读程序:
Functionfun(ByValnumAsLong)AsLong
DimkAsLong
k=1
num=Abs(num)
DoWhilenum
k=k*(numMod10)
num=num\10
Loop
fun=k
EndFunction
PrivateSubcommand1_click()
DimnAsLong,rAsLong
n=Val(InputBox(”请输入一个数:
”))
r=fun(n)
Printr
EndSub
程序运行后,单击命令按钮,输入1234,输出结果为:
7。
阅读程序:
Functionfunc(a%,b%)AsInteger
StaticmAsInteger,iAsInteger
m=0
i=2
i=i+m+1
m=i+a+b
func=m
EndFunction
PrivateSubcommand1_click()
Dimk%,m%,p%
k=4
m=1
p=func(k,m)
Printp;
p=func(k,m)
Printp
EndSub
程序运行后,单击命令按钮,输出结果为:
8.阅读程序:
Dima%,b%,c%
PublicSubp1(x%,y%)
Dimc%
x=2*x:
y=y+2:
c=x+y
EndSub
PublicSubp2(x%,ByValy%)
Dimc%
x=2*x:
y=y+2:
c=x+y
EndSub
PrivateSubcommand1_click()
a=2:
b=4:
c=6
Callp1(a,b)
Printa,b,c
Callp2(a,b)
Printa,b,c
EndSub
程序运行后,单击命令按钮,输出结果为:
9。
阅读程序:
PrivateSubcommand1_click()
Dimm%,i%,x%(10)
Fori=0To4
x(i)=i+1
Nexti
Fori=1To2
Callproc(x())
Nexti
Fori=0To4
Printx(i)
Nexti
EndSub
PublicSubproc(a%())
Statici%
Do
a(i)=a(i)+a(i+1)
i=i+1
LoopWhilei<2
EndSub
程序运行后,单击命令按钮,输出结果为:
10.阅读程序:
PrivateSubcommand1_click()
Printp1(3,7)
EndSub
PublicFunctionp1!
(x!
n%)
Ifn=0Then
p1=1
Else
IfnMod2=1Then
p1=x*p1(x,n\2)
Else
p1=p1(x,n\2)\x
EndIf
EndIf
EndFunction程序运行后,单击命令按钮,输出结果为:
11.阅读程序:
PrivateSubcommand1_click()
Dimx%,y%,z%,w%
x=9
y=8
z=2
w=6
Calls1(x,y,z,w)
Printx;y;z;w
EndSub
PrivateSubs1(a%,b%,ByValc%,ByVald%)
a=a+1
b=b+2
c=c+3
d=d+4
EndSub程序运行后,单击命令按钮,输出结果为:
12.阅读程序:
PrivateSubcommand1_click()
Dimx%,y%
x=9:
y=8
Calls1(5,7,x,y)
Printx;y
EndSub
PrivateSubs1(a%,b%,ByValc%,ByVald%)
c=c+a:
d=d+b
EndSub程序运行后,单击命令按钮,输出结果为:
13。
阅读程序:
PrivateSubcommand1_click()
Dimx%,y%,z%
x=5:
y=7:
z=0
Calls1(x,y,z)
Printx;y;z
EndSub
PrivateSubs1(ByVala%,ByValb%,c%)
c=a+b
EndSub程序运行后,单击命令按钮,输出结果为:
14.阅读程序:
PrivateiAsInteger
PrivateSubabc()
a$=Chr(Asc("A”)+i)
Printa$;”;";
EndSub
PrivateSubcommand1_click()
Fori=0To4
abc
Nexti
EndSub程序运行后,单击命令按钮,输出结果为:
15.阅读程序:
PrivateSubabc()
a$=Chr(Asc(”A")+i)
Printa$;";";
EndSub
PrivateSubcommand1_click()
Fori=0To4
abc
Nexti
EndSub程序运行后,单击命令按钮,输出结果为:
16。
阅读程序:
FunctionM(x%,y%)AsInteger
M=IIf(x>y,x,y)
EndFunction
PrivateSubcommand1_click()
DimaAsInteger,bAsInteger
a=100
b=200
PrintM(a,b)
EndSub程序运行后,单击命令按钮,输出结果为:
17。
阅读程序:
PrivateiAsInteger
PrivateSubabc()
a$=Chr(Asc(”A”)+i)
b$=Chr(Asc("Z”)-x)
Printa$&b$;”;";
EndSub
PrivateSubcommand1_click()
DimxAsInteger
Fori=0To4
x=x+1
abc
Nexti
EndSub程序运行后,单击命令按钮,输出结果为:
四、简答题
1.子过程与函数过程的异同点是什么?
2.什么是形参?
什么事实参?
3.调用子过程或函数过程时,实参与形参的对应关系如何?
应注意什么问题?
4.值传递与地址传递的选择与其特点是什么?
5.在VB中,形参若是数组,不要说明数组元素的个数,即以数组名和圆括号表示,在过程体内如何表示数组的上下界?
6.在Form1窗体通用声明部分声明的变量,可否在Form2窗体中的过程被访问?
7.要使变量在某事件过程中保值,有哪几种变量声明的方法?
8.指出下面过程语句说明中的错误:
(1)Subf1(n%)asinteger
(2)Functionf1%(f1%)
(3)Subf1(ByValn%())(4)Subf1(x(i)asinteger)
9.已知有如下求两个平方数和的fsum子过程:
PublicSubfsum(sum%,byvalm%,byvaln%)
Sum=m*m+n*n
EndSub
在事件过程中有如下变量声明:
Dima%,b%,c!
a=10
b=20
则指出如下过程调用语句错误所在:
(1)fsum3,4,5
(2)fsumc,a,b(5)callfsumc,a,b
(3)fsuma+b,a,b(4)callfsum(sqr(c),sqr(a),sqr(b))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整wordVB 过程习题 完整 wordVB 过程 习题
![提示](https://static.bdocx.com/images/bang_tan.gif)