更多“在过程定义中有语句:Private Sub GetData(ByVal data As Integer)其中“ByVal”相关问题
  • 第1题:

    若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是( )。

    A.Sub Proc1(n,m)

    B.Sub Proc1(ByVal n,m)

    C.Sub Proc1(n,BYVal m)

    D.Sub Proc1(ByVal n,ByVal m)


    正确答案:A
    解析: 本题考查的是VBA过程调用、参数传递。过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程,数值的传递只有单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为地址(ByRef),则过程调用是将相应位置实参的地址传给形参处理,而被调用过程内部对形参的任何操作引起形参值的变化又会反而影响实参的值。在这个过程中,数值的传递具有双向性,故称为“传址调用”的“双向”作用形式。ByRef是VBA的省略选项。本题中要求在子过程Proc1调用后返回两个变量的结果,因此采用的是“传址调用”,故为Sub Proc1(n,m)。

  • 第2题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub subl(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) z=x*x+y*y End Sub Private Sub Command1_Click() Dim a As Integer a=8 Call subl(1, 2,a) Print a End Sub 程序运行后,单击命令按钮,则窗体下显示的内容是______。

    A.8

    B.2

    C.5

    D.11


    正确答案:A
    解析:因为Subl过程的形参都是传值传送,所以在其内的所有计算结果都不将返回,并不影响对应的实参值,变量a的值并没有改变,仍然是8。

  • 第3题:

    以下过程的定义中,( )是错误的。

    A、Public Sub Sum(x ; y)

    B、Public Sub Sum(ByVal x, ByVal y)

    C、Public Sub Sum(x As Integer,y As Integer)

    D、Public Sub Sum(x%, y%)


    参考答案:A

  • 第4题:

    数组A在子过程或函数中定义为形参,正确的语句是( )。

    A、Private Sub sele(ByVal A( ) As integer)

    B、Private Function sale(A() As Integer) As String

    C、Private Sub sale(A() As Integer) As Integer

    D、Private Sub sale(A(i) As Integer)


    参考答案:C

  • 第5题:

    在过程定义中有语句: Private Sub GetDate(ByVal date As Integer) 其中“ByVal”的含义是______。

    A.传值调用

    B.传址调用

    C.形式参数

    D.实际参数


    正确答案:A
    解析:ByVal表示该参数按值传递,是“单向”调用形式。如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。在这个过程中,数据的传递只有单向性,故称为“传值调用”的“单向”作用形式。

  • 第6题:

    在过程定义中有语句: Private Sub GetData(ByRef f As Integer. 其中"ByRef"的含义是

    A.传值调用

    B.传址调用

    C.形式参数

    D.实际参数


    正确答案:B
    【解析】ByRef是传址调用,是"双向"调用形式。如果形式参数被说明为传址(ByRef项.,则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。在这个过程中,数据的传递具有双向性,故称为"传址调用"的"双向"作用形式。在过程定义时,如果未做参数说明,则默认为传址调用。所以本题答案为B。

  • 第7题:

    要想在过程调用中返回两个结果,下面的过程定义语句合法的是

    A.Sub Submit(ByVal n,ByVal m)

    B.Sub Submit(n,ByVal m)

    C.Sub Submit(n,m)

    D.Sub Submit(ByVal n,m)


    正确答案:C
    解析:题目的意思是在调用过程后,返回两个结果,那么定义此过程时,应设两个参数,且参数传递应用传址方式,也就是引用,而"ByVal"关键字加在形参前面,则表示形参与实参结合方式为传值。所以,4个选项中只有选项C)符合题意。

  • 第8题:

    要想在过程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声明,说明此参数为传址调用:若没有说明传递类型,则默认为传址传递,即形参的结果会传递给实参。

  • 第9题:

    在过程定义中有语句: Private Sub GetData(ByVal data As Integer)其中“ByVal”的含义是( )。【考点5过程调用与参数传递】

    A.传值调用

    B.传址调用

    C.形式参数

    D.实际参数


    正确答案:A
    参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声N,说明此参数为传址调用,此时形参的变化将会返回到实参:若没有说明传递类型,则默认为传址传递。

  • 第10题:

    下面的过程定义语句中合法的是( )。

    A.Sub Procl(ByVal n())

    B.Sub Procl(n)As Integer

    C.Function Procl(Procl)

    D.Function Procl(ByVal n)


    正确答案:D

  • 第11题:

    若要在子过程Proc1调用后返回两个变量的结果,下列过程定义语句中有效的是( )。

    A.Sub Proc1(n,m)

    B.Sub Proc1(ByVal n,m)

    C.Sub Proc1(n,ByVal m)

    D.Sub Proc1(ByVal n,ByVal m)


    正确答案:A
    解析: 本题考查VBA中参数传递的知识。在VBA的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用,此时形参的变化不会返回到实参;若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回到实参;没有说明传递类型,则默认为传址传递。由于本题要求可以返回两个变量的结果,所以应该使用传址调用,不能出现传值调用,也就是不能出现使用ByVal声明的形参。

  • 第12题:

    下面的过程定义语句中不合法的是

    A.Sub Para(ByVal n())

    B.Sub Para(n) As Integer

    C.Function Para(ByVal n)

    D.Function Para(procl)


    正确答案:B
    解析:在VisualBasic中有两类过程,一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用,而第二类过程中,我们现在涉及最多的是子过程。它们的共同点都是完成某种特定功能的一组程序代码;不同的是函数是带有返回值的特殊过程,所以函数过程定义时有返回值的类型说明。

  • 第13题:

    若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是______。

    A.Sub Procl(n, m)

    B.Sub Procl(ByVal n, m)

    C.Sub Procl(n, ByVal m)

    D.Sub Procl(ByVal n, ByVal m)


    正确答案:A
    解析:过程定义时,如果形式参数被说明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传递给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程中,数值的传递只有单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被说明为地址(ByRef),则过程调用是将相应位置实参的地址传给形参处理,而被调用过程内部对形参的任何操作引起形参值的变化又会反而影响实参的值。在这个过程中,数值的传递具有双向性,故称为“传址调用”的“双向”作用形式。ByRef是VBA的缺省选项。本题中要求在子过程Procl调用后返回两个变量的结果,因此采用的是“传址调用”,故为Sub Procl(n, m)。

  • 第14题:

    下列子过程语句中正确的是( )。

    A.Sub fl(By Val()As Integer)

    B.Sub fl(n() As Integer)As Integer

    C.Functionn fl(fl As Integer)As Integer

    D.Function fl(ByVal f As Integer)


    正确答案:D
    解析:Sub过程定义的一般格式如下:
    [Private|Public|Friend][Static] Sub过程名[(参数表)]
    语句块
    [Exit Sub]
    [语句块]
    End Sub
    其中,Private|Public|Friend说明Sub过程的访问权限,如果没有Private|Public|Friend显式指定,则Sub过程按默认(公用的)访问权限定义。
    参数表含有在调用时要传递给该Sub过程的参数的类型和个数,多个变量则用逗号隔开。参数的格式为:[ByVal|ByRef]变量名[()][As数据类型]
    格式中口里的内容表示可选,变量可以是简单变量或者数组。选项A)中参数没有参数名,所以是错误的;Sub过程没有返回值,所以选项B)是错误的。
    Function过程的定义的一般格式如下:
    [Public|Private|Friend][Static]Function过程名[(参数表)][As类型]
    [语句块]
    [过程名=表达式]
    [Exit Function]
    [语句块]
    End Function
    “As类型”是Function过程返回的值的数据类型,如果省略,则默认为Variant。Function函数中参数名不能与函数名相同,因此选项C)错误,选项D)中,省略了返回值类型,是正确的。

  • 第15题:

    设程序中有如下数组定义和过程调用语句: Dim a(10)As Integer … Call D(a) 如下过程定义巾,正确的是( )。

    A.Private Sub p(a As Integer)

    B.Private Sub p(a( )As Integer)

    C.Private Sub p(a(10)As Integer)

    D.Private Sub p(a(n)As Integer)


    正确答案:B
    B。【解析】本题考查的是过程的调用,根据题干在定义中不许定义一个a数组,其中a数组不能定长,所以答案为B。

  • 第16题:

    在过程定义中有语句:Private Sub GetData(ByVal data As Integer),其中“ByVal”的含义是( )。

    A.传值调用

    B.传址调用

    C.形式参数

    D.实际参数


    正确答案:A
    在VBA的过程调用时的参数传递有两种方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明;说明此参数为传值调用,这时形参的变化不会返回给实参:若用ByRef声明,说明此参数为传址调用,此时形参的变化将会返回给实参,如果没有说明传递类型,则默认为传址方式。

  • 第17题:

    单击命令按钮,下列事件过程的执行结果为 Private Sub Command1_Click( ) Dim x As Integer, y As Integer x=40:y=72 Call PtoP(x, y) Print x; y End Sub Public Sub PtoP(Byval n AS Integer, ByVal m Aa Integer) n = n \ 10+2 m = m \ 10+2 End Sub

    A.0 8

    B.40 72

    C.4 50

    D.78 50


    正确答案:B
    解析:此题是函数过程的调用。在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在VisualBasic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下:传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。传值的结合过程是,当调用一个过程时,系统将实参的值复制给形参并断开了联系,被调用过程中的操作是在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程PtoP中有两个形参,两者均为传值方式。主调过程分别把实参x、y传递给PtoP,所以当过程调用结束后,实参x、y的值都没有改变,最后输出的值应为4072。

  • 第18题:

    设程序中有如下数组定义和过程调用语句:

    Dim a(10) as integer

    ……

    Call p(a)

    如下过程定义中,正确的是

    A)Private Sub p(a as integer)

    B)Private Sub p(a() as integer)

    C)Private Sub p(a(10) as integer)

    D)Private Sub p(a(n) as integer)


    正确答案:B
    【答案】:B
    【知识点】:以数组作为参数时形式参数的定义形式
    【解析】:形式参数为数组时,表达示为sub name( array() as integer[string......]),并不需要指明元素个数,但小括号不能省略。故本题选B。

  • 第19题:

    下列子过程语句的说明正确的是( )。

    A.Sub fl(ByVal x() As Integer)

    B.Sub fl(x%())As Integer

    C.Function fl%(fl%)

    D.Function fl%(x As Integer)


    正确答案:D
    解析:选项A)中,形式参数为数组,但数组不能作为值传递方式;选项B)中,Sub过程不能有返回值;选项C)中的参数和函数名相同是不允许的;选项D)中对子过程的定义是正确的。

  • 第20题:

    若要在子过程Procl调用后返回两个变量的结果,下列过程定义语句中有效的是( )。【考点5过程调用与参数传递】

    A.Sub Procl(n,m)

    B.Sub Procl(ByVal n,m)

    C.Sub Procl(n,BYVal m)

    D.Sub Procl(ByVal n,ByVal m)


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

  • 第21题:

    在过程定义中有语句: Private Sub GetData(ByRef fAs Integer)其中,“ByRef’的含义是( )。

    A.传值调用

    B.传址调用

    C.形式调用

    D.实际参数


    正确答案:B
    暂无解析,请参考用户分享笔记

  • 第22题:

    在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub sub1(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer) z=x * x+ y * y End Sub Private Sub Command1_Click() Dim a As Integer a = 8 Call sub1(1, 2,A)Print a End Sub 程序运行后,单击命令按钮,则窗体上显示的内容是

    A.8

    B.2

    C.5

    D.11


    正确答案:A
    解析:因为sub1过程的形参都是传值传送,所以在其内的所有计算结果都将不返回,并不影响对应的实参值,变量a的值并没有改变,仍旧是8。

  • 第23题:

    在窗体上画一个按钮,然后编写如下的事件代码。在按钮上单击,输出为,( )。 Private Sub fun(ByVal x As Integer,ByVal y As Integer,Byval z As Integer) z=x^3*y^3 End Sub Private Sub Command1_Click() Dim m As Integer Call fun(2,3,m) Print m End Sub

    A.216

    B.0

    C.35

    D.程序不能运行


    正确答案:B
    解析:当发生了Command1.的单击事件时,调用fun过程,把常量2、3和变量m按值传给形参x、y和z,在过程fun中把表达式“x^3*y^3”的值赋给z,z的值为316。过程调用返回后,由于m是值传递,所以对z的修改并没有改变它的值,m依旧保留原来的值是0。

  • 第24题:

    以下定义的过程()是按“传值”方式传递参数的。

    • A、Public Sub Sum(x,y)
    • B、Public Sub Sum(ByVal x, ByVal y)
    • C、Public Sub Sum(x  As  Integer,y  As  Integer)
    • D、Public Sub Sum(x%, y%)

    正确答案:B