参考答案和解析
正确答案:B
更多“列在子程序名后的括号内的标识符叫作A. 实参B. 形参C. 值参D. 引用参数 ”相关问题
  • 第1题:

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

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

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

  • 第2题:

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

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

    答案:B
    解析:
    函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。
    值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。
    引用传递过程中,被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。

  • 第3题:

    有参函数中,在定义函数时函数名后面括号中的变量名称为(),在主调函数中调用一个函数时,函数名后面括号中的参数称为()。在调用时将()的值传给()。

    A.实参、形参、实参、形参

    B.形参、实参、实参、形参

    C.实参、形参、形参、实参

    D.实参、形参、实参


  • 第4题:

    在函数调用中,引用调用方式将(请作答此空)。下面所定义的函数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。

  • 第5题:

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

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

    答案:B
    解析:
    传值调用分为数据传值调用和地址传值调用, 数据传值调用方式是将实参的数据值传递给形参。实参和形参在栈空间内的地址不相同,改变形参值不影响实参值;地址传值调用方式是将实参的地址值传递给形参,实参和形参在栈空间内共用同一地址,改变形参值就可改变实参值。而引用调用可以起到地址传值调用的作用。