首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下面程序: #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
70
问题
有以下面程序:
#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://kaotiyun.com/show/v7kp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序(其中库函数strstr()首部格式为:char*strstr(char*p1,char*p2)其功能是确定p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址)#include<stdio.h>#include<st
下列选项中不属于结构化程序设计原则的是()。
若要求从键盘读入含有空格字符的字符串,应使用函数()。
以下叙述错误的是()。
若有定义:charc;intd;,程序运行时输入:c=1d=2<回车>,能把字符1输入给变量c、把整数2输入给变量d的输入语句是()。
数据库设计中反映用户对数据要求的模式是()。
若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。
下面结构体的定义语句中,错误的是()。
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。
以下选项中不能作为C语言合法常量的是()。
随机试题
阿托品的药理作用不包括
近年来进展最为迅速的一类抗高血压药是
上述招标程序中,有哪些不妥之处?请说明理由。问题久拖不决后,该医院能否要求重新招标?为什么?
行为人超越代理权以被代理人名义订立的合同,相对人可以催告被代理人予以追认。被代理人未作表示的视为()。
最初的生命可能就是一群偶然聚集在一起的有机物。之后,这群偶遇的有机物有了明确的分工。蛋白质负责提供支架和生产能量,DNA和RNA则保存和实施群体的“复制图纸”,磷脂分子和蛋白质还联手建了细胞膜。正是这层神奇的膜,将有机物集群包裹在一个稳定的环境中。生命的单
根据以下资料。回答下列问题。2006-2010年,深圳市三次产业中,企业登记数逐年增加的产业有()个。
监领地制
下列关于犯罪中止的表述中,不正确的是()
WhatmakesSusanbecomeanovernightstar?
Ifhe(send)______tohospitalontime,hewouldstillbealivenow.
最新回复
(
0
)