在下面的主程序中,实参a与形参x以值调用(call by value)的方式传递信息,实参b与形参y以引用调用(call by reference)的方式传递信息,那么,从过程“compute”返回主程序后a和b的值分别为(220)。A.1和4B.5和12C.1和2D.1和12

题目

在下面的主程序中,实参a与形参x以值调用(call by value)的方式传递信息,实参b与形参y以引用调用(call by reference)的方式传递信息,那么,从过程“compute”返回主程序后a和b的值分别为(220)。

A.1和4

B.5和12

C.1和2

D.1和12


相似考题
更多“ 在下面的主程序中,实参a与形参x以值调用(call by value)的方式传递信息,实参b与形参y以引用调用(call by reference)的方式传递信息,那么,从过程“compute”返回主程序后a和b”相关问题
  • 第1题:

    在下面的程序中,若实参a与形参x以引用调用(call by reference)的方式传递信息,则输出结果为(1);若实参a与形参x以值调用(call by value)的方式传递信息,那么输出结果为(2)。

    Main program Procedure addone(x)

    a:=1; a:=x+1;

    addone(a); x:=x+2;

    write(a); return;

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    解析:所有函数的定义都是独立的、平行的。在一个函数定义中不允许定义另外一个函数,但可以对别的函数进行调用或做引用说明;它也可以对自身进行调用,即递归调用。函数原型的形式如下:
      函数 函数名(形参表);
      形参表中的形参名可以省略。函数原型提供了更强的函数检查功能,在编译阶段就能发现函数的返回值的类型以及参数个数和类型是否正确。
      传值调用是指把实形参数的值传递给相应的形式参数,子程序不能通过这种方式传回任何结果。
      引用调用是指把实形参数的地址传递给相应的形式参数,此时子程序对形式参数的一次引用或赋值都是对形式参数的间接访问。
      实参a与形参x以引用调用的方式传递信息,那么,addone(a)则会通过语句“a:= x+1;”和“x:=x+2;”改变a的值。因此,变量a的值变为4。
      实参a与形参x以传值调用的方式传递信息,则a的值保持不变。
      这里需要说明的是,变量a没有进行声明而在“Main program”和“addone”中进行引用,在这里应当视为全局变量。

  • 第2题:

    在下面的程序中,若实参a与形参x以引用调用(call by reference)的方式传递信息,实参b与形参Y以值调用(call by value)的方式传递信息。则a的输出结果为(53),b的输出结果为(54)。

    A.1

    B.3

    C.4

    D.5


    正确答案:D

  • 第3题:

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

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

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

  • 第4题:

    在下面的程序中,若实参a与形参x以引用调用(Call by Reference)的方式传递信息,则输出结果为(51);若实参a与形参x以值调用(Call by Value)的方式传递信息,那么输出结果为(52)。

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    解析:对于引用调用,不但传递实参的值,同时也传递实参的地址,函数执行过程中对形参的修改也反映到实参上,所以a的结果是4。值调用不传递实参的地址,对形参的修改不会反映到实参上,所以(52)题中a的值为2。

  • 第5题:

    在下列程序中,调用f1(x)时,实参a与形参x以引用调用的方式传递信息,其输出结果为(33),调用f2(y)时,实参b与形参y以传值的方式传递信息,其输出结果为(34)。

    (63)

    A.1

    B.2

    C.3

    D.4


    正确答案:D