首页
登录
从业资格
已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数
已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数
练习题库
2022-08-02
95
问题
已知函数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
答案
A
解析
本题考查程序语言基础知识。
若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。
根据题目说明,调用函数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),因此第一空应填入的值为75。
在值调用方式下,g函数中y只获得f函数中a的值(形参y与实参a是两个不同的对象),也就是说在函数g中修改y的值与函数f中a的值已经没有关系了,因此,返回函数f再执行“a*x”运算后得到20(x=5,a=4),因此第二空应填入的值为20。
转载请注明原文地址:http://tihaiku.com/congyezige/2427300.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
美国建筑协会(AIA)定义建筑信息模型中数据细致程度(LOD)的概念,分LOD1
Revit布尔运算的方式有?()A.粘贴 B.剪切 C.拆分 D.打断
启用工作集后,第一次保存的文件将被定义为()。A.本地文件 B.副本文件 C
美国建筑师协会(AIA)定义了建筑信息模型中数据细致程度(LOD)的概念,LOD
某护士洗手时,涂擦皂液后,进行了如下的揉擦,请问她漏洗了哪个部位 A.手掌
护士小张为病人进行肌内注射。涂擦皂液后,小张进行了如下的揉擦,请问她漏洗了哪个部
某护士洗手时,涂擦皂液后,进行了如下的揉擦,请问她漏洗了哪个部位 A.手掌
护士小张为病人进行肌内注射。涂擦皂液后,小张进行了如下的揉擦,请问她漏洗了哪个部
某护士洗手时,涂擦皂液后,进行了如下的揉擦,请问她漏洗了哪个部位 A.手掌
护士小张为病人进行肌内注射。涂擦皂液后,小张进行了如下的揉擦,请问她漏洗了哪个部
随机试题
[originaltext]Thankyouallforcomingtomytalkthisevening.It’snicet
WhyIntegrityMattersWhatisIn
[originaltext]M:HiMargaret!(l)Wherewereyouatlunchtime?Iwassavingasea
B
某患者持续高热,腹胀,肝、脾大,伴有表情淡漠等表现,入院后诊断为伤寒。进入恢复期
女,60岁,因溃疡性结肠炎住院。行锁骨下静脉穿刺置管胃肠外营养,置管后半小时患者
我国个人信用数据库的个人信息更新频率为()。A.不定期更新 B.每月更新
女性,咽痛3天后出现洗肉水样尿,伴乏力,无浮肿。 如血尿为肾小球源性血尿,则:
患者,男,56岁。患慢性支气管炎10余年,近日来咳嗽加重,咽痒。咯稀薄白色痰,舌
原发性髙血压的基本病变是 A.细动脉硬化B.细小动脉硬化 C.细动脉纤维素
最新回复
(
0
)