首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下面程序: #include<iostream> using namespace std; long fib(int n) { if ( n > 2 ) return (fib(n-1)+f
阅读下面程序: #include<iostream> using namespace std; long fib(int n) { if ( n > 2 ) return (fib(n-1)+f
admin
2010-03-29
42
问题
阅读下面程序:
#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;
return 0;
{
则该程序的输出结果应该是【 】。
选项
答案
4
解析
本题主要考察C++中递归函数的调用。递归函数即自调用函数,在函数体内部直接或间接的自己调用自己,即函数的嵌套调用是函数本身。递归调用分为直接递归调用和间接递归调用两种形式。
本题程序为求解典型递归数列Fibonacci中任意项值的简化程序(主函数中的调用改成 fib(n),即变成求解任意项值)。主函数通过调用fib()函数,fib()函数内部再通过一个分支结构判断是否进行递归调用或退出递归调用,调用方式为直接递归调用。
主函数通过实参将值3赋给fib()函数的形参n,由于n‘3满足汀分支语句条件,因此函数进行递归调用,即计算fib(2)和fib(1)的值;将2赋给fib()函数的形参后,
由于n=2不满足if分支语句条件,因此程序退出递归,返回2:将1赋给fib()函数的形参后,函数同样返回2。因此函数递归调用的最终结果为返回2+2=4,即fib(3) =4,程序最后输出值为4。
转载请注明原文地址:https://www.kaotiyun.com/show/Shjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有定义语句:intyear=2009,*p=&year;以下不能使变量year中的值增至2010的语句是
下列关于栈的叙述中,正确的是()。
下面不属于软件设计原则的是
函数rewind(fp)的作用是()。
数据库设计中反映用户对数据要求的模式是
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为
以下选项中有语法错误的是
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。
面向对象方法中,继承是指( )。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
随机试题
胞嘧啶核苷三磷酸(CTP)除了用于核酸合成外,还参与
四君子汤主治证的病机是
企业组织机构调整前管理中出现的主要问题是( )。根据有关部门综合各方面的信息,你认为目前企业应采取什么样的营销策略( )。
根据公司法律制度的规定,下列各项中,可以提议召开股份有限公司临时董事会会议的有()。
最低劳动标准包括()。
有一主机IP地址为192.168.1.3,它属于哪一类网络地址?()
按照我国《教师资格条例》的规定,被撤销教师资格的人,可以再次申请教师资格的期限是()。
根据上图,以下说法错误的是()。
中国共产党第十九届中央委员会第二次全体会议于2018年1月18日至19日在北京召开,会议的主要议程是:
MissCherryisawell-knownsinger.Sheshowed(music)______tendenciesfromherearlyage.
最新回复
(
0
)