首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
31
问题
有以下程序:
#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://kaotiyun.com/show/dOkp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序#include<stdio.h>main(){FILE*fp;inti,a[6]={1,2,3,4,5,6},k;fp=fopen("data.da
有以下程序:#includemain(){inti,j,m=1;for(i=1;i0;j一一){if(i*j>3)break;m*=i*j;}}prinff
以下选项中正确的语句组是()。
有以下程序#include<stdio.h>voidfun(int*x,ints,inte){inti,j,t;for(i=s,j=e;i<j;i++,j--)
设有定义:intk=0;,下列选项的4个表达式中与其他3个表达式的值不相同的是()。
以下关于return语句的叙述中不正确的是()。
数据库的数据模型分为
结构化程序设计的3种结构是()。
下列排序法中,最坏情况下时间复杂度最小的是
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和【】两个含义。
随机试题
口服胆囊造影使用哪种造影剂
A.新药临床试验审批办法B.药品不良反应报告具体办法C.药物临床试验机构资格认定办法D.中药品种保护管理办法E.药物临床试验质量管理规范《中华人民共和国药品管理法》规定
乡镇村公共设施、公益事业建设需要使用土地的,先由()审核。
甲公司为家制造性企业。2012年4月1日,为降低采购成本,向乙公司一次购进了三套不同型号且有小同生产能力的设备X、Y和z。甲公司以银行存款支付货款880000元、增值税税额149600元、包装费20000元。X设备在安装过程中领用生产用原材料账面成本200
智力是指人们的认识能力,其核心是记忆力。()
将猫、狗、鼠概括为“动物”,属于()
ADSL使用的多路复用技术是()。
下列条件语句中,输出结果与其他语句不同的是
字面常量42、4.2、42L的数据类型分别是()。
ThispoemdepictsthebeautifulsceneryofatownintheSouth.
最新回复
(
0
)