全部科目 > 数据库系统工程师 >
2019年上半年 上午试卷 综合知识
第 23 题
知识点 函数调用     
章/节 计算机软件基础知识  
 
 
涵数调用和返回控制是用( )实现的。
 
  A.  哈希表
 
  B.  符号表
 
  C.  栈
 
  D.  优先队列
 
 




 
 
相关试题     栈和队列 

  第20题    2011年上半年  
算术表达式采用逆波兰式表示时不用括号,可以利用(20)进行求值。与逆波兰式ab-cd+*对应的中缀表达式是(21)。

  第5题    2018年上半年  
算术表达式采用后缀式表示时不需要使用括号,使用(5)就可以方便地进行求值。a-b(c+d)(其中,-、+、*表示二元算术运算减、加、乘)的后缀式为(6),与该表达式等价的语法树为(7)。

  第5题    2021年上半年  
一个栈的输入序列为12.3.4,5,不可能得到的输出序列是( )。

相关试题     函数 

  第23题    2022年上半年  
以下关于C语言函数的说法中,不正确的是()。

  第21题    2014年上半年  
引用调用方式下进行函数调用,是将()。

  第23题    2009年上半年  
函数调用时,基本的参数传递方式有传值与传地址两种,(23)。

 
知识点讲解
· 函数调用
· 栈
 
        函数调用
        当在一个函数(称为主调函数)中需要使用另一个函数(称为被调函数)实现的功能时,便以名字进行调用,称为函数调用。在使用一个函数时,只要知道如何调用就可以了,并不需要了解被调用函数的内部实现。因此,主调函数需要知道被调函数的名字、返回值和需要向被调函数传递的参数(个数、类型、顺序)等信息。函数调用的一般形式为:
        
        在C程序的执行过程中,通过函数调用实现了函数定义时描述的功能。函数体中若调用自己,则称为递归调用。
        调用函数和被调用函数之间交换信息的方法主要有两种:一种是由被调用函数把返回值返回给主调函数;另一种是通过参数带回信息。函数调用时实参与形参间交换信息的方法有值调用和引用调用两种。
        (1)值调用(Call by value)。若实现函数调用时实参向形式参数传递相应类型的值(副本),则称为是传值调用。这种方式下形参不能向实参传递信息。
        在C语言中,要实现被调用函数对实参的修改,必须用指针作形参。即调用时需要先对实参进行取地址运算,然后将实参的地址传递给指针形参。本质上仍属于值调用。这种方式实现了间接内存访问。
        (2)引用调用(Call by Reference)。引用是C++中增加的数据类型,当形参为引用类型时,形参名实际上是实参的别名,函数中对形参的访问和修改实际上就是针对相应实际参数所作的访问和改变。例如:
        
        函数调用:swap(a,b);。
        在实现调用swap(a,b)时,x、y就是a、b的别名,因此,函数调用完成后,交换了a和b的值。
 
        栈
               栈的定义及基本运算
               栈是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。换句话说,栈的修改是按先进后出的原则进行的。因此,栈又称为先进后出(FILO)或后进先出(LIFO)的线性表。在栈中进行插入和删除操作的一端称为栈顶(top),相应地,另一端称为栈底(bottom)。不含数据元素的栈称为空栈。栈的基本运算如下:
               ①初始化栈initStack(S):创建一个空栈S。
               ②判栈空isEmpty(S):当栈S为空栈时返回“真”值,否则返回“假”值。
               ③入棧push(S,x):将元素x加入栈顶,并更新栈顶指针。
               ④出栈pop(S):将栈顶元素从栈中删除,并更新栈顶指针。若需要得到栈顶元素的值,可将pop(S)定义为一个函数,它返回栈顶元素的值。
               ⑤读栈顶元素top(S):返回栈顶元素的值,但不修改栈顶指针。
               栈的存储结构
               (1)栈的顺序存储。栈的顺序存储是指用一组地址连续的存储单元依次存储自栈顶到栈底的数据元素,同时附设指针top指示栈顶元素的位置。采用顺序存储结构的栈也称为顺序栈。在顺序存储方式下,需要预先定义或申请栈的存储空间,也就是说栈空间的容量是有限的。因此在顺序栈中,当一个元素入栈时,需要判断是否栈满(栈空间中没有空闲单元),若栈满,则元素入栈会发生上溢现象。
               (2)栈的链式存储。为了克服顺序存储的栈可能存在上溢的不足,可以用链表存储栈中的元素。用链表作为存储结构的栈也称为链栈。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必设置头结点,链表的头指针就是栈顶指针。
               栈的应用
               栈的典型应用包括表达式求值、括号匹配等,在计算机语言的实现以及将递归过程转变为非递归过程的处理中,栈有重要的作用。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有