首页
登录
从业资格
已知函数f()、g()的定义如下所示,执行表达式"x=f(5)"的运算时,若函数
已知函数f()、g()的定义如下所示,执行表达式"x=f(5)"的运算时,若函数
最全题库
2022-08-02
44
问题
已知函数f()、g()的定义如下所示,执行表达式"x=f(5)"的运算时,若函数调用g(a)是引用调用(call by reference)方式,则执行"x=f(5)"后x的值为(请作答此空 );若函数调用g(a)是值调用(call by value)方式,则执行"x=f(5)"后x的值为 ()。
A.20B.25C.60D.75
选项
A.20
B.25
C.60
D.75
答案
D
解析
本题考查程序语言基础知识。
若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。
根据题目说明,调用函数f时,实参的值为5,也就是在函数f中,x的初始值为5,接下来先通过"a=x-1"将a的值设置为4,再调用函数g(a)。函数g()执行时,形参y的初始值为4,经过"y=y*y-1"运算后,y的值就修改为15。
在引用调用方式下,g函数中y是f函数中a的引用(可视为形参y与实参a是同一对象),也就是说函数f中a的值被改为15,因此,返回函数f中再执行"a*x"运算后得到75(x=5,a=15)。
在值调用方式下,g函数中y只获得f函数中a的值(形参y与实参a是两个不同的对象),也就是说在函数g中修改y的值与函数f中a的值已经没有关系了,因此,返回函数f再执行"a*x"运算后得到20(x=5,a=4)。
转载请注明原文地址:https://tihaiku.com/congyezige/2416229.html
本试题收录于:
中级 软件评测师题库软件水平考试初中高级分类
中级 软件评测师
软件水平考试初中高级
相关试题推荐
某C语言程序中有表达式x%m(即x被m除取余数),其中,x为浮点型变量,m为整型
在关系代数运算中,若对表1按(),可以得到表2。 A.商品号进行选择运算
采用面向对象程序设计语言C++/Java进行系统实现时,定义类S及其子类D。若类
某C语言程序中,x是一个浮点型变量,m是一个值为正整数的整型常量,表达式x%m(
在面向对象方法中,(请作答此空)定义了超类和子类的概念,子类在原有父类接口的前提
在面向对象方法中,()定义了超类和子类的概念,子类在原有父类接口的前提下,用适
某C语言程序中,x是一个浮点型变量,m是一个值为正整数的整型常量,表达式x%m(
HTML中()用于定义文档的标题。A.font B.title C.ali
某公司有几个地区销售业绩如下表所示,若在B7单元格中输入(请作答此空),则该单元
在关系模型中用()来表达实体集,其结构是由关系模式定义的。A.元组 B.列
随机试题
She______thenewspaperandputitintothehandbag.A、clappedB、wrappedC、folded
在世纪之交的伟大时代,我们的祖国正在走向繁荣富强,海峡两岸人民也将加强交流,共同推进祖国统一大业的早日完成。Attheturnofthecentury
Expertsestimatethatsomewherebetween【B1】______and【B2】______ofeverythingw
Formanypeopletoday,readingisnolongerrelaxation.Tokeepuptheirwor
患者上前牙牙冠变色,问诊一年前有牙外伤史,未曾治疗,其原因最可能是A.牙髓坏死
A.病起发热,或热后突然出现肢体软弱无力 B.四肢痿软,身体困重 C.肢体痿
患儿,男,6岁。诊断为急性肾小球肾炎,目前限制水和盐的摄入,家长询问患儿可以恢复
某证券公司从事上市公司并购重组财务顾问业务,下列关于其应当具备的条件描述正确的有
治疗休息痢除主穴外可配用A.大椎、太冲、十宣 B.脾俞、肾俞 C.内关、中脘
根据《建设工程质量管理条例》的相关规定,下列属于施工单位的质量责任和义务的有(
最新回复
(
0
)