首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
2009-02-15
53
问题
有以下程序:
#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数列中任意项值的简化程序(主函数中的调用改成flb(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://www.kaotiyun.com/show/dOkp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果()。
下列给定程序中函数fun的功能是:统计substr所指的字符串在str所指的字符串中出现的次数。例如,若字符串为aaasIkaaas,了字符串为as,则应输出2。请改正程序中的错误,使它能得出正确的结果。注意:不要改动mai
下列给定程序中,函数fun的功能是:计箅如下公式直到并且把计算结果作为函数值返回。例如,若形参e的值为1e一3,则函数返回值为0.551690。请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部
以下关于return语句的叙述中不正确的是()。
请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。注意:部分源
关于函数返回值,以下叙述正确的是
以下关于return语句的叙述中正确的是()。
已知:intc[3][4];,则对数组元素引用正确的是()。
下面描述不属于软件特点的是
对序线性表(23,29,34,55,60,70,78)用二分法查找值为60的元素时,需要比较次数为()。
随机试题
A.国务院药品监督管理部门B.省级药品监督管理部门C.省级卫生行政部门D.地市级药品监督管理部门E.县级以上地方药品监督管理部门审批新药临床试验的是
关于青少年牙周炎的叙述,以下哪项是错误的
关于营养性巨幼细胞性贫血,错误的是
结构中具有莨菪酰基的化合物有
针对李甲的起诉,人民法院应如何?人民法院受理案件后,决定采用简易程序审理本案,则下列说法正确的是:
简述证券发行的概念和主要特征。
下列名言中体现“天下兴亡,匹夫有责”的优良传统的是()
[*]
Theseconddistinguishingcharacteristicofjazzisarhythmicdrivethatwas______called"hot"andlater"swing".
Byandlarge,marriedpeopleappeartohavebetterhealththantheirsinglepeers.However,ifthemarriageends,thathealthye
最新回复
(
0
)