传值、传引用调用函数
形参:函数定义时参数表中的参数称为形式参数,简称形参。
实参:函数调用时参数表中的参数称为实际参数,简称实参。
值传递:fun(int x, int y)函数采用值传递的方式,传入的实参实际上是a和b的副本而非其本身,所以对副本的改变并不会反应到a和b本身上。
引用传递:fun(int x,int y)传入的实参实际上是a和b的引用,对引用的改变会直接反应到a和b本身上。
例题:
(2011年下半年软件设计师上午49、50题)函数t()、f()的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数t中以传值调用(call by value)方式调用函数f时,输出为(49)在函数f中以引用调用(callby reference)方式调用函数f时,输出为(50)。
(49)A.12 ==B.16== C.20 D.24
(50)A.12 B.16 C.20 ==D.24==
(2015年下半年软件设计师上午50题)函数t()、f()的定义如下所示,若调用函数t()时传递给x的值为5,并且调用函数F()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t的返回值为()。
==A.33== B.22 C.11 D.负数
(2016年上半年软件设计师上午50题)函数main()、f()的定义如下所示,调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,main函数中“print(x)”执行后输出的值为()。
A.1 B.6 C.11 ==D.12==
(2017年上半年软件设计师上午49题)函数 main()、f()的定义如下所示,调用函数们 f()时,第一个参数采用传值 (call by value) 方式,第二个参数采用传引用 (call by reference) 方式, main() 函数中 “print(x)” 执行后输出的值为()。
A.11 ==B.40== C.45 D.70
(2017年下半年软件设计师上午50题)函数main() 、f()的定义如下所示。调用函数f()时,第一个参数采用传值 (call by value)方式,第二个参数采用传引用(call by referen)方式,则函数main()执行后输出的值为()。
A.10 B.19 C.20 ==D.29==
(2018年下半年软件设计师上午50题)函数f()和g()的定义如下图所示。执行函数f()时若采用引用(call by reference)方式调用函数g(a),则函数f的返回值为()。
A.14 B.18 C.24 ==D.28==
(2019年上半年软件设计师上午50题)函数f()、g()的定义如下,执行表达式”y = f(2)”的运算时,函数调用g(la)分别采用引用调用(call by reference)方式和值调用(call by value)方式,则该表达式求值结束后y的值分别为()。
A.9、 6 ==B.20、6== C.20、9 D.30、9
(2020年下半年软件设计师上午48题)函数foo()、hoo()定义如下,调用函数hoo()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式。设有函数调用foo(5),那么”print(x)”执行后输出 的值为()。
==A.24== B.25 C.30 D.36