参考答案和解析
正确答案:
更多“()可以作为实现递归函数调用的一种数据结构。”相关问题
  • 第1题:

    调用递归过程或函数时,处理参数及返回地址需要用一种称为( )的数据结构。

    A.队列

    B.栈

    C.多维数组

    D.顺序表


    正确答案:B
    解析:在递归函数执行时函数调用过程中形成嵌套时,最后被调用的函数最先返回。例如,用递归方法求3的阶乘(以factorial(n)表示n的阶乘)的过程如下:factorial(3)=3*factorial(2)=3*(2*factorial(1))=3*(2*1)=3:1:2=6。显然,要求3的阶乘,需要递归调用2的阶乘,要求2的阶乘,需要先求出l的阶乘,依此类推,求出1的阶乘后才得到2和3的阶乘。求解的过程满足后调用先返回的特点,因此需要使用到栈。

  • 第2题:

    栈可以作为实现过程调用的一种数据结构。


    正确答案:正确

  • 第3题:

    数据结构与算法里,A函数调用B函数,B函数又调用了A函数,这种调用是(),下列选项不是正确答案的是()。

    • A、直接递归
    • B、间接递归
    • C、非递归
    • D、嵌套调用

    正确答案:A,C,D

  • 第4题:

    函数调用的一种特殊,即自己调用自己称为()。

    • A、嵌套调用
    • B、循环调用
    • C、连续调用
    • D、递归调用

    正确答案:D

  • 第5题:

    数据结构与算法里,关于递归说法正确的是()。

    • A、递归是函数自身调用编程技术
    • B、有返回值的函数可以是递归的函数
    • C、无返回值函数是不能使用递归的
    • D、递归分为直接递归和间接递归

    正确答案:A,B,D

  • 第6题:

    在函数调用过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为()

    • A、间接递归调用
    • B、直接递归调用
    • C、间接循环调用
    • D、直接循环调用

    正确答案:A

  • 第7题:

    在C语言中,下列错误的说法是()。

    • A、函数可以递归调用
    • B、不允许在函数中再定义函数
    • C、递归程序不可能用非递归算法实现
    • D、对于continue语句,可以通过改变程序的结构而不使用它

    正确答案:C

  • 第8题:

    单选题
    调用递归过程或函数时,处理参数及返回地址需要用一种称为()的数据结构。
    A

    队列

    B

    C

    多维数组

    D

    顺序表


    正确答案: C
    解析: 当在一个函数的运行期间调用另一个函数时,在运行被调用函数之前,系统需要先完成3个操作,即将所有的实参、返回地址等信息传递给被调函数保存;
    为被调函数的局部变量分配存储区;
    将控制转移到被调函数的入口。
    从被调函数返回调用函数之前,系统还要完成3个操作,即保存被调函数的计算结果;
    释放被调函数的数据区;
    依照被调函数保存的地址将控制转移到调用函数。
    当有多个函数构成嵌套调用时,按照"后调用先返回"的原则,上述函数之间的信息传递和控制转移必须通过"栈"来实现,每当调用一个函数时,就在栈顶为它分配一个存储区,每当退出一个函数时,就释放它的存储区,当前正在运行的函数的数据区必在栈顶。递归函数的运行过程类似于多个函数的嵌套调用,只是调用和被调用函数是同一个函数。

  • 第9题:

    判断题
    栈可以作为实现过程调用的一种数据结构。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第10题:

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

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

    B

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

    C

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

    D

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


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

  • 第11题:

    填空题
    ()可以作为实现递归函数调用的一种数据结构。

    正确答案:
    解析: 暂无解析

  • 第12题:

    单选题
    递归过程或函数调用时,处理参数及返回地址,要用一种称为()的数据结构。
    A

    队列

    B

    多维数组

    C

    D

    线性表


    正确答案: D
    解析:

  • 第13题:

    一个C程序由函数A、B、C和函数P构成,在函数A中分别调用了函数B和函数C,在函数B中调用了函数A,且在函数P中也调用了函数A,则可以说( )

    A.函数B中调用的函数A是函数A的间接递归调用

    B.函数A被函数B调用是函数A间接递归调用

    C.函数P直接递归调用了函数A

    D.函数P中调用的函数A是函数P的嵌套


    正确答案:D

  • 第14题:

    关于递归调用不正确的描述是()

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

    正确答案:C

  • 第15题:

    在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,说明完成了()

    • A、函数的直接递归调用
    • B、函数的间接递归调用
    • C、函数的循环调用
    • D、出错

    正确答案:B

  • 第16题:

    数据结构与算法里,指针做参数时,属于()。

    • A、值传递
    • B、地址传递
    • C、函数传递
    • D、递归调用

    正确答案:B

  • 第17题:

    数据结构与算法里,递归就是在过程或函数里调用自身。


    正确答案:正确

  • 第18题:

    只要在函数中调用函数就可以称为递归。


    正确答案:错误

  • 第19题:

    调用递归过程或函数时,处理参数及返回地址需要用一种称为()的数据结构。

    • A、队列
    • B、栈
    • C、多维数组
    • D、顺序表

    正确答案:B

  • 第20题:

    多选题
    数据结构与算法里,关于递归说法正确的是()。
    A

    递归是函数自身调用编程技术

    B

    有返回值的函数可以是递归的函数

    C

    无返回值函数是不能使用递归的

    D

    递归分为直接递归和间接递归


    正确答案: A,C
    解析: 暂无解析

  • 第21题:

    单选题
    在函数调用过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为()
    A

    间接递归调用

    B

    直接递归调用

    C

    间接循环调用

    D

    直接循环调用


    正确答案: A
    解析: 暂无解析

  • 第22题:

    单选题
    在C语言中,下列错误的说法是()。
    A

    函数可以递归调用

    B

    不允许在函数中再定义函数

    C

    递归程序不可能用非递归算法实现

    D

    对于continue语句,可以通过改变程序的结构而不使用它


    正确答案: B
    解析: 暂无解析

  • 第23题:

    多选题
    数据结构与算法里,A函数调用B函数,B函数又调用了A函数,这种调用是(),下列选项不是正确答案的是()。
    A

    直接递归

    B

    间接递归

    C

    非递归

    D

    嵌套调用


    正确答案: A,C
    解析: 暂无解析