首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下面程序: #include<iostream> using namespace std; long fib(int n) { if (n>2) return(fib(n-1)+fib(n-2));
有以下面程序: #include<iostream> using namespace std; long fib(int n) { if (n>2) return(fib(n-1)+fib(n-2));
admin
2009-02-15
33
问题
有以下面程序:
#include<iostream>
using namespace std;
long fib(int n)
{
if (n>2)
return(fib(n-1)+fib(n-2));
else
return 2;
}
int main()
{
cout<<fib(3)<<end1;
rcturn 0;
}
则该程序的输出结果应该是【 】。
选项
答案
4
解析
本题主要考查C++中递归函数。递归函数即自调用函数,在函数体内部直接或间接的自己调用自己,即函数的嵌套调用是函数本身。递归调用分为直接递归调用和间接递归调用两种形式。本题程序为求解典型递归数列Fibonacci数列中任意项值的简化程序(主函数中的调用改成fib(n)即变成求解任意项值)。主函数通过调用fib()函数,fib()函数内部再通过一个分支结构判断是否进行递归调用或退出递归调用,调用方式为直接递归调用。主函数通过实参将值3赋给fib()函数的形参n,由于n=3满足if 分支语句条件,因此函数进行递归调用,即计算fib(2)和fib(1)的值;将2赋给fib()函数的形参后,由于n=2不满足if分之语句条件,因此程序退出递归,返回2;将1赋给fib()函数的形参后,函数同样返回2。因此函数递归调用的最终结果为返回2+2=4,即fib(3)=4,程序最后输出值为4。
转载请注明原文地址:https://jikaoti.com/ti/9Fd0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下关于return语句的叙述中正确的是()。
下面函数的功能是()。sss(s,t)char*s,*t;{while(*s);while(*t)*(s++)=*(t++);retums;}
下面不属于软件设计阶段任务的是
若有说明inta[3][4];则a数组元素的非法引用是()。
有两个关系R,S如下,由关系R和S通过运算得到关系T,则所使用的操作为
设有如下关系表:则下列操作正确的是()。
在下列选项中,没有构成死循环的程序段是()。
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。
以下选项中不能作为C语言合法常量的是()。
下列排序法中,最坏情况下时间复杂度最小的是
随机试题
ItwasinSanFranciscothatImetBob.
下列属于长骨的是
某患者女性,38岁,检测血钙升高,全身骨密度降低,多发性肾结石。初步诊断考虑为
某建设工程施工招标,甲公司中招后将其转包给不具有相应资质等级的乙公司,乙施工过程不符合规定的质量标准,给建设单位造成损失。关于向建设单位承担赔偿责任的说法,正确的是()。
以下关于防火卷帘的消防联动控制设计描述正确的是()。
财政部门零余额账户每日发生的支付,于当日营业终了前与国库单一账户清算,并做到()。
下面有关显示器主要性能参数的叙述中,错误的是( )。
Understandinghownaturereactstoclimate(气候)changewillrequirecheckingkeylifecycleevents--flowering,theappearanceof
MynameisMohsen.IamfromCario,butthreeweeksagoIsaidgoodbyetomyfamilyandgotonaplanetotheU.S.Now1amstud
【B1】【B20】
最新回复
(
0
)