首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下面程序: #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
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;
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://kaotiyun.com/show/Shjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#includeintfun(char*s){char*p=s;while(*P!=0)p++;return(p-s);}main(){printf("%d\
表示关系式x≤y≤z的C语言表达式的是
下列叙述中正确的是()。
正确的C语言表达式是()。
数据库设计中反映用户对数据要求的模式是
若已建立以下链表结构,指针p、s分别指向如图所示结点则不能将s所指节点插入到链表末尾的语句组是
有以下函数:intttaa(char*s){char*t=S:while(*t++);t--:return(t-s);}以下关于aaa函数功能叙述正确的是()。
在黑盒测试方法中,设计测试用例的主要根据是
设栈的顺序存储空间为S(1:m),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为
在C语言中可以作为无符号整数类实例化值的是()。
随机试题
患者,女,39岁。于2008年9月12日因间断咳痰,喘2年,加重1月,来某医院门诊就医。患病期间先后用氨茶碱、地塞米松、喘定、必嗽平、红霉素、白霉素、氧氟沙星等止咳、平喘、抗炎药物,症状无明显好转,欲改用双效青霉素继续治疗。注射室护士在询问其无青霉素过敏史
辛亥革命后,窃夺革命果实的是()
饲料中哪种营养成分会影响氨丙林的抗球虫活性
人工定额是指在正常施工条件下,为完成单位合格产品(工作任务)所必需消耗的时间,它包括()。
所有软件的核心是( )。
某固定资产折旧年限为20年,采用年数总和法可得该固定资产第3年的年折旧率为(),用双倍余额递减法可得固定资产第3年的年折旧率为()。
在行政性社会工作督导中,督导者可能会扮演下面的哪些角色?()。
31.21×16+3.121×120+312.1×6.2的值是()。
有以下结构体说明、变量定义和赋值语句:struetSTD{charname[10];intage;charsex:}s[5],*ps;ps=&s[0];则以下seanf函数调用语句有错误的是()。
Ayoungster’ssocialdevelopmenthasaprofoundeffectonhisacademicprogress.Kidswhohavetroublegettingalongwiththeir
最新回复
(
0
)