单选题已知递归函数fun的定义如下:则函数调用语句fun(5)的返回值是( )。A5B12C15D30
单选题
已知递归函数fun的定义如下:则函数调用语句fun(5)的返回值是( )。
A
5
B
12
C
15
D
30
参考解析
解析:
递归函数fun()定义,当n<=1时,返回1;当n>1时,返回n*fun(n-2)。故执行语句fun(5),返回fun(5)=5*fun(3)=5*3*fun(1)=5*3*1=15。
递归函数fun()定义,当n<=1时,返回1;当n>1时,返回n*fun(n-2)。故执行语句fun(5),返回fun(5)=5*fun(3)=5*3*fun(1)=5*3*1=15。
相关考题:
● 函数fun1()、fun2()的定义如下所示,已知调用fun1 时传递给形参x的值是-5,若以引用调用(call by reference)的方式调用fun2,则函数fun1的返回值为 (33) ;若以值调用(call by value)的方式调用fun2,则函数fun1的返回值为 (34) 。fun1(int x) fun2(int x) int a=x-1;x = fun2(a);return a-x; x=x+10;return 3*x;(33)A. -18 B. -11 C. -8 D. 0(34)A. -18 B. -11 C. -8 D. 0
( 8 )已知递归函数 f 的定义如下:int f(int n){if (n = 1) return 1; // 递归结束情况else return n * f(n-2); // 递归 }则函数调用语句 f(5) 的返回值是 【 8 】 。
已知递归函数f的定义如下:int f(int n){if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1else return n*f(n-2); //递归}则函数调用语句f(5)的返回值是______。
程序中对fun函数有如下说明 void*fun(); 此说明的含义是A.fun函数无返回值B.fun函数的返回值可以是任意的数据类型C.fun函数的返回值是无值型的指针类型D.指针fun指向一个函数、该函数无返回值
已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return 1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。A.5B.12C.15D.30
已知“int*p;fun(p);”,其中,函数fun没有返回值,且其形参定义为引用调用方式,则下列给出的fun函数原型中正确的是()。 A.voidfun(inta[]);B.voidfun(int*C.voidfun(intD.voidfun(int
设有如下函数定义: int fun(int k) {if(k1)return 0; else if(k= =l)return l; else return fun(k-1)+1: } 若执行调用语句:“n=fun(3);”,则函数fun总共被诃用的次数是( )。A.2B.3C.4D.5
若有以下变量定义和函数调用语句: int a=5; fun(a); 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<end1; }A.3B.4C.5D.6
设fun函数的定义形式为 void fun(char ch,float x){…} 则下列对函数fun的调用语句中,正确的是( )。A. fun("abc",3.0);B.t=fun(D.16.5);C.fun(65,2.8);D.fun(32,32);
若有如下变量定义和函数调用语句: inta=5; fun(A) ; 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<endl; }A.3B.4C.5D.6
设有如下函数定义int fun(int k){if(k1) return 0:else if(k==1) return 1:else return fun(k一1)+1:}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A.2B.3C.4D.5
在函数调用过程中,如果函数fun A调用了函数fun B,函数fun B又调用了函数fun A,则A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用
函数fun1()、fun2()的定义如下所示,已知调用fun1时传递给形参x的值是-5,若以引用调用(call by.reference)的方式调用。fun2,则雨数fun1的返回值为( );若以值调用(call by value)的方式调用fun2,则函数funl的返回值为( )。A.-18B.-11C.-8D.O(34)
已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。A.5B.12C.15D.30
若主函数中有定义语句:int a[10],b[10],c;,在主函数前定义的fun函数首部为:void fun(int x[ ]),则以下选项中错误的调用语句是( )。 A.fun(b);B.fun(C.fun(D.fun(b[11]);
已知一个类A,其中Fun()函数是类A的一个成员函数,A*p,a;p=a;,则下面语句正确的是( )。A.语句p=a;是把对象a赋值给指针变量pB.语句A*p,a;p=a;调用两次类A的构造函数C.对语句*p.fun();的调用是正确的D.语句 p->fun();和语句 a.fun();等价
已知递归函数f的定义如下:int f(int n){if(n <=1)return 1; //递归结束情况else return n*f(n-2); //递归}则函数调用语句f(5)的返回值是【 】。
(32)设有如下函数定义int fun(int k){ if (k1) return 0;else if(k==1) return 1;else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A)2B)3C)4D)5
对于函数定义: void FUN(int n, double x) { … } 若以下选项中的变量都已定义并赋值,则对函数FUN的正确调用的语句是()。 A、k=FUN(x,n);B、void FUN(n,x);C、FUN(int y,double m);D、FUN(10,12.5);
已知一个函数的定义如下:double fun(int x,double y){⋯⋯}则该函数正确的函数原型声明为()A、double fun(intx,doubley)B、fun(int x,doubley)C、double fun(int,double);D、fun(x,y);
程序中对fun函数有如下说明void*fun();此说明的含义是()A、fun函数无返回值B、fun函数的返回值可以是任意的数据类型C、fun函数的返回值是无值型的指针类型D、指针fun指向一个函数,该函数无返回值
有以下函数定义voidfun(intn){…};若以下选项中的变量都已经正确定义且赋值则对函数fun的正确调用语句是()A、fun(inty);B、k=fun(10);C、fun(x);D、voidfun(n);
单选题设有如下函数定义:int fun(int k){ if(k1) return 0; else if(k==1) return 1; else return fun(k-1)+1;}若执行调用语句:n=fun(3);,则函数fun()总共被调用的次数是( )。A2B3C4D5
单选题对于函数定义: void FUN(int n, double x) { … } 若以下选项中的变量都已定义并赋值,则对函数FUN的正确调用的语句是()。Ak=FUN(x,n);Bvoid FUN(n,x);CFUN(int y,double m);DFUN(10,12.5);