niusouti.com
更多“在引用调用方式下进行函数调用,是将( )”相关问题
  • 第1题:

    在下面的程序代码中,a是全局变量。若以引用调用(call by reference)方式调用函数 f,则输出结果为(1);若以值调用(call by value)方式调用函数f,输出结果为(2)。

    A.10

    B.40

    C.36

    D.72


    正确答案:D

  • 第2题:

    在引用调用方式下进行函数调用,是将(9)。

    A.实参的值传递给形参

    B.实参的地址传递给形参

    C.形参的值传递给实参

    D.形参的地址传递给实参


    正确答案:B

  • 第3题:

    引用调用方式下进行函数调用,是将( )。

    A.实参的值传递给形参B.实参的地址传递给形参C.形参的值传递给实参D.形参的地址传递给实参


    正确答案:B

  • 第4题:

    在引用调用方式下进行函数调用,是将( )。

    A.实参的值传递给形参B.实参的地址传递给形参C.形参的值传递给实参D.形参的地址递给实参


    正确答案:B

  • 第5题:

    在引用调用方式下进行函数调用是将 ( ) 。

    A.实参的值传递给形参
    B.实参的地址传递给形参
    C.形参的值传递给实参
    D.形参的地址传递给实参

    答案:B
    解析:
    引用调用是把实参(如'int a)的地址(&a)赋给形参(指针变量,比如*b,这时b=&a,即b指向变量a),如果*b(也即a对应的内存空间)发生变化,也就是变量a的值发生了变化。

  • 第6题:

    调用函数时若是引用调用方式,则是将(请作答此空)。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为( )。

    A.实参的值传给形参
    B.形参的值传给实参
    C.实参的地址传给形参
    D.形参的地址传给实参

    答案:C
    解析:
    第32题。值调用:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。引用调用:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。第33题。结果为b*x=(2*4+1)*5=45

  • 第7题:

    在函数调用中,值调用方式将( ),下面所定义的函数foo为值调用方式,函数g的第一个参数采用值调用,第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为(请作答此空)。

    A.8
    B.7
    C.5
    D.3

    答案:B
    解析:
    判断一个字符串能否被指定的自动机识别,就是在该自动机的状态图中能否找到从开始状态到达终止状态的路径,且路径上的字符串等于需要识别的字符串。

  • 第8题:

    在函数调用中,引用调用方式将(请作答此空)。下面所定义的函数foo为值调用方式,函数g( )的第一个参数采用值调用、第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为( )。

    A.实参的值传给形参
    B.形参的值传给实参
    C.实参的地址传给形参
    D.形参的地址传给实参

    答案:C
    解析:
    传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。在本题中,首先在foo()函数中,传入给x的值为2,然后b的值为1,接下来调用g()函数,x的值为2,所以g()函数b的值为2(值传递),b的值为1,所以g()函数x的值为1(地址传递,故x的值变化,会引起foo()函数中b值的变化)。经过g()函数的一系列语句,b=3,x=5。则foo()中b值变成5,最终foo()函数的返回值为5+2=7。

  • 第9题:

    调用函数时若是引用调用方式,则是将(请作答此空)。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,函数f1最终获得的值为( )。

    A.实参的值传给形参
    B.形参的值传给实参
    C.实参的地址传给形参
    D.形参的地址传给实参

    答案:C
    解析:
    传址调用(引用调用) : 将实参地址给形参
    由于f1采用传值调用, X值不发生变化X=5 ; f2采用传址调用,会对B的值产生影响,当执行b=x-1后b=4 ;当执行f2中2*x+1后, b=9 ;所以最后b*x= 5*9=45

  • 第10题:

    已知函数F( )、G( )的定义如下所示,执行表达式”x=F(3)”的运算时,若函数调用G(a)是引用调用方式,则执行”x=F(3)”后x的值为( );若函数调用G(a)是值调用方式,则执行”x=F(3)”后x的值为(请作答此空)。

    A.6
    B.7
    C.8
    D.9

    答案:A
    解析:
    传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。本题的第一问:采用的是引用调用方式执行,x=3,a=2,G(a)中y=y*y-1=3,即a这时的值被修改为3,最后a*x=3*3=9 ;本题的第二问:采用的是传值调用方式执行,x=3,a=2;G(a)中y=y*y-1=3,即a这时的值仍然为2,最后a*x=2*3=6;

  • 第11题:

    this()表示()

    • A、引用当前对象
    • B、调用当前对象
    • C、调用当前对象的方法
    • D、调用当前对象的构造函数

    正确答案:D

  • 第12题:

    在函数调用过程中,什么是赋值传递,什么是引用传递?


    正确答案:赋值传递是将实参赋值给形参变量,然后执行被调函数体。赋值传递有两种形式,
    一是直接传常量或变量值,
    二是传变量的地址。
    引用传递是将形参引用给形参,需要形参与实参指的是同一变量。

  • 第13题:

    ●函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数t中以传值调用(call by value)方式调用函数f时,输出为(49);在函数t中以引用调用( call by reference)方式调用函数f时,输出为(50)。

    (49)

    A. 12

    B. 16

    C. 20

    D. 24

    (50)

    A. 12

    B. 16

    C. 20

    D. 24


    正确答案:B,D

  • 第14题:

    多态性指的是

    A.以任何方式调用一个虚函数

    B.以任何方式调用一个纯虚函数

    C.借助于指向对象的基类指针或引用调用一个虚函数

    D.借助于指向对象的基类指针或引用调用一个纯虚函数


    正确答案:C

  • 第15题:

    已知C++中一个函数的原型为void f(int &x, int &y),调用这个函数时,要把实在参数传递给形式参数,应该采用的参数传递方式是(30)。

    A.传值调用

    B.引用调用

    C.复制恢复

    D.传名调用


    正确答案:B
    解析:C通过传值方式将实参传递给形参。传值调用是指把实在参数的值传递给相应的形式参数,子程序不能通过这种方式传回任何结果。C++中增加引用调用这种参数传递方式,引用调用是指把实在参数的地址传递给相应的形式参数,此时子程序对形式参数的一次引用或赋值都是对形式参数的间接访问,实际上是对实在参数的一次引用或赋值。如果C++中一个函数的原型为voidf(int&x,int&y),表示调用这个函数时,应该采用引用调用这种参数传递方式。在FORTRAN类的语言中有复制恢复这种参数传递方式,在ALGOL语言中有传名调用这种参数传递方式。

  • 第16题:

    已知函数f(). g()的定义如下所示,执行表达式“x= f(5)”的运算时,若函数调用g(a)是引用调用(call by reference)方式,则执行“x=f(5)”后x的值为(33):若函数调用g(a)是值调用(call by value)方式,则执行“x= f(5)”后x的值为(34)。

    A.20

    B.25

    C.60

    D.75


    正确答案:D
    本题考查程序语言基础知识。若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。根据题目说明,调用函数f时,实参的值为5,也就是在函数f中,x的初始值为5,接下来先通过“a=x-l”将a的值设置为4,再调用函数g(a)。函数g()执行时,形参y的初始值为4,经过“y=y*y-l”运算后,y的值就修改为15。在引用调用方式下,g函数中y是f函数中a的引用(可视为形参y与实参a是同一对象),也就是说函数f中a的值被改为15,因此,返回函数f中再执行“a+x”运算后得到75(x-5,a-15),因此空(33)应填入的值为75。在值调用方式下,g函数中y只获得f函数中a的值(形参y与实参a是两个不同的对象),也就是说在函数g中修改y的值与函数f中a的值已经没有关系了,因此,返回函数f再执行“a*x”运算后得到20(X=5,a=4),因此空(34)应填入的值为20。

  • 第17题:

    在函数调用中,值调用方式将(请作答此空),下面所定义的函数foo为值调用方式,函数g的第一个参数采用值调用,第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为()。

    A.实参的值传给形参。
    B.形参的值传给实参。
    C.实参的地址传给形参。
    D.形参的地址传给实参。

    答案:A
    解析:
    传值调用:形参取的是实参的值,形参的改变不会导致实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。函数g中的b最终值为3,X为5,因此返回的结果是7。

  • 第18题:

    调用函数时若是引用调用方式,则是将( )。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为(请作答此空)。

    A.5
    B.20
    C.36
    D.45

    答案:D
    解析:
    第32题。值调用:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。引用调用:也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。第33题。结果为b*x=(2*4+1)*5=45

  • 第19题:

    在函数调用中,引用调用方式将( )。下面所定义的函数foo为值调用方式,函数g( )的第一个参数采用值调用、第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为(请作答此空)。


    A.5
    B.6
    C.7
    D.8

    答案:C
    解析:
    传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。在本题中,首先在foo()函数中,传入给x的值为2,然后b的值为1,接下来调用g()函数,x的值为2,所以g()函数b的值为2(值传递),b的值为1,所以g()函数x的值为1(地址传递,故x的值变化,会引起foo()函数中b值的变化)。经过g()函数的一系列语句,b=3,x=5。则foo()中b值变成5,最终foo()函数的返回值为5+2=7。

  • 第20题:

    调用函数时若是引用调用方式,则是将( )。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,函数f1最终获得的值为(请作答此空)。

    A.5
    B.20
    C.36
    D.45

    答案:D
    解析:
    传址调用(引用调用) : 将实参地址给形参
    由于f1采用传值调用, X值不发生变化X=5 ; f2采用传址调用,会对B的值产生影响,当执行b=x-1后b=4 ;当执行f2中2*x+1后, b=9 ;所以最后b*x= 5*9=45

  • 第21题:

    在引用调用方式下进行函数调用是将(21)。

    A.实参的值传递给形参
    B.实参的地址传递给形参
    C.形参的值传递给实参
    D.形参的地址传递给实参

    答案:B
    解析:
    引用调用是把实参(如‘int a)的地址(&a)赋给形参(指针变量,比如*b,这时b=&a,即b指向变量a),如果*b(也即a对应的内存空间)发生变化,也就是变量a的值发生了变化。

  • 第22题:

    函数f、g的定义如下,执行表达式y=f(2)的运算时,函数调用g(la)分别采用引用调用方式和调用方式和值调用方式,则该表达式求值结束后,y的值分别为( )


    A.9.6
    B.20.6
    C.20.9
    D.30.9

    答案:B
    解析:
    y=f(2) x=2; la=x+1=3;引用调用g(int x)x=3; 3*3+1=10;由于是引用调用,结果会影响la的值,la=10; 10*2=20Y=f(2) x=2; la=x+1=3;传值调用g(int x)x=3; 3*3+1=10;由于是传值调用,结果不影响la的值, la=3; 3*2=6

  • 第23题:

    在一个函数内部调用另一个函数的调用方式称为()。在一个函数内部直接或间接调用该函数成为函数()的调用方式。


    正确答案:嵌套调用;递归

  • 第24题:

    程序设计中,调用过程的参数传递有两种:()

    • A、值调用和引用调用
    • B、参数调用和无参调用
    • C、过程调用和函数调用
    • D、常量调用和变量调用

    正确答案:A