【编程与编程语言】
从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了以机器语言、汇编语言、高级语言分别为主要编程语言的几个阶段。
【编程语言的分类】
1.机器语言
使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。
优点:程序占用内存少、执行效率高。
缺点:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。
2.汇编语言
使用助记符号来表示计算机指令的语言被称为符号语言,也被称为汇编语言。用汇编语言编写的程序称为源程序,必须通过某种方法将它翻译成为计算机能够理解并执行的机器语言,执行这个翻译工作的程序称为汇编程序。
优点:便于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配。
3.高级语言
高级语言是一类接近于人类的自然语言和数学语言的程序设计语言的统称。高级语言按照一定的语法规则,由表达各种意义的运算对象和运算方法构成。用高级语言编写的程序称为源程序,必须通过一个语言处理系统将其转换为计算机系统能够认识、理解的目标程序才能被计算机系统执行。
优点:编程相对简单、直观、易理解、不容易出错;程序通用性好,具有较好的移植性。
【高级语言的分类】
高级语言根据用途不同有很多分类,主要可以分成编译型语言和解释型语言。
1.编译型语言
编译型语言包括 C、C++、Fortran、Pascal、Delphi 等。使用比较方便、效率较高。应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行,只有目标文件而没有源代码,几乎是没法修改的。大多数软件产品都是编译后发行给用户的。(编译是指在应用源程序执行之前,就将程序源代码“翻译”成汇编语言,然后进一步的根据硬件环境被变成符合运行需要的机器语言的目标文件。)
2.解释型语言
解释型语言包括 Tcl、Perl、Ruby、VBScript、JavaScript 等。解释型语言的实现中,翻译器并不产生机器语言的目标文件,而是产生易于执行的中间代码,这种中间代码与机器代码是不同的,中间代码的解释是由解释器软件支持的,不能直接使用硬件,解释器软件通常会导致执行效率较低。用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的。解释程序的优点是当语句出现语法错误时,可以立即引起程序员注意,而程序员在程序开发期间就能进行校正。
3.编译型语言与解释型语言的区别
与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令,不需要将源程序翻译成目标代码后再执行。一般地来说,如果你听别人说到动态语言,大多都是指解释型语言。
【二进制】
二进制是计算技术中广泛采用的一种数制。二进制数据是用 0 和 1 两个数码来表示的数。它的基数为 2,进位规则是“逢二进一”,借位规则是“借一当二”,由 18 世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统。
【二进制原理】
二进制数据是采用位置计数法,其位权是以 2 为底的幂。
例如二进制数据 110.11,逢 2 进 1,其权的大小顺序为 22、21、20、2−1、2−2,表示十进制如下:
1∗22+1∗21+0∗20+1∗2−1+1∗2−2=6.75
【二进制计算】
二进制数据的算术运算的基本规律和十进制数的运算十分相似。最常用的是加法运算和乘法运算。
二进制加法
0+0=0
0+1=1
1+0=1
1+1=10
二进制乘法
0∗0=0
1∗0=0
0∗1=0
1∗1=1
二进制减法
0−0=0
1−0=1
1−1=0
10−1=1
二进制除法
0÷1=0
1÷1=1