1、程序与程序设计语言的基本知识
1)程序:为解决某一问题而采用程序设计语言编写的一个指令集合。
程序=算法(对操作的描述)+数据结构(对数据的描述)+程序设计语言+语言工具和环境。
2)程序的特点:目的性、有序性、分步性、有限性、操作性。
3)程序设计语言---按发展过程分类
(1)机器语言
由一连串的0和1二进制代码组成,能被计算机直接理解和执行的指令集合。
指令格式:
操作码操作数
(2)汇编语言
使用“助词符”来表示指令的操作码,使用存储单元或寄存器的名字表示地址码。
可读性好,易查错,方便修改,占存储空间少,执行速度快。
(3)高级语言
与机器指令系统无关,独立于机器的程序设计语言,所使用的符号接近人类的自然语言,表达形式接近于被描述的问题。
高级程序设计语言分类:
面向过程的语言:程序不仅要说明做什么,还要详细说明如何做,程序需要详细描述解题的过程和细节;目的在于高效的实现各种算法。
面向问题的语言:又称为非过程化语言或第四代语言,只需指出要计算机做什么、数据的输入和输出形式,就能得到所需结果;目的在于高效、直接地实现各种应用系统。
面向对象的语言:将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性和行为,形成类,通过继承和多态重用。
4)翻译程序(编译器)
(1)定义:其他编程语言必须经过一个翻译过程才能转换成机器语言,实现编译过程的工具是语言处理程序。
(2)汇编程序
定义:将汇编语言编制的程序(称源程序)翻译成机器语言程序(称目标程序)的工具。
翻译工作的步骤:
用机器操作码代替符号化的操作符。
用数值地址代替符号名称。
将常数翻译为机器的内部表示。
分配指令和数据的存储单元。
作用:
(3)翻译程序
定义:将高级语言编写的源程序翻译成目标程序的工具。
工作方式:
解释方式:解释程序
解释程序对源程序逐条地解释执行,不产生目标代码,程序执行时,解释程序和源程序一起参加运行。
解释方式执行速度较慢的原因:
每次运行需重新解释。
若程序较大,且错误发生在程序后面,则前面的运行是无效的。
解释程序只看到一句语句,无法对整个程序优化。
编译方式:编译程序
对整个源程序经过编译处理后,产生一个与源程序等价的目标程序。
编译过程的六个阶段:词法分析、语法分析、语义分析、中间代码生成、代码