首页 > 代码库 > 番外篇之程序开发过程及基本术语

番外篇之程序开发过程及基本术语

编程这玩意有好多琐碎的概念,有些东西真要拉出来说说的,比如:

计算机加工的对象是数据信息,而指挥计算机操作的是控制信息,因此计算机内部的信息可以划分如下:


                                     / 指令
                  / 控制信息
                /                    \ 控制字
              /
    信息                                            / 定点数
              \                       / 数值信息
                \                   /                   \ 浮点数
                  \数据信息
                                    \                       / 字符数据
                                      \非数值信息
                                                            \ 逻辑数据

计算机编程这件事事实上就是用一段话将一件事情描述清楚,只是要求描述这件事须要用计算机语言,需要将其编辑成文件。计算机语言有"机器语言"、"汇编语言"和各种"高级语言"。计算机编程过程中我们需要了解程序开发过程和基本术语。

(1)源程序:用源语言编写的、有待翻译的程序称为"源程序",也叫"源代码"。源语言可以是汇编语言,也可以是各种高级语言。
(2)目标程序:源语言经过翻译程序加工以后生成的程序称为"目标程序",也叫"目标代码"。目标程序可以是机器码,但往往经过翻译程序加工后生成的程序,例如汇编码或其他中间语言的程序也被成为目标程序。

PS:翻译程序,是指用来把源程序翻译为目标程序的程序,往往称为"翻译器"。对于翻译器来说,源程序是她的输入,目标程序是她的输出。翻译程序有三种不同类型:汇编程序、编译程序(编译器)、解释程序(解释器)。

    高级语言所编制的程序不能被计算机直接执行,必须经过翻译程序(翻译器)转换才能被执行,按照翻译器的具体转换方式可以将高级语言分"解释类"和"编译类"两大类。

   "解释类",解释类语言的翻译器复杂度较低。解释器一边读取源代码一边执行,也就是说"解释执行",边解释边执行。一般解释类语言都不需要产生目标程序,程序执行期间不能脱离解释器独立运行,程序执行期间完全有解释器控制。这种解释型语言比较灵活,可以动态地、便捷的修改程序,感觉上解释器就像一台"虚拟计算机",而这台"虚拟计算机"的机器语言就是这高级语言本身。典型的解释型高级语言就是BASIC语言。

   "编译类", 编译型语言的翻译器复杂度较高,一般需要将高级语言的源代码进行深入的分析并翻译成与之等价的目标程序。目标程序可以脱离编译器在适当环境中独立运行。典型的编译型语言就是C/C++语言。


    一般我们说一种高级语言是"解释的"还是"编译的",往往是根据它的翻译器是否对源程序是否做了彻底的分析,有关目标程序与源程序有没有很强的相似性。如果它的翻译器做
了彻底的分析、有关目标程序与源程序根本没有强烈的相似性,那么我们一般都说这种高级语言是编译的,否则我们说这种高级语言是解释的。

    根据上面的简单讨论,我们知道BASIC是典型的解释型语言,C/C++是典型的编译型语言。Java是看上去是一种介于解释型和编译型之间的语言,一般我们认为java语言是编译的。



   

    C/C++语言计算机程序开发步骤
1、使用vi编写源程序文件
2、使用编译器gcc对源程序进行翻译处理
3、使用命令./a.out执行得到的可执行文件

---->2、使用编译器gcc对源程序进行翻译处理。这个步骤也可以细分为四个过程:
    (1)编译预处理。这个过程编译器需要执行完编译预处理指令
    (2)编译。这个过程编译器需要将源程序处理成汇编码
    (3)汇编。这个过程编译器需要将汇编码处理成机器码

    (4)链接。这个过程编译器须要将机器码文件与其他机器码文件、库文件等链接成一个可执行的机器码文件。


 计算机语言源程序由词法记号、空白和注释构成。介绍几个基本概念:字符集、词法记号、空白和注释:
(1)字符集 字符集是构成语言源程序的基本元素。要知道,在C语言源程序中,除了字符数据外,其它所有成分都只能是由字符集中的字符构成。
(2)词法记号 词法记号是最小的词法单元。要知道,在C语言源程序中,词法记号有5种,他们是"关键字","标识符","文字","操作符","分隔符"。
         1、关键字:例如int void while return
         2、标识符:由程序员自己命名,不可以是关键字!命名必须以字母或_开头,可以由字母(大写或小写)、数字(0-9)和_组成。
         3、文字:语言源程序中直接使用符号本身来表示数据信息的记号称为"文字",它>    们有"数字","字符","字符串"以及C++语言中的布尔文字true和false
         4、操作符:例如+ - * /  
         5、分隔符:例如{}、[]、;、,和:

(3)空白 空白是空格、制表符、换行符和注释的总称。在编译器编译的词法分析阶段 ,编译器就专门将源程序分解为词法记号和空白。
(4)注释 注释分多行注释和单行注释,可以出现空白的地方都可以出现注释。

番外篇之程序开发过程及基本术语