首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下面程序: #include<iostream> using namespace std; long fib(int n) { if (n>2) return(fib(n-1)+fib(n-2));
有以下面程序: #include<iostream> using namespace std; long fib(int n) { if (n>2) return(fib(n-1)+fib(n-2));
admin
2009-02-15
61
问题
有以下面程序:
#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;
rcturn 0;
}
则该程序的输出结果应该是【 】。
选项
答案
4
解析
本题主要考查C++中递归函数。递归函数即自调用函数,在函数体内部直接或间接的自己调用自己,即函数的嵌套调用是函数本身。递归调用分为直接递归调用和间接递归调用两种形式。本题程序为求解典型递归数列Fibonacci数列中任意项值的简化程序(主函数中的调用改成fib(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/v7kp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列选项中不属于结构化程序设计原则的是()。
支持子程序调用的数据结构是()。
以下叙述中正确的是()。
uniondt{inta;charb;doublec;}data;以下叙述中错误的是()。
数据库系统在其内部具有3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是()。
数据字典(DD)所定义的对象都包含于
软件生命周期是指()。
若变量都己正确说明,则以下程序段()。#includemain(){inta=8;intb=6;printf(a>b?"&&&a=%d":"!!!b=%d",a,b);}
有关C语言标识符,以下选项中不合法的是()。
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例
随机试题
不能用己烯雌酚的是
A.毛莨苷B.藏红花苦苷C.芦荟苷D.腺苷E.鸟苷最难发生酸水解的苷是
按()来分,化学热处理又可分为固体法、液体法和气体法。
按幻觉产生的条件分类,以下哪种幻觉不包括在内
按照应用和虚拟机的观点,软件可分为:
企业价值评估模型分为股利现金流量模型、股权现金流量模型和实体现金流量模型三种,其中在实务中很少被使用的是()。
下列关于折校的表述,错误的有()。
“巧妇难为无米之炊”,结合实际谈谈你的看法。
Theproducedepartmentsofthefuturemaylooklikenothingonearth,andwithgoodreason.Chinesescientistshavebeengrowing
Labelthediagrambelow.ChooseyouranswersfromtheboxandwritethelettersA-Enexttoquestions33-37.A.Cirrus
最新回复
(
0
)