了解程序(1)


什么是计算机程序?

所谓程序,就是一组计算机能识别和执行的指令。
每一条指令使计算机执行特定的操作。
计算机的本质是程序的机器。
程序和指令是计算机系统中最基本的概念。


什么是计算机语言

机器语言(machine language)

计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令。
在计算机发展的初期,一般计算机的指令长度为16,即以16个二进制数(0或1)组成一条指令,16个0和1可以组成各种排列组合。
这种计算机能直接识别和接受的二进制代码称为机器指令(machine instruction)。
机器指令的集合就是该计算机的机器语言

符号语言(symbolic language)

它用一些英文字母和数字表示一个指令,例如用ADD代表“加”,SUB代表"减",LD代表“传送”等。
例子 ADD A,B(执行A+B=>A,将寄存器A中的数与寄存器B中的数相加,放到寄存器A中)
显然,计算机并不能直接识别和执行符号语言的指令,需要用一种称为汇编程序的软件把符号语言的指令转换为机器指令。一般,一条符号语言的指令对应转换为一条机器指令。转换的过程称为“代真”或“汇编”,因此,符号语言又称为符号汇编语言(symbolic assembler language)或汇编语言(assembler language)。
不同型号的计算机的机器语言和汇编语言是互不通用的。用甲机器的机器语言编写的程序在乙机器上不能使用。机器语言和汇编语言是完全依赖于具体机器特性的,是面向机器的语言。由于它“贴近”计算机,或者说离计算机“很近”,故称为计算机低级语言(low level language)。

高级语言(high level language)

20世纪50年代创造出了第一个计算机高级语言——FORTRAN语言。
这种语言功能很强,且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用(或只须作很少的修改),它与具体机器距离较“远”,故称为计算机高级语言
当然,计算机也是不能直接识别高级语言程序的,也要进行“翻译”。用一种称为编译程序的软件把用高级语言写的程序(称为源程序(source program))转换为机器指令的程序(称为目标程序(object program)),然后让计算机执行机器指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令。
高级语言经历了不同的发展阶段:

(1)非结构化的语言

初期的语言属于非结构化的语言,编程风格比较随意,只要符合语法规则即可,没有严格的规范要求,程序中的流程可以随意跳转。
比如早期的BASIC,FORTRAN和ALGOL等都属于非结构化的语言。

(2)结构化语言

规定程序必须由具有良好的特性的基本结构(顺序结构、选择结构、循环结构)构成。
QBASIC,FORTRAN77和C语言等属于结构化的语言,这些语言的特点是支持结构化程序设计方法。
以上两种语言都是基于过程的语言。

(3)面向对象的语言

程序面对的不是过程的细节,而是一个个对象,对象是由数据以及对数据进行的操作组成的。
C++,C#,Visual Basic和Java等语言是支持面向对象程序设计方法的语言。

posted @ 2020-03-04 17:10  顿坦森  阅读(310)  评论(0)    收藏  举报