已知函数f1()、f2()的定义如下,调用f1时为传值调用,调用f2时为引用调用。设有函数调用t=f1(5),那么调用执行后t的值为( )。

题目
已知函数f1()、f2()的定义如下,调用f1时为传值调用,调用f2时为引用调用。设有函数调用t=f1(5),那么调用执行后t的值为( )。

A.1
B.5
C.6
D.7
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

函数t()、f()的定义如下所示,若调用函数t时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(callbyvalue)方式,第二个参数采用传引用(call by reference)方式,则函数t的返回值为(49)。

A.35

B.24

C.22

D.11


正确答案:B
解析:本题考查函数调用时的参数传递问题。采用传值方式时,是将实际参数的值传递给形式参数,对形式参数值的修改不会影响实际参数。采用引用方式时,是将实际参数的地址传递给形式参数,对形式参数进行修改,等同于是对实际参数进行修改。

第2题:

在下面的程序中,若调用f1(x)时参数传递采用引用方式,调用f2(y)时参数传递采用传值方式,则输出结果为(47);若调用f1(x)和f2(y)时参数传递都采用引用方式,则输出结果为(48)。

A.3

B.6

C.8

D.10


正确答案:C
解析:在高级语言中,使用参数是函数(子程序)之间传递信息的一种手段。最常用的参数调用方法有传值调用和引用调用:使用传值调用时,被调用的函数内部对形参的修改不影响实参的值;使用引用调用时,函数中对形参的访问和修改实际上就是对相应时参所作的访问和修改。因此,若调用n(x)时参数传递采用引用方式,调用f2(y)时宰数传递采用传值方式,则程序运行过程中a的值变化如图1所示:

第3题:

若程序中定义了三个函数f1,f2,f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,()。

A.f3执行结束后返回f2继续执行,f2执行结束后返回f1继续执行

B.f3执行结束后返回f1继续执行,f1执行结束后返回f2继续执行

C.f2执行结束后返回f3继续执行,f3执行结束后返回f1继续执行

D.f2执行结束后返回f1继续执行,f1执行结束后返回f3继续执行


正确答案:A

第4题:

若程序中定义了三个函数f1、f2和f3,并且函数f1执行时会调用f2、函数f2执行时会调用f3,那么正常情况下,()。

A.f3执行结束后返回f2继续执行,f2结束后返回f1继续执行

B.f3执行结束后返回f1继续执行,f1结束后返回f2继续执行

C.f2执行结束后返回f3继续执行,f3结束后返回f1继续执行

D.f2执行结束后返回f1继续执行,f1结束后返回f3继续执行


正确答案:A

第5题:

●函数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

第6题:

函数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


正确答案:D

第7题:

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

A.7

B.5

C.4

D.3


正确答案:D

第8题:

● 若程序中定义了三个函数f1、f2和f3,并且函数f1调用f2、f2调用f3,那么程序运行时不出现异常的情况下,函数的返回方式为(32) 。

(32)

A. 先从f3返回f2,然后从f2返回f1

B. 先从f3返回f1,然后从f1返回f2

C. 先从f2返回f3,然后从f3返回f1

D. 先从f2返回f1,然后从f1返回f3


正确答案:A

第9题:

● 函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t()的返回值为(33) 。


正确答案:B

第10题:

已知函数f1()、f2()的定义如下图所示,如果调用函数f1时传递给形参x的值是2,若a和y以引用调用(call by reference)的方式传递信息,则函数f1的返回值为(47);若a和y以值调用(call by value)的方式传递信息,则函数f1的返回值为(48)。

A.6

B.10

C.14

D.随机数


正确答案:C
解析:引用调用和值调用是进行过程(函数)调用时实在参数与形式参数间传递信息的两种基本方式。在过程(或函数)首部声明的参数称为形式参数,简称形参;过程(或函数)调用时的参数称为实在参数,简称实参。调用语句实现了对过程(或函数)语句的执行,调用时首先要进行实参与形参间的参数传递。简单地说,以值调用方式进行参数传递时,需要先计算出实参的值并将其传递给对应的形参,然后执行所调用的过程(或函数),在过程(或函数)执行时对形参的修改不影响实参的值。而引用调用时首先计算实际参数的地址,并将此地址传递给被调用的过程,然后执行被调用的过程(或函数)。因此在被调用的过程(函数)中,既得到了实参的值又得到了实参的地址。引用调用方式下,被调用过程(函数)执行时针对形式参数的修改将反映在对应的实在参数变量中。在引用调用方式下,题目中过程f2的执行语句对y的修改结果就是a的值,即a的值在f2中被改为7(即y=2*3+1),在f1中没有修改x的值,所以f1的返回值为14(7*2)。在值调用方式下,在f2中修改y的值不会影响实参a,所以f1的返回值为6(3*2)。

更多相关问题