niusouti.com
参考答案和解析
正确
更多“35、递归是自己调用自己。”相关问题
  • 第1题:

    如果一个算法显式地调用自己则称为 ( )

    A.直接递归

    B.自用递归

    C.间接递归

    D.外用递归


    正确答案:A

  • 第2题:

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

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

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

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

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


    正确答案:A
    解析:本题考查函数调用的基本概念。在函数调用时,只要符合函数的使用,程序中的各个函数间既可以直接调用其他函数,也可以递归调用其自身。

  • 第3题:

    某个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

  • 第4题:

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


    正确答案:正确

  • 第5题:

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

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

    正确答案:A,C,D

  • 第6题:

    递归模块(即自己调用自己的模块)的概念如何能够与本章所介绍的设计原理与方法相适应?


    正确答案: 归过程在求解复杂的大型问题时非常有效。常用的求解问题的方法,一种叫做“分而治之”的策略和“回溯”的策略,都可以用递归方法来解决。所谓“分而治之”的方法即是把大而复杂的问题化为规模稍小的子问题,用同样方法求解。如果分解后的子问题能够直接解决,就直接解出,然后再回推得到原来问题的解。所谓“回溯”方法就是如果一个大的问题在求解过程中从某一步出发有可选的多种解决方案,先选择一种解决方案,试探求解。如果求解失败,撤消原来的选择,再选一种解决方案,试探求解,……。如果用某一方案求解成功,则退回上一步并报告这一步求解成功;如果所有可选方案都试过,都求解失败,则退回上一步并报告求解失败。
    软件设计过程中的“自顶向下,逐层分解”的做法与上述求解问题的策略是一致的。如果分解出来的子问题(子功能、子模块)相互独立性比较强,这种分解可以降低模块的复杂性,做到模块化。所以,只要分解出来的子问题与原来问题满足递归的情况,用递归方法建立模块结构也是可行的。

  • 第7题:

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

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

    正确答案:D

  • 第8题:

    在过程调用中,允许直接递归调用和()递归调用。


    正确答案:间接

  • 第9题:

    问答题
    什么是“直接递归调用”?什么是“间接递归调用”?

    正确答案: 直接递归调用:是指在调用一个函数的过程中,又直接地调用该函数本身的过程。间接递归调用:是指在调用一个函数过程中,又间接地调用该函数本身的过程。
    解析: 暂无解析

  • 第10题:

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

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

    B

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

    C

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

    D

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


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

  • 第11题:

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

    嵌套调用

    B

    循环调用

    C

    连续调用

    D

    递归调用


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

  • 第12题:

    单选题
    关于递归调用不正确的描述是()
    A

    递归调用和嵌套调用都是通过堆栈管理实现的

    B

    函数直接或间接调用自己称为递归调用

    C

    递归终止条件必须为参数值等于0

    D

    递归算法的问题规模必须是逐步缩小的


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

  • 第13题:

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

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

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

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

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


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

  • 第14题:

    ______的基本思想是“自己调用自己”。


    正确答案:递归
    递归

  • 第15题:

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

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

    正确答案:C

  • 第16题:

    汉诺塔的算法是递归算法解决的,所谓递归即()。

    • A、函数自身调用自身的编程技巧
    • B、函数嵌套调用的方式
    • C、函数调用的普通方式
    • D、无参函数是不能使用递归的

    正确答案:A

  • 第17题:

    JAVA程序经常用到“递归”,“递归”的基本思想是()。

    • A、“让别人反复调用自己”
    • B、“自己反复调用别人”
    • C、“自己反复调用自己”
    • D、以上说法都不对

    正确答案:C

  • 第18题:

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


    正确答案:正确

  • 第19题:

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


    正确答案:错误

  • 第20题:

    什么是“直接递归调用”?什么是“间接递归调用”?


    正确答案: 直接递归调用:是指在调用一个函数的过程中,又直接地调用该函数本身的过程。间接递归调用:是指在调用一个函数过程中,又间接地调用该函数本身的过程。

  • 第21题:

    单选题
    JAVA程序经常用到“递归”,“递归”的基本思想是()。
    A

    “让别人反复调用自己”

    B

    “自己反复调用别人”

    C

    “自己反复调用自己”

    D

    以上说法都不对


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

  • 第22题:

    填空题
    在过程调用中,允许直接递归调用和()递归调用。

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

  • 第23题:

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

    直接递归

    B

    间接递归

    C

    非递归

    D

    嵌套调用


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

  • 第24题:

    问答题
    递归模块(即自己调用自己的模块)的概念如何能够与本章所介绍的设计原理与方法相适应?

    正确答案: 归过程在求解复杂的大型问题时非常有效。常用的求解问题的方法,一种叫做“分而治之”的策略和“回溯”的策略,都可以用递归方法来解决。所谓“分而治之”的方法即是把大而复杂的问题化为规模稍小的子问题,用同样方法求解。如果分解后的子问题能够直接解决,就直接解出,然后再回推得到原来问题的解。所谓“回溯”方法就是如果一个大的问题在求解过程中从某一步出发有可选的多种解决方案,先选择一种解决方案,试探求解。如果求解失败,撤消原来的选择,再选一种解决方案,试探求解,……。如果用某一方案求解成功,则退回上一步并报告这一步求解成功;如果所有可选方案都试过,都求解失败,则退回上一步并报告求解失败。
    软件设计过程中的“自顶向下,逐层分解”的做法与上述求解问题的策略是一致的。如果分解出来的子问题(子功能、子模块)相互独立性比较强,这种分解可以降低模块的复杂性,做到模块化。所以,只要分解出来的子问题与原来问题满足递归的情况,用递归方法建立模块结构也是可行的。
    解析: 暂无解析