参考答案: C B
详细解析:
传值调用是指把实在参数的值传递给相应的形式参数,子程序不能通过这种方式传回任何结果。引用调用是指把实在参数的地址传递给相应的形式参数,此时子程序对形式参数的一次引用或赋值都是对形式参数的间接访问。
若参数a、y以引用调用的方式传递信息,那么,执行语句a=x+1后,a=3,…调用函数f2,执行语句y=2*y+l后,y=7。因为函数f2执行的是引用传递,变量y和变量a共享一个地址单元,因此a的值也变为7。执行语句return a*x后,函数f1的返回值为2×7=14。
若参数a、y以传值调用的方式传递信息,那么,执行语句a=x+1后,a=3,…调用函数f2,执行语句y=2*y+1后,y=7。因为函数f2执行的是传值调用,变量y的改变不会引起变量a的改变。因此执行语句return a*x后,函数f1的返回值为2×3=6。