首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include 〈iestream〉 using namespace std; int f(int n) { if(n==1) return 1; else
有以下程序: #include 〈iestream〉 using namespace std; int f(int n) { if(n==1) return 1; else
admin
2013-05-30
30
问题
有以下程序: #include 〈iestream〉 using namespace std; int f(int n) { if(n==1) return 1; else return f(n-1)+1; } int main() { int i,j=0; for(i=1;i<3;i++) j+=f(i); cout<
选项
A、4
B、3
C、2
D、1
答案
2
解析
本题考查的知识点是递归函数的调用。根据程序代码逐步分析:
①f(n)用来计算n+(n-1)…+1,在f(n)定义内部又调用f(n)自身,这就是递归函数。
②f(n)=f(n-1)+1,因此必须先计算出f(n-1),而f(n-1)=f(n-2)+1,又必须计算f(n-2)。
由此类推,直到n=1,返回后可以此计算出f(n),f(n-1),…f(1)。
③第1次调用f(n)时,形参n接收的值为1,进入函数体后,由于满足“n==1”,执行return语句得到1。第2次调用f(n)时,n的值为2,不满足条件“n==1”,执行 return f(n-1)+1,在这条语句中又调用f(n-1)即f(1),从而得到f(2)的返回值为2。所以j=1+2=3。
转载请注明原文地址:https://kaotiyun.com/show/VLNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有定义:intk,*q;,则下列各选项中赋值表达式正确的是()。
以下程序的输出结果是【】。#include<iostrean.h>voidmain(){inti,a[5];i=0;while(i<5){a[i]=8*(i-2+4
下列关于二定义性的说法错误的是______。
以下程序输出结果是______。#include<iostream.h>voidfun(intx,inty,intz){z=x+y;}voidmain(){inta=10;fun(2
在数据库设计中,数据流图表达的是______。
下列关于继承的描述中,错误的是()。
不合法的main函数命令行参数表示形式是()。
cout、cerr和clog是()的对象,cout处理标准输出,cerr和clog都处理标准出错信息。
利用继承能够实现【】。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。
下列关于信息和数据的叙述不正确的是()。
随机试题
我国《婚姻法》第32条规定:“如感情确已破裂,调解无效,应准予离婚。”并例示性规定了判断夫妻感情确已破裂的理由,根据这一规定,下列几则离婚案中所涉问题,足以判断为“感情确已破裂”的是()
残余估价法
A.刘完素B.张从政C.张元素D.李东垣
在下列各项中,不属于生产工人辅助工资的是()。
公共物品的基本特征有()。
对借款人的限制有()
下列关于固定资产的确认与初始计量的说法中,正确的是()。
Youaregoingtoreadalistofsubheadingsandatext.Choosethemostsuitablesubheadingfromthelist[A]to[G]foreachnu
However,growthinthefabricatedmetalsindustrywasableto_____someofthedeclineintheironandsteelindustry.
Modernliberalopinionissensitivetoproblemsofrestrictionoffreedomandabuseofpower.Indeed,manyholdthatamancanb
最新回复
(
0
)