单选题以下叙述中正确的是(  )。A简单递归不需要明确的结束递归的条件B任何情况下都不能用函数名作为实参C函数的递归调用不需要额外开销,所以效率很高D函数既可以直接调用自己,也可以间接调用自己

单选题
以下叙述中正确的是(  )。
A

简单递归不需要明确的结束递归的条件

B

任何情况下都不能用函数名作为实参

C

函数的递归调用不需要额外开销,所以效率很高

D

函数既可以直接调用自己,也可以间接调用自己


参考解析

解析:
A项错误,递归必定要有一个明确的结束递归的条件;B项错误,递归就是把函数名作为实参的一种特殊情况;C项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率;D项正确,C语言中的函数可以直接或间接地自己调用自己,前者称简单递归,后者称间接递归。答案选择D选项。

相关考题:

一个函数直接或间接调用自己本身,这种函数叫递归函数。() 此题为判断题(对,错)。

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。A.函数调用可以嵌套和递归B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参

在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用

一个C++程序由函数A( ),B( ),C( )和函数P( )构成,在函数A( )中分别调用了函数B( )和函数C ( ),在函数B( )中调用了函数A( ),且在函数P( )中也调用了函数A( ),则可以说A.函数B( )中调用的函数A( )是函数A( )的间接递归调用B.函数A( )被函数B( )调用是直接递归调用C.函数P( )直接递归调用了函数A( )D.函数P( )中调用的函数A( )是函数P( )的嵌套

在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则()。 A.称为函数的直接递归B.称为函数的间接递归C.称为函数的递归定义D.C语言中不允许这样的递归形式

在函数体中把出现调用自身函数的情况称为()。 A、非递归调用B、直接递归调用C、间接递归调用D、末尾递归调用

C语言规定,程序中各函数之间_______。A.既允许直接递归调用也允许间接递归调用B.不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用

C语言中规定,程序中各函数之间( )。A.既允许直接递归调用也允许间接递归调用B.不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用

在函数调用过程中,如果函数fun A调用了函数fun B,函数fun B又调用了函数fun A,则A.称为函数的直接递归调用B.称为函数的间接递归调用C.称为函数的循环调用D.C语言中不允许这样的递归调用

一个C程序由函数A、B、C和函数P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说( )A.函数B中调用的函数A是函数A的间接递归调用B.函数A被函数B调用是函数A间接递归调用C.函数P直接递归调用了函数AD.函数P中调用的函数A是函数P的嵌套

某个C程序中有4个函数t、u、v和w,执行时t调用了u和v,u调用了t和w,v调用了w,w调用了t和v。以下叙述中正确的是( )A.这4个函数都间接递归调用了自己B.除函数t外,其他函数都间接递归调用了自己C.除函数u外,其他函数都间接递归调用了自己D.除函数v和w外,其他函数都间接递归调用了自己

关于递归调用不正确的描述是()A、递归调用和嵌套调用都是通过堆栈管理实现的B、函数直接或间接调用自己称为递归调用C、递归终止条件必须为参数值等于0D、递归算法的问题规模必须是逐步缩小的

C程序中各函数之间既允许直接递归调用也允许间接递归调用。

数据结构与算法里,A函数调用B函数,B函数又调用了A函数,这种调用是(),下列选项不是正确答案的是()。A、直接递归B、间接递归C、非递归D、嵌套调用

在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,说明完成了()A、函数的直接递归调用B、函数的间接递归调用C、函数的循环调用D、出错

包含直接还是间接递归调用的函数都称为递归函数。

递归是函数自身嗲用自身,根据调用的方式分为直接递归和间接递归。

数据结构与算法里,关于递归说法正确的是()。A、递归是函数自身调用编程技术B、有返回值的函数可以是递归的函数C、无返回值函数是不能使用递归的D、递归分为直接递归和间接递归

在函数调用过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为()A、间接递归调用B、直接递归调用C、间接循环调用D、直接循环调用

C程序中各函数之间允许直接递归调用不允许间接递归调用。

关于递归算法,不正确的是()。A、递归就是在过程或函数里调用自身B、递归必须有一个明确的结束条件,即递归出口C、递归调用可以无条件地进行D、递归算法解题通常显得很简洁,但解题的运行效率较低

多选题数据结构与算法里,关于递归说法正确的是()。A递归是函数自身调用编程技术B有返回值的函数可以是递归的函数C无返回值函数是不能使用递归的D递归分为直接递归和间接递归

单选题在函数调用过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为()A间接递归调用B直接递归调用C间接循环调用D直接循环调用

单选题关于递归算法,不正确的是()。A递归就是在过程或函数里调用自身B递归必须有一个明确的结束条件,即递归出口C递归调用可以无条件地进行D递归算法解题通常显得很简洁,但解题的运行效率较低

判断题包含直接还是间接递归调用的函数都称为递归函数。A对B错

多选题数据结构与算法里,A函数调用B函数,B函数又调用了A函数,这种调用是(),下列选项不是正确答案的是()。A直接递归B间接递归C非递归D嵌套调用

单选题关于递归调用不正确的描述是()A递归调用和嵌套调用都是通过堆栈管理实现的B函数直接或间接调用自己称为递归调用C递归终止条件必须为参数值等于0D递归算法的问题规模必须是逐步缩小的