更多“设PROC是带有x,y两个参数的SUB过程,试指出在下列的过程调用中哪些写法是错误的:()A、CALL MYPROC X,YB、CALL MYPROC(X,Y)C、MYPROC  X,YD、MYPROC(X,Y)”相关问题
  • 第1题:

    要想在过程Proc调用后返回形参x和y的变化结果,下列定义语句中正确的是______。

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

    B.Sub Proc(By Val x as Integer, y as Integer)

    C.Sub Proc(x as Integer, By Val y as Integer)

    D.Sub Proc(By Val x as Integer, By Val y as Integer)


    正确答案:A
    解析:过程定义时,如果形式参数被声明为传值(ByVal项),则过程调用只是相应位置实参的值“单向”传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化均不会反馈、影响实参的值。由于这个过程中数据的传递只是单向性,故称为“传值调用”的“单向”作用形式。反之,如果形式参数被声明为传址(ByRef项),则过程调用是将相应位置实参的地址传送给形参处理,而被调用过程内部对形参的任何操作引起的形参值的变化又会反向影响实参的值。在这个过程中,数据的传递具有双向性,故称为“传址调用”的“双向”作用形式。在过程定义时,如果未做参数说明,则默认为传址调用。本题要在过程Proc调用后返回形参x和y的变化结果,所以本题的参数x和y的说明方式都需要采用传址(ByRef项),所有B、C、D选项不符合要求,由于未做参数说明,则默认为传址调用,则A选项正确。

  • 第2题:

    单击按钮时,以下程序运行后的输出结果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=x+y End Sub Private Sub Command1_Click() Dim x As Integer,y As Integer,Z As Integer x=1:y=2:z=3 Call proc1(x,x,z) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

    A.6 6 12 `

    B.9 5 10 6101051010

    C.9 6 12

    D.9 10 10 910155410


    正确答案:A
    解析:从整体上看,可得主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参x也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值变为6。执行x=x+y后,形参z值应为12,当然这次调用后,程序代码输出的数值为6,6,12;第二次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值变为10,相应的实参y的值变为10,而形参y和x的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

  • 第3题:

    设X=”123”,Y=”1234”,则下列表达式中值为.T.的是( )。

    A. x$Y

    B. AT(X,Y)=0

    C. X==Y

    D. X:Y


    正确答案:A
    关系表达式“<字符型表达式1>$<字符型表达式2>”含义为子串包含测试,如果左字符串是右字符串的一个子串,则结果为逻辑真(.T.),否则为逻辑假(. F.)。在用双等号运算符(==)比较两个字符串时,只有当两个字符串完全相同,运算结果才会是逻辑真,否则为逻辑假。在用单等号运算符(=)比较两个字符串时,运算结果与SET EXACT ONlOFF的设置有关。此外;AT函数的函数值为数值型。

  • 第4题:

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

  • 第5题:

    设X="ABC",Y="ABCD",则下列表达式中值为.T.的是______。

    A.X=Y

    B.X==Y

    C.X$Y

    D.AT(X,Y)=0


    正确答案:C

  • 第6题:

    设有如下过程:

    Sub ff(x,y,z,)

    x=y+z

    End Sub

    以下所有参数的虚实结合都是传址方式的调用语句是( )。

    A.Call ff(5,7,z)

    B.Call ff(x,y,z)

    C.Call ff(3+x,5+y,z)

    D.Call ff(x+y,x-y,z)


    正确答案:B

  • 第7题:

    设MYPROC是带有x,y两个参数的SUB过程,试指出在下列的过程调用中哪些写法是错误的:()

    ACALL  MYPROC X , Y

    BCALL  MYPROC(X,Y)

    CMYPROC  X, Y

    DMYPROC(X,Y)


    A

  • 第8题:

    设MYPROC是带有x,y两个参数的SUB过程,试指出在下列的过程调用中哪些写法是错误的:()

    • A、CALL  MYPROC X , Y
    • B、CALL  MYPROC(X,Y)
    • C、MYPROC  X, Y
    • D、MYPROC(X,Y)

    正确答案:A

  • 第9题:

    命令$echo x‘*‘y的执行结果是()

    • A、x*y
    • B、x‘*‘y
    • C、x‘*y
    • D、‗x*y‘

    正确答案:A

  • 第10题:

    已知函数定义Functionf(x1%,x2%)as integer,则下列调用语句正确的是()

    • A、a=f(x,y)
    • B、call f(x,y)
    • C、f(x,y)
    • D、fxy

    正确答案:A

  • 第11题:

    下列选项中,能正确地将x和y两个变量中的数据进行交换的表达式是()。

    • A、x=x+y y=y+x x=x+y
    • B、x=x+y y=x-y x=x-y
    • C、x=x+y y=y-x x=x-y
    • D、x=x-y y=x-y x=y-x

    正确答案:B

  • 第12题:

    单选题
    设PROC是带有x,y两个参数的SUB过程,试指出在下列的过程调用中哪些写法是错误的:()
    A

    CALL MYPROC X,Y

    B

    CALL MYPROC(X,Y)

    C

    MYPROC  X,Y

    D

    MYPROC(X,Y)


    正确答案: B
    解析: 暂无解析

  • 第13题:

    设myproc是带有x、y两个参数的Sub过程,调用该过程可用Callmyprocx,y或myprocx、y。()

    此题为判断题(对,错)。


    正确答案:正确

  • 第14题:

    有如下过程,将两次调用过程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


    正确答案:乘积:10 没有提供可选参数
    乘积:10 ,没有提供可选参数 解析:本题中出现了可选参数,注意函数IsMissing()的使用。空[9]处的调用语句的结果是显示“乘积= 10”空[10]处调用的结果是显示“没有提供可选参数”。显然,第二次调用中,由于第二个可选参数默认,使 IsMissing()函数的值为True,才使程序流程进入Then子句的分支。
    在没有指定可选参数的默认值时,可选参数的默认值被默认为变体类型的Empty值。当然,用户也可以提供可选参数的默认值,指定方式是在用Optional声明的形式参数后面用“=”号赋默认值。指定默认值后,即使没有提供可选参数,函数IsMissing()的值均为False,因为程序把指定的默认值默认为可选参数的值,因而没有丢失。将上例稍加修改,在可选参数y后为其指定默认值1。
    Private Sub proc(x As Integer,Optional y=1)
    空[10]处调用的结果变为显示“乘积=2”。显然,第二次调用中,虽然第二个可选参数默认,但将默认值1作为形式参数y的初值。从If语句分支的进入情况可以看出,该次调用中IsMissing()函数的值为False,才使程序流程进入Else子句的分支。

  • 第15题:

    设有下列过程:

    Sub ff(x,y,z)

    x=y+z

    End Sub

    下列选项中所有参数的虚实结合都是传址方式调用的是( )。

    A.Call ff(5,7,z)

    B.Call ff(x,y,z)

    C.Call ff(3+x,5+y,z)

    D.Call ff(x+y,x-y,z)


    正确答案:B
    解析:参数可以是常量、变量、表达式、数组等。如果是变量则可能是传值方式也可能是传地址方式,默认为传地址方式,如果用ByVal修饰则说明是传值方式,而数组是传地址方式,常量、表达式则是传值方式。

  • 第16题:

    设有如下过程; Sub ff(x,y,z) x=y+Z End Sub 下列选项中所有参数的虚实结合都是传址方式调用的是( )。

    A.Call ff(5,7,2)

    B.Call ff(x,y,z)

    C.Call ff(3+x,5+y,z)

    D.Call ff(x+y,x-y,z)


    正确答案:B
    解析:参数可以是常量、变量、表达式、数组等。如果是变量则可能是传值方式也可能是传地址方式,默认为传地址方式,如果用ByVal修饰则说明是传值方式,而数组是传地址方式,常量,表达式则是传值方式。

  • 第17题:

    单击按钮时,以下列程序运行后的输出结果是 Private Sub proc1(x As Integer,y As Integer,z As Integer) x=3*z y=2*z z=X+y End Sub Private Sub Command1_Click( ) Dim x As Integer,y As Integer,z As Integer x=1:y=2:z=3 Call proc1(x,x,2) Print x;x;z Call proc1(x,y,y) Print x;y;y End Sub

    A.6 6 12 6 6 10

    B.9 5 10 5 10 10

    C.9 6 12 9 10 15

    D.9 5 10 5 4 10


    正确答案:A
    解析:从整体上看,主调过程将两次调用过程Proc1后,实参的值将随形参变化而变化,现在分析一下这两次调用实参和形参是怎么变化的。第一次调用被调过程proc1,主调过程把实参x,x,z的地址分别传给形参x,y,z,此时形参x,y,z值分别为1,1,3,执行语句x=3*z后,形参x值变为9,此时相对应的实参,也变为9,执行语句y=2*z后,形参y值变为6,则相对应的实参x值为6。执行z=x+y后,形参。值应为12,当然这次调用后,程序代码输出的数值为6,6,12。第二次调用被调过程proc1,主调过程把实参x,x,x的地址分别传给形参x,y,z。我们应注意一下,此时实参x的值为6而不是1,所以此时形参x,y,z值分别为6,2和2,执行语句x=3*z后,形参x值为6,相对实参x值也相应的变为6。执行语句y=2*z后,形参y值变为4,相应的实参y值也变为4,执行z=x+y后,形参z值就为10,相应的实参Y的值变为10,而形参y和。的地址相同,最后它们值都应为10,所以此次调用后,程序代码将输出的数值为6,10和10。

  • 第18题:

    设随机变量X,Y相互独立,且X~N,Y~N,则与Z=Y-X同分布的随机变量是().

    A.X-Y
    B.X+Y
    C.X-2Y
    D.Y-2X

    答案:B
    解析:
    Z=Y-X~N(1,1),因为X-Y~N(-1,1),X+Y~N(1,1).X-2Y~N,Y-2X~N,所以选(B).

  • 第19题:

    设PROC是带有x,y两个参数的SUB过程,试指出在下列的过程调用中哪些写法是错误的:()

    ACALL MYPROC X,Y

    BCALL MYPROC(X,Y)

    CMYPROC  X,Y

    DMYPROC(X,Y)


    B

  • 第20题:

    设X=″ABC″,Y=″ABCD″,则下列表达式中值为.T.的是( ).

    • A、X==Y
    • B、AT(X,Y)=0
    • C、X=Y
    • D、X$Y

    正确答案:D

  • 第21题:

    设X="ABC",Y="ABCD",则下列表达式中值为.T.的是()

    • A、X=Y
    • B、X==Y
    • C、X$Y
    • D、AT(X,Y)=0

    正确答案:C

  • 第22题:

    命令$echox‘*‘y的执行结果是()。

    • A、x*y
    • B、x‘*‘y
    • C、x‘*y
    • D、‗x*y‘

    正确答案:A

  • 第23题:

    单选题
    设MYPROC是带有x,y两个参数的SUB过程,试指出在下列的过程调用中哪些写法是错误的:()
    A

    CALL  MYPROC X , Y

    B

    CALL  MYPROC(X,Y)

    C

    MYPROC  X, Y

    D

    MYPROC(X,Y)


    正确答案: A
    解析: 暂无解析