首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下面程序: #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
25
问题
阅读下面程序:
#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全国计算机二级
相关试题推荐
有以下程序:#includestructS{inta,b;}data[2]={10,100,20,200};main(){structSP=data[1]
有以下程序#includevoidfun(char*c){while(*c){if(*c>=’a’&&*c<=’z’)*c=*c-(’a’-’A’);c++;}}main(){chars[81
关于C语言程序的下列说法中,正确的是()。
若有以下程序main(){inti,j=0;chara[]="Howareyou!";for(i=0;a[i];i++)if(a[i]!=")a[j++]=a[i];a[j]=’\0’;printf("%s\n",
以下关于逻辑运算符两侧运算对象的叙述中正确的是
以下关于结构化程序设计的叙述中正确的是
由关系R1和:R2得到关系R3的操作是
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
面向对象方法中,继承是指()。
下列函数原型声明中错误的是
随机试题
电弧光中有三种对人有害的光线:________、________、强的可见光。
正常阴道分泌物中可见大量
防护区应有保证人员在()s内疏散完毕的通道和出口,疏散通道及出口处,应设置应急照明装置与疏散指示标志。
一辆小汽车标价4000美元,顾客以旧车折价500美元购买,只须付3500美元,这属于()。
下图中的旋律属于复调音乐的哪种形式?()
五根半径不同的钢管从细到粗彼此相切地摆在地面上,上面放一块木板与每根钢管都相切,若最细钢管半径为8厘米,最粗钢管半径为18厘米,则最中间的钢管直径为:
请用不超过150字的篇幅,概括出给定资料所反映的主要问题。用不超过350字的篇幅,提出解决给定资料所反映问题的方案。要有条理地说明,要体现针对性和可操作性。
在近代中国半殖民地半封建社会的各种矛盾中,最主要的矛盾是
如果需要制作一个公司员工的名片,应该使用的报表是()。
Itisnotavoicewerecognizeatonce,AwhereasourownhandwritingissomethingBwhichweCalmostalwaysknow.Webeginthena
最新回复
(
0
)