函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(call by value)调用g(a),则函数f的返回值为(7);若采用引用(call by reference)方式调用g(a),则函数f的返回值为(8)。A.6B.13C.25D.28

题目

函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(call by value)调用g(a),则函数f的返回值为(7);若采用引用(call by reference)方式调用g(a),则函数f的返回值为(8)。

A.6

B.13

C.25

D.28


相似考题
更多“ 函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(call by value)调用g(a),则函数f的返回值为(7);若采用引用(call by reference)方式调用g(a)”相关问题
  • 第1题:

    函数f()、g()的定义如下所示,调用函数f时传递给形参x的值为5,若采用传值(call by value)方式调用g(a),则函数f的返回值为(1);若采用传引用(call by reference)方式调用g(a),则函数f的返回值为(2)。

    A.14

    B.16

    C.17

    D.22


    正确答案:A

  • 第2题:

    函数f()、g()的定义如下所示,调用函数f()时传递给形参x的值为1。

    若采用传引用(call by reference)的方式调用g(y),则函数f()的返回值为(49);

    若采用传值(call by value)的方式调用g(y),则函数f的返回值为(50)。

    A.3

    B.6

    C.7

    D.8


    正确答案:C

  • 第3题:

    已知函数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;

  • 第4题:

    函数f()、g()的定义如下图所示,调用函数f()时传递给形参a的值为1。若采用传值(call by value)的方式调用g(c),则函数f()的返回值为(29);若采用传引用(call by reference)的方式调用g(c),则函数f()的返回值为(30)。

    A.7

    B.5

    C.4

    D.3


    正确答案:D
    解析:本题考查参数传递的基本知识。引用调用和值调用是进行过程(函数)调用时实际参数与形式参数间传递信息的两种基本方式。在过程(或函数)首部声明的参数称为形式参数,简称形参;过程(或函数)调用时的参数称为实际参数,简称实参。调用语句实现了对过程(或函数)语句的执行,调用时首先要进行实参与形参间的参数传递。简单地说,以值调用方式进行参数传递时,需要先计算出实参的值并将其传递给对应的形参,然后执行所调用的过程(或函数),在过程(或函数)执行时对形参的修改不影响实参的值。而引用调用时首先计算实际参数的地址,并将此地址传递给被调用的过程,然后执行被调用的过程(或函数)。因此在被调用的过程(函数)中,既得到了实参的值又得到了实参的地址。引用调用方式下,被调用过程(函数)执行时针对形式参数的修改将反映在对应的实际参数变量中。调用函数f()时传递给形参a的值为1,因此局部变量c的初始值为2。在传值调用方式下,执行函数g()不会影响实参c,因此函数f()的返回值为3;在引用调用方式下,执行函数g()时,对b的修改等同于对c进行修改,因此在g()中,局部变量x的值为4,参数b的值修改为4,因此函数调用g(c)结束后,c的值为4,函数q)的返回值为5。

  • 第5题:

    函数f和g的定义如下图所示。执行函数f时若采用引用(call by reference)方式调用函数g(a),则函数f的返回值为( )。


    A.14
    B.18
    C.24
    D.28

    答案:D
    解析:
    代入可知m=2*5;x=10-1;return x+m=1919+9=28