首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
43
问题
有以下程序: #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全国计算机二级
相关试题推荐
已知:intn=10;在下列定义引用的语句中,正确的是()。
若有定义如下:charx[10]="VisualC",y[]="++6.0";则下列选项中对字符串操作错误的是()。
下列关于对列的叙述中正确的是()。
软件工程的理论和技术性研究的内容主要包括软件开发技术和()。
设charstr1[11]="HELLO,",str2[10]=“world”;则执行语句cout<<strlen(strcpy(str1,str2)));后的输出结果是______。
为了使模块尽可能独立,要求模块的内聚程度要尽量高,且各模块间的耦合程度要尽量【】。
对于算法的每一步,指令必须是可执行的。算法的()要求算法在有限步骤之后能够达到预期的目的。
下面程序用于计算矩阵的两条对角线上的元素之和。补充下列语句,实现该功能。#include<iostream.h>voidmain(){inta[3],[3]={9,8,7,6,5,4,3,2,1};ints
在概念设计阶段可用E-R图,其中“矩形框’表示实体,【】表示实体间联系。
下列说法有错误的是______。
随机试题
“大家都支持小李当选书记”为假。这句话的真实意思是:
A/新生儿至5岁B/5~7岁以后C/13岁以后D/15岁以后E/18岁以后全身的骨髓腔内均为红骨髓
下列体表定位标记的叙述,错误的是
A、卵鞘B、贝壳C、内壳D、雌虫干燥体E、背甲桑螵蛸的入药部位是()
导游人员向游客提供的()是旅游接待服务的重要组成部分。
效度系数的实际意义常常以决定系数来表示,如测验的效度是0.80,则测验可以正确预测或解释的效标的方差可占效标总方差的()。
A、 B、 C、 D、 A每行前两个图形叠加,保留所有的线条(火柴),得到第三个图形。
数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名标识的图符不属于数据流图合法图符的是
WhowasthefirsttohavebeenburiedinthePoet’sCornerofWestminsterAbbey?
Probablyforaslongastherehavebeensalesforces,managershavesoughtwaystodeterminewhethertheyareeffectiveornot.
最新回复
(
0
)