更多"计算斐波那契数列第n项的函数定义如下: int fib(int n)"的相关试题:
[单项选择]计算斐波那契数列第n项的函数定义如下:
int fib(int n)
if (n==0)return 1;
else if(n==1) return 2;
else return fib(n=1)+fib(n=2);
若执行函数调用表达式fib(2),函数fib被调用的次数是( )。
A. 1
B. 2
C. 3
D. 4
[单项选择]函数定义为fun(int &i),变量定义n=100,则下面调用正确的是( )。
A. fun(20);
B. fun(20+n);
C. fun(n);
D. fun(&n);
[单项选择]已知下列函数定义:
fun(int%,int c,int n,int data)
int k;
for(k=0;k<m*n;k++)
*b=data;
b++;
则调用此函数的正确写法是(假设变量a的说明为int a[50])()。
A. fun(*a,4,5,1);
B. fun(&a,4,5,1);
C. fun((int*)a,4,5,1);
D. fun(a,4,5,1);
[单项选择]函数定义为Fun(int &i),变量定义n=100,则下面调用正确的是( )。
A. Fun(20);
B. Fun(20+n);
C. Fun(n);
D. Fun(&n);
[填空题]
下面的函数定义是某函数模板能够生成的函数实例
int square(int n) {return n*n;}
double square(double n) {return n*n;}
由此可知,该函数模板的定义是()。
[填空题]
有如下的函数定义:
int Xfun(int*a,int n)
int X*a;
for(int*pa=a+1;pa if(*pa>x)x=*pa;
retum x;
若在执行了语句:
int x[5]=(23,46,78,55,16);
后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为______。
[单项选择]已知下列函数定义:
fun(int*b,int c,int d)
int k;
for(k=0;k<c*d;k++)
*b=c+d;
b++;
则调用此函数的正确写法是(假设变量a的说明为int a[10])()。
A. fun(*a,6,14);
B. fim(&a,6,8);
C. fun(a,8,4);
D. fun((int)a,8,6);
[填空题]
有如下的函数定义:
int Xfun(int x){
int y=x;
{int x=10; y+=x;}
return x+y;
}
通过表达式Xfun(5)调用该函数,则得到的返回值为()。
[填空题]
有如下的函数定义:
int Xfun(int *a, int n){
int x=*a;
for(int *pa=a+1; pa<>
if(*pa>x) x=*pa;
return x;
}
若执行了语句
int x[5]={23,46,78,55,16};
后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为()。
[简答题]请编写一个函数printdate(int year,int month,int day),该函数实现将输入的3个数字转换成英语数字纪年输出的功能,如输入March9,1978,则输出1978 3 9。注意:使用switch结构实现该函数的基本功能并应该能够判断错误的输入。部分源程序已存在文件test40_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数printdate的花括号中填写若干语句。
源程序文件rest40_2.cpp清单如下:
#include<iostream.h>
void printdate(int year, int month, int day)
void main( )
printdate(1978,3,9);
[填空题]
下面的函数定义是某函数模板能够生成的函数实例
intsquare(int n)(return n*n;)
double square(double n)(retum n*n;)
由此可知,该函数模板的定义是______。
[填空题]
有如下的函数定义:
int Xfun(int x)
inty=x;
int x=10;y+=x;
return x+y;
通过表达式Xfun[5]调用该函数,则得到的返回值为______。
[单项选择]有如下的运算符重载函数定义:
double operator+(int i, int k)return double(i+k);
但定义有错误,对这个错误最准确的描述是( )。
A. “+”只能作为成员函数重载,而这里的“+”是作为非成员函数重载的
B. 两个int型参数的和也应该是int型,而这里将“+”的返回类型声明为double
C. 没有将运算符重载函数声明为某个类的友元
D. C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
[单项选择]有如下的运算符重载函数定义:
double operator+(int i,int k)return double (i+ k);
但定义有错误,对这个错误最准确的描述是( )。
A. “+”只能作为成员函数重载,而这里的“+”是作为非成员函数重载的
B. 两个int型参数的和也应该是int型,而这里将“+”的返回类型声明为double
C. 没有将运算符重载函数声明为某个类的友元
D. C++已经提供了求两个int型数据之和的运算符+,不能再定义同样的运算符
[单项选择]如在类中有如下函数定义
Void fun(int a,int b,int c=0);
则下列调用中,正确的是( )。
A. fun(1)
B. fun(1,1)
C. fun()
D. fun(2,2,3,4)
[单项选择]设有如下函数定义:
int fun(int k)
if(k<1) return 0;
else if(k==1) return 1;
else return fun(k-1)+1;
若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。
A. 2
B. 3
C. 4
D. 5
[单项选择]
若有一函数定义为"int f(int x,int *y){return x/*y;}",声明该函数的正确形式 是() .
A. void f(int,int);
B. int *f(int,int *);
C. int f(int *,int *);
D. int f(int,int *);