C语言程序设计

递归调用时,是没有办法结束的,所以尽量少用递归。

题目

递归调用时,是没有办法结束的,所以尽量少用递归。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

int f(int n){

if(n<= 1)return 1;//递归结束情况f5=5*f3=5*3*f1

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

}

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


正确答案:15
15 解析:函数递归调用,f(5)=5*f(3)=5*(3*f(1))=15。

第2题:

C语言规定,程序中各函数之间_______。

A.既允许直接递归调用也允许间接递归调用

B.不允许直接递归调用也不允许间接递归调用

C.允许直接递归调用不允许间接递归调用

D.不允许直接递归调用允许间接递归调用


正确答案:A
解析:C语言规定,程序中各函数之间既允许直接递归调用也允许间接递归调用。

第3题:

在使用递归策略时,必须有一个明确的递归结束条件,称为递归入口。()

此题为判断题(对,错)。


参考答案:错误

第4题:

一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件满足时,递归()

  • A、进行运算
  • B、返回
  • C、前进
  • D、结束条件

正确答案:B

第5题:

关于方法的递归,以下说法错误的是()

A、方法递归必须有结束条件

B、方法递归次数太多会导致内存溢出

C、方法递归就是指在一个方法的内部调用自身的过程

D、方法递归可以无数次,只要有结束条件就可以


正确答案:D

第6题:

已知递归函数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。

第7题:

已知递归函数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。

第8题:

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

int f(int n)

{

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

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

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


正确答案:

第9题:

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

int f(int n)

{

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

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

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


正确答案:15
15 解析:本题考查的是递归算法的分析。一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的,f()函数在n小于等于1时返回1,而在其余情况下返回n*f(n-2)。所以本题的递归算法可以表示为:

题目要求的结果是f(5),即f(5)=5*f(3)=5*3*f(1)=5*3*1=15。故应该填15。

第10题:

数据结构与算法里,汉诺塔问题的递归分为()几部分。

  • A、递归前进段
  • B、递归返回段
  • C、递归出口
  • D、递归问题

正确答案:A,B,C

更多相关问题