作者:empty 页数:388 出版社:empty |
C语言出现的历史青景1.2C语言的特点C语言是国际上广泛流行的,很有发展前途的计算机高级语言,它适合于作为系统描述语言,既可用来写系统软件.也可用来写应用软件,以前的操作系统等系统软件主要是用汇编语言编写的(包括UNIX操作系统在内) 。由于汇编语言依赖于计算机硬件.程序的可读性和可移植性都比较差,为了提高可读性和可移植性,最好改用高级语言,但一般高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作,例如、对内存地址的操作,位操作等)。人们没想能否找到一种既具有一般高级语言特性.又具有低级诸言特性的语言,集它们的优点于一身,于是,C语言就在这种情况下应运面生了
C语言是在B语言的基础上发展起来的.它的根源可以追溯到ALGOL 60.1960年出现的ALGOL 60是一种面向问题的高级语言, 它离硬件比较远, 不宜用来编写系统程序.1963年英国的剑桥大学推出了CPL(combined programming language) 语言。CPI.语吉在ALGOL 60的基础上接近硬件一些, 但规模比较大, 难以实现。1967年英国剑桥大学的Matin Richards对CPL语言做了简化·推出了BCPL(basic combined programminglanguage) 语.1970年美国贝尔实验室的Ken Thompson以BCPL言为基础、又做了进一步简化, 设计出了很简单的面且很接近硬件的B语言(取BCPL的第一个字母) ,并用B语言写了第一个UNIX操作系统, 在PDP-7上实现。1971年在PDP-11/20上实现了B语言, 并写了UNIX操作系统。但B语言过于简单.功能有限, 1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPL的第二个字时) , C语言既保持了BCPL和B语言的优点(精练.接近硬件) , 又克服了它们的缺点(过于简单, 数据无类型等) 。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言面设计的, 1973年.K.Thomp so a和D.M.Ritchie两人合作把UNIX的90%以上用C改写, 即UNIX第5版。原來的UNIX操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的, 是用汇编语言写的,后来,对C语言多次做了改进.但主要还是在贝尔实验室内部使用。直到1975年U-NIX第6版公布后.C语的突出优点才引起人们的普注意, 1977年出现了不依帧于具体机器的C语吉编译文本《可移植C语言编译程序》使C移植到其他机器时所需做的工作大大简化了, 这也推动了UNIX操作系统迅速地在各种机器上实现, 例如VAX、AT&.T等计算机系统都相维开发了UNIX.随着UNIX的日羞广泛使用, C语言也迅速得到推广, C语言和UNIX可以说是一对李生兄弟.在发展过程中相辅相成, 1978年以后.C语言已先后移植到大、中、小、徽型机上, 已独立于UNIX和PDP了。现在C语言己风靡全世界,成为世界上应用最广泛的几种计算机语言之一以1978年发表的UNIX第7版中的C编译程序为基础, Bran W.Kernighan和Tennis M.Ritchie(合称K&.R) 合著了影响深远的名著(The C Programming Language》,这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C,1983年.美国国家标准化协会(AN SD根据C语言问世以来各种版本对C的发展和扩充, 制定了新的标准, 称为ANS1C, ANSIC比原来的标准C有了很大的发展, K&R在1988年修改了他们的经典著作(The C Progra rn ming Language) , 按照ANSIC标准重新写了该书.1987年.ANSI又公布了新标准--87ANSIC.1990年, 国际标准化组织ISOC Inter-nation a i Standard Organza on) 接受87ANS1C为ISOC的标准(ISO 9899-1990) .H前流行的C编译系统都是以它为基础的。本书的叙述丛本上以ANSIC为基础。目前广泛流行的各种版本C语言编译系统虽然基本部分是相同的,但也有一些不同。在徽型机上使用的有Microsoft C, Turbo C, Quick C, BORLAND C等, 它们的不同版本又略有差异.因此,读者应了解所用的计算机系统所配置的的C编译系统的特点和规定(可以参阅有关手册)。