1.2 C语言的产生与发展
C语言是在20世纪70年代初问世的。1978年,美国电话电报公司(AT&T)的贝尔实验室正式发表了C语言。同时,由Brian W. Kernighan和Dennis M. Ritchie合著了著名的《The C Programming Language》,通常简称为《K & R》,也称为《K & R》标准。此书介绍的C语言成为后来被广泛使用的C语言版本的基础,被称为标准C。但是,在《K & R》中并没有定义一个完整的标准C语言,因而出现了许多不同的C语言版本。后来,根据这些版本对C语言的扩充和发展,美国国家标准协会(ANSI,American National Standards Institute)重新制定了新的标准,并于1983年发表,通常称为ANSI C。1988年,按ANSI C标准又重写了《The C Programming Language》一书。很多C语言教材都是以ANSI C为基准编写的。目前,广泛流行的各种C语言版本的编译系统的基本内容是相同的,只是在个别地方有所不同。
早期的C语言主要用于UNIX操作系统。由于C语言的强大功能和各方面的优点逐渐被人们所认识,到了20世纪80年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。特别是微型计算机上的C语言的普及,反过来又极大地推动了C语言的发展。
C语言的产生和发展与UNIX操作系统是密不可分的,可以说,C语言就是为编写UNIX操作系统而设计并加以实现的。UNIX操作系统的源代码有90%以上是用C语言编写的,它的流行应归功于C语言。
其实,C语言并不是孤立产生的,它是在B(BCPL的第一个字母)语言的基础上发展起来的,而B语言又是在A(ALGOL)语言基础上发展而来的。1960年出现的ALGOL 60与硬件相差甚远,不宜用来编写系统程序。1963年,英国的剑桥大学推出了比较接近于硬件的CPL(Combined Programming Language)语言,该语言规模较大,不宜实现。1967年,剑桥大学的Martin Richards对CPL进行简化推出了BCPL(Basic Combined Programming Language)语言。1970年,美国贝尔实验室又在BCPL语言基础上进一步简化推出了B语言,但B语言的功能太简单。于是,1972年,贝尔实验室的D. M. Ritchie又在B语言的基础上推出了C(BCPL的第二个字母)语言。
C语言为UNIX系统而设计,又由于UNIX系统的日益广泛使用而迅速得到推广,到20世纪80年代,C语言已风靡世界。