首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下面程序: #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
60
问题
阅读下面程序:
#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全国计算机二级
相关试题推荐
有以下程序段charname[20];intnum;scanf("name=%snum=%d",name,&nurn);当执行上述程序段,并从键盘输入:name=Lilinum=1001后,name的值为
以下叙述中错误的是
有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];p
若已建立以下链表结构,指针P、S分别指向如图所示结点则不能将S所指节点插入到链表末尾的语句组是
下列定义数组的语句中错误的是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
有以下程序,其中%u表示按无符号整数输出()。main(){unsignedintx=0xFFFF;/*x的初值为十六进制数*/printf("%u\n",x);}程序运行后的输出结果是(
设有下面的定义:structst{inta;floatb;}d;int*p;要使P指向结构变量d中的a成员,正确的赋值语句是()。
随机试题
把企业实现的净利润同投入的权益资本进行对比,能够确切地说明企业盈利水平的指标是()
五行生克的规律不包括
关于瘙痒症以下叙述不正确的是
患儿,女,6个月,随腹压增高出现腹部包块,诊断为腹股沟斜疝,治疗原则正确的是()
《建设工程安全生产管理条例》规定,建设单位应当在拆除工程施工15日前,将( )资料报送建设工程所在地的县级以上地方人民政府建设行政主管部门或者其他有关部门备案。
焊缝的外观检验主要包括()检查。
下列关于金银首饰消费税的表述中正确的是( )。
[*]
在下列几种排序方法中,要求内存量最大的是
某系统总体结构如下图所示,该系统结构图的最大扇出数是
最新回复
(
0
)