第2章 程序设计语言基础知识
2.1程序设计语言概述
2.1.4程序设计语言的分类
- 命令式和结构化程序设计语言:C、PASCAL、Fortran
- 面向对象的程序设计语言:C++、Java、Smalltalk
- 函数式程序设计语言:Haskell、Scala、Scheme、APL
- 逻辑型程序设计语言:PROLOG,PROLOG有很强的推理功能,适用于编写自动定理证明、专家系统和自然语言理解等问题的程序。
2.2语言处理程序基础
语言处理程序主要分为:汇编程序、编译程序和解释程序3种基本类型。
2.2.1汇编程序基本原理
1.汇编语言
三类语句:指令语句、伪指令语句和宏指令语句,指令语句与伪指令语句区别:伪指令预警经汇编后不产生机器代码,而指令语句经汇编后产生相应的代码。另外,伪指令语句所指示的操作是在源程序被汇编时完成的,指令语句的操作必须在程序运行时完成。
2.汇编程序
功能:将用汇编语言编写的源程序翻译成机器指令程序。
两次扫描: 第一次扫描的主要工作是定义符号的值并创建一个符号表ST,ST记录了汇编时所遇到的符号的值。第二次扫描的任务是产生目标程序。
第3章 数据结构
3.1.2 栈和队列
1. 栈
1)栈的定义及基本运算
(1)栈的定义。
栈是只能通过访问它的一端来实现数据存储和检索的一种线性数据结构。栈又称后进先出的线性表,在栈中进行插入和删除操作的一端称为栈顶,另一端称为栈底。
(2)栈的基本运算。
①初始化栈InitStack(S):创建一个空栈S。
②判栈空isEmpty(S):当栈S为空时返回True,否则返回False
③入栈Push(S,x):将元素x加入栈顶,并更新栈顶指针
④出栈Pop(S):将栈顶元素从栈中删除,并更新栈顶指针。
⑤读栈顶元素Top(S):返回栈顶元素的值,但不修改栈顶指针。