计算机二级

有如下过程,将两次调用过程proc的结果分别填于空【 】和【 】处。Private Sub Command1_Click( )Dim a As IntegerDim b As Integera=2b=5Call proc(a,B) 【 】Call proc(A) 【 】End SubPrivate Sub proc(x As Integer,Optional y)Dim z As IntegerIf IsMissing(y) ThenMsgBox ("没有提供可选参数")Elsez=x*yMsgBox (

题目

有如下过程,将两次调用过程proc的结果分别填于空【 】和【 】处。

Private Sub Command1_Click( )

Dim a As Integer

Dim b As Integer

a=2

b=5

Call proc(a,B) 【 】

Call proc(A) 【 】

End Sub

Private Sub proc(x As Integer,Optional y)

Dim z As Integer

If IsMissing(y) Then

MsgBox ("没有提供可选参数")

Else

z=x*y

MsgBox ("乘积=" + Str(z))

End If

End Sub

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

用dim语句声明的局部变量能保存上一次过程调用后的值。( )


正确答案:错误

第2题:

有如下过程代码: Sub var_dim( ) static numa As Integer Dim numb As Integer numa=numa+2. numb=numb+1 print numa;mub End Sub 连续3次调剧var_dim过程,第3次调用时的输出是( )。

A.2 1

B.2 3

C.6 1

D.6 3


正确答案:C
C。【解析】Static是将变量声明为静态变量,每次调用值会取上次调用后的值。而numb是局部变量,每次会重新初妁化,所以应选C选项。

第3题:

要想在过程Proc调用后返回形参x和Y的变化结果,下列定义语句中正确的是( )。【考点5过程调用与参数传递】

A.Sub Proc(x as Integer,Y as Integer)

B.Sub Proc(ByVal x as Integer,Y as Integer)

C.Sub Proc(x as Integer,ByVal Y as Integer)

D.Sub Proc(ByVal x as Integer,ByVal Y as Integer)


正确答案:A
本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用:若没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。

第4题:

在过程定义中,Private表示( )。

A.此过程可以被其他过程调用

B.此过程不可以被任何其他过程调用

C.此过程只可以被本工程中的其他过程调用

D.此过程只可以被本窗体模块中的其他过程调用


正确答案:D
D)【解析】本题考查Private的含义。Private表示了过程或者变量的访问权限,仅局限于定义的窗体和模块,也就是此过程只可以被本窗体模块中的其他过程调用。

第5题:

有关过程调用叙述正确的是______。

A.打开过程文件时,其中的主过程自动调入内存

B.同一时刻只能打开一个过程,打开新的过程后,旧的过程自动关闭

C.用命令DO<proc>WITH<parmlist>调用过程时,过程文件无须打开就可调用其中的过程

D.用命令DO<proc>WITH勺armlist>m<file>调用过程时,过程文件无须打开,就可调用其中的过程


正确答案:C

第6题:

有关过程调用叙述正确的是

A.打开过程文件时,其中的主过程自动调入内存

B.同一时刻只能打开一个过程,打开新的过程后,旧的过程自动关闭

C.用命令DO<proc>WITH<parm list>调用过程时,过程文件无需打开就可调用其中的过程

D.用命令DO<proc>WITH<parm list>IN<file>调用过程时,过程文件无需打开,就可调用其中的过程


正确答案:D
解析:调用过程时,首先应该打开过程文件,在使用IN语句后,系统自动打开过程文件,不需要再次打开。

第7题:

有如下过程代码:

Sub var_dim()

Static numa AS Integer

Dim numb As Integer

numa=Duma+2

numb=numb+1

print numa;mumb

End Sub

连续3次调用vardim过程,第3次调用时的输出是

A.2 1

B.2 3

C.6 1

D.6 3


正确答案:C
解析:由题意可知,numa是静态变量,所以3次调用过程该变量值是累加的,而numb是动态变量,每次调用过程,该变量值都被初始化为O,所以3次调用该过程后输出的结果是6和1。

第8题:

( 22 )有如下过程代码:

Sub var_dim()

Static numa As Integer

Dim numb As Integer

numa=numa+2

numb=numb+1

print numa;numb

End Sub

连续 3 次调用 var_dim 过程,第 3 次调用时的输出是

A ) 2 1

B ) 2 3

C ) 6 1

D ) 6 3


正确答案:C

第9题:

已知有下面的过程

Private Sub proc1(a As Integer,b As String,Optional x As Boolean)

……

End Sub

正确调用此过程的语句是( )。

A.Call procl(5)

B.Call proc1 5,”abc”,False

C.proc1(12,”abc”,True)

D.proc1 5, “abc”


正确答案:D