子程序调用过程中,需要把运行现场的数据保存到()中,返回主调函数在从中间取出。A、栈B、图C、二叉树D、队列

题目

子程序调用过程中,需要把运行现场的数据保存到()中,返回主调函数在从中间取出。

  • A、栈
  • B、图
  • C、二叉树
  • D、队列

相似考题
更多“子程序调用过程中,需要把运行现场的数据保存到()中,返回主调函数在从中间取出。A、栈B、图C、二叉树D、队列”相关问题
  • 第1题:

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

    A.队列

    B.栈

    C.多维数组

    D.顺序表


    正确答案:B

  • 第2题:

    80C51堆栈的功能有()。

    A.子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈

    B.保护现场/恢复现场

    C.先进先出

    D.数据传输

    E.调整查询执行顺序


    正确答案:ABD

  • 第3题:

    在程序的执行过程中,实现嵌套调用函数正确返回可以用(119)结构。

    A.队列

    B.栈

    C.树

    D.图


    正确答案:B
    解析:函数调用的过程是:系统首先将当前函数的上下文环境信息压入堆栈,然后执行被调用的函数;执行结束后,系统将程序执行信息弹出栈,继续执行原来的程序。可见,堆栈的特点恰好满足要求。

  • 第4题:

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

    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的阶乘。求解的过程满足后调用先返回的特点,因此需要使用到栈。

  • 第5题:

    支持子程序调用的数据结构是( )。【考点3栈】

    A.栈

    B.树

    C.队列

    D.二叉树


    正确答案:A
    栈是一种限定在一端进行插入与删除的线性表。主函数调用子函数时,首先会保存主函数当前的状态,然后转去执行子函数,并把子函数的运行结果返回到主函数调用子函数时的位置,主函数再接着往下执行,这种过程符合栈的特点。所以一般采用栈式存储方式。

  • 第6题:

    为支持函数调用及返回,常采用称为“( )”的数据结构。

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


    正确答案:B

  • 第7题:

    为支持函数调用及返回,常采用称为“(39)”的数据结构。

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

    答案:B
    解析:
    栈在程序的运行中有着举足轻重的作用。最重要的是栈保存了一个函数调用时所需要的维护信息,这常常称之为堆栈帧或者活动记录。

  • 第8题:

    函数调用和返回控制是用( )实现的。

    A.哈希表
    B.堆
    C.栈
    D.队列

    答案:C
    解析:
    大多数CPU上的程序实现使用栈来支持函数调用操作。栈被用来传递函数参数、存储返回信息、临时保存寄存器原有值以备恢复以及用来存储局部数据。

  • 第9题:

    被调用函数调用结束后,返回到()。

    • A、主调用函数中该被调用函数调用语句处
    • B、主函数中该被调用函数调用语句处
    • C、主调用函数中该被调用函数调用语句的前一条语句
    • D、主调用函数中该被调用函数调用语句的后一条语句

    正确答案:A

  • 第10题:

    通过堆栈操作实现子程序调用,首先就要把()的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到()。


    正确答案:PC、PC

  • 第11题:

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

    队列

    B

    C

    多维数组

    D

    顺序表


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

  • 第12题:

    单选题
    支持子程序调用的数据结构是(  )。
    A

    B

    C

    队列

    D

    二叉树


    正确答案: C
    解析:
    在高级语言中,函数的调用是通过栈来实现的。在进行函数调用时,系统将所需的信息压入栈中,如函数的局部变量、返回值等。每个函数的状态是由函数中的局部变量、函数参数值、函数的返回值地址决定的,存储这些信息的数据区域称为活动记录,或叫做栈帧,它是运行时系统栈上分配的空间。答案选择A选项。

  • 第13题:

    函数调用的整个过程就是栈空间操作的过程。下面不属于栈操作过程的是()

    A、把被调函数的栈空间收回

    B、保护调用函数的运行状态和返回地址

    C、传递参数

    D、将控制转交被调用函数


    参考答案:A

  • 第14题:

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

    A.队列

    B.栈

    C.多维数组

    D.顺序表


    正确答案:B
    解析:本题考查数据结构基础知识。
      在函数调用过程中形成嵌套时,则应使最后被调用的函数最先返回,递归函数执行时也是如此。例如,用递归方式求4的阶乘(以factorial(n)表示求n的阶乘)的过程如下所示:
      factorial(4)=4*factorial(3)
            =4*(3*factorial(2))
            =4*(3*(2*factorial(1)))
            =4*(3*(2*1)
            =4*(3*2)
            =4*6
            =24
      显然,要求4的阶乘,需要通过递归调用求出3的阶乘,要求出3的阶乘,必须先求出2的阶乘,依此类推,求出1的阶乘后才能得到2的阶乘,然后才能得到3和4的阶乘。该求解过程中的函数调用和返回需要满足后调用先返回的特点,因此需要使用栈结构。

  • 第15题:

    支持子程序调用的数据结构是 ______。

    A.栈

    B.树

    C.队列

    D.二叉树


    正确答案:B
    解析:子程序调用是一种层次关系,子程序调用功能模块,调用功能模块的个数也不确定,可以是一个,也可以是多个。选项A、C中元素之间是一种前后件关系,前后元素之间没有层次之分,每个结点有一个前件也只有一个后件。二叉树是一种很有用的非线性结构,二叉树不同于树形结构。二叉树具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。选项D规定每个结点只能有两个后件。在子程序调用中,调用的功能模块可以是多个,可以调用超过两个功能模块。所以选项A、C、D均不正确。

  • 第16题:

    支持子程序调用的数据结构是( )。

    A.栈

    B.树

    C.队列

    D.--X树


    正确答案:A
    栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子程序时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中诟用子程序的位置,然后继续向下执行,这种调用方式符合栈的特点,因此本题的答案为A)。

  • 第17题:

    在程序的执行过程中,用______结构可以实现嵌套调用函数的正确返回。

    A.队列

    B.栈

    C.树

    D.图


    正确答案:B
    解析:栈是在同一端进行插入和删除运算的线性表,具有先进后出的特性。栈的这种特性正好适用函数嵌套调用的过程。(1)调用函数时:系统将为调用者构造一个由参数表和返回地址组成等信息的活动记录,并将其压入到由系统提供的运行时刻栈的栈顶,然后将程序的控制权转移到被调函数。若被调函数有局部变量,则其活动记录还包括为局部变量分配的存储空间。(2)被调函数执行完毕时:系统将运行时刻栈顶的活动记录退栈,并根据退栈的活动记录中所保存的返回地址将程序的控制权转移给调用者继续执行。

  • 第18题:

    递归函数执行时,需要( )来提供支持。

    A. 栈
    B. 队列
    C. 有向图
    D. 二叉树

    答案:A
    解析:
    在递归调用中,需要在前期存储某些数据,并在后面又以存储的逆序恢复这些数据,以提供之后使用的需求,因此,需要用到栈来实现递归。简单的说,就是在前行阶段,对于每一层递归,函数的局部变量、参数值以及返回地址都被压入栈中。在退回阶段,位于栈顶的局部变量、参数值和返回地址被弹出,用于返回调用层次中执行代码的其余部分,也就是恢复了调用的状态

  • 第19题:

    函数调用和返回控制是用( )实现的。

    A.哈希表
    B.符号表
    C.栈
    D.优先队列

    答案:C
    解析:

  • 第20题:

    子程序调用过程中,需要把运行现场的数据保存到()中,返回主调函数在从中间取出。

    • A、栈
    • B、图
    • C、二叉树
    • D、队列

    正确答案:A

  • 第21题:

    子程序调用指令执行时,要把当前程序计数器pc的内容存到()。


    正确答案:堆栈

  • 第22题:

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

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

    正确答案:B

  • 第23题:

    单选题
    子程序调用过程中,需要把运行现场的数据保存到()中,返回主调函数在从中间取出。
    A

    B

    C

    二叉树

    D

    队列


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

  • 第24题:

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

    队列

    B

    多维数组

    C

    D

    线性表


    正确答案: D
    解析: