关于递归定义的函数,下列说法正确的是()

题目

关于递归定义的函数,下列说法正确的是()

  • A、递归定义的函数一定是“递归计算”的
  • B、递归定义的函数一定是“迭代计算”的
  • C、有些递归定义的函数可以“迭代计算”,有些递归定义的函数则必须“递归计算”
  • D、凡是可以“迭代计算”的函数,一定可以“递归计算”,凡是可以“递归计算”的函数,也一定可以“迭代计算”
参考答案和解析
正确答案:C
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在下列结论中,只有一个是错误的,它是( )。A.C语言允许函数的递归调用B.C语言中的continue语句,可以通过改变程序的结构而省略C.有些递归程序是不能用非递归算法实现的D.C语言中不允许在函数中再定义函数


正确答案:C
C语言不仅可以递归调用,还可以对自己进行递归调用,但是,不允许在函数中再次定义函数,c语言中的coutinue语句,可以通过改变其结构来实现。

第2题:

已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return 1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。

A.5

B.12

C.15

D.30


正确答案:C
解析:递归函数fun被定义为含有参数int n返回整型.其中 fun函数递归调用本身,当n=1时,fun返回1,如果大于1那么执行n*fun(n-2)。所以,当n等于5时,执行5*fun(3);当n等于3时继续调用fun,3*fun(1),即fun(5)=5*(3*fun(1)),答案为15。

第3题:

在下列结论中,只有一个是正确的,它是( )。

A.递归函数中的形式参数是自动变量

B.递归函数中的形式参数是外部变量

C.递归函数中的形式参数是静态变量

D.递归函数中的形式参数可以根据需要自己定义存储类型


参考答案:A

第4题:

下列关于虚函数的说法中,正确的是( )。

A.如果在重定义虚函数时使用了保留字virtual,则该重定义函数仍然是虚函数

B.虚函数不得声明为静态函数

C.虚函数不得声明为另一个类的私有函数

D.派生类必须重新定义基类的虚函数


正确答案:B
解析:使用虚函数时必须注意下列事项:①只有类的成员函数才能说明为虚函数。这是因为虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。②静态成员函数不能是虚函数,因为静态成员函数不受限于某个对象。③内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置。即使虚函数在类的内部定义,编译时仍将其看作是非内联的。④构造函数不能是虚函数,因为构造时对象还是一片未定型的空间。只有在构造完成后,对象才能成为一个类的名副其实的实例。⑤析构函数可以是虚函数,而且通常说明为虚函数。说明虚函数的目的在于;使用delete运算符删除一个对象时,能确保析构函数被正确地执行。这是因为设置虚析构函数后,可以利用动态联编方式选择析构函数。⑥一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。

第5题:

在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则()。

A.称为函数的直接递归

B.称为函数的间接递归

C.称为函数的递归定义

D.C语言中不允许这样的递归形式


正确答案:B

第6题:

( 8 )已知递归函数 f 的定义如下:

int f(int n)

{

if (n <= 1) return 1; // 递归结束情况

else return n * f(n-2); // 递归 }

则函数调用语句 f(5) 的返回值是 【 8 】 。


正确答案:

第7题:

关于虚函数,以下说法正确的是( )。

A.若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数

B.虚函数不能声明为友元

C.子类必须重定义父类的虚函数

D.虚函数不能是static的


正确答案:D

第8题:

已知递归函数f 的定义如下:

int f (int n)

{

If(n<=1)return 1;//递归结束情况

else return n*f(n-2);//递归}则函数调用语句f(5)的返回值是( )。


正确答案:

1  

第9题:

在下列叙述中,正确的一条是______。

A.如果形参发生改变,不会改变主调函数的实参值

B.在C语言中,函数可以递归调用或递归定义

C.数组名作函数参数时,也采用“值传送”方式

D.预处理时,宏名用字符串代替,并检查语法正确与否


正确答案:A

第10题:

已知递归函数fun的定义如下: int fun(int n) { if(n<=1)return1;//递归结束情况 else return n*fun(n-2);//递归 } 则函数调用语句fun(5)的返回值是( )。

A.5

B.12

C.15

D.30


正确答案:C
解析:递归函数fun被定义为含有参数int n,返同整型。其中fun函数递归调用本身,当n=1时,fun返回1,如果大于1那么执行n*fun(n-2)。所以,当n等于5时,执行5*fun(3);当3时继续调用fun,3*fun(1),即fun(5)=5*(3*fun(1)),答案为15。

更多相关问题