C语言简史及特点
C语言的产生和发展与UNIX操作系统有着十分密切的关系。它是在研制UNIX操作系统过程中诞生,并伴随着UNIX操作系统的发展而流行的。
20世纪70年代,戴尼斯·利奇(Dem is Ritchie)和布朗·卡尼汉(Brian Kernighan)提出了一种按结构化程序设计思想进行程序设计的新型语言——C语言,1973年新的UNIX版本完全用C语言编写。C语言最初只是在贝尔实验室内部使用,但80年代后,随着UNIX操作系统的成功和广泛流行,C语言便逐渐在大学和研究机构中推广应用,成为软件开发中深受欢迎的一种编译型的程序设计语言。
由于C语言的广泛应用,适用于各种不同操作系统和不同机种的C语言编译系统相继出现,有几十种之多,虽然它们的语言功能基本一致,但市场上不同版本之间存在着某些差异。为了规范C语言并提高C语言程序的可移植性,美国国家标准委员会ANSI,制定了C语言的ANSI标准,现在,市场上大多数C编译器都是按ANSI C开发的。同时,不同编译器版本也可能提供一些独有的特点,比如在程序的运行方式,库函数的种类、功能、格式和调用上的一些差别。本书以美国国家标准C语言为基础,同时兼顾其他不同版本中通用性、一致性的内容予以叙述。
C++语言是在C语言的基础上,于20世纪80年代后期研制成功的一种面向对象的程序设计语言,C++在软件研发领域的广泛应用,已显示出该语言具有很强的生命力和发展前景。C++较C语言优越主要体现在,它既支持数据抽象,具有面向对象的语言的全部特点,又包括了C语言的全部功能。学好C语言将为学习C++奠定良好的基础。
C语言之所以能迅速发展,广为流行,具有生命力,这与C语言具有如下特点是分不开的:
1.C语言是一种兼有高级语言和汇编语言优点的语言。既有高级语言面向用户、语句简单、编程容易的优点,又有一般高级语言难以完成,只有汇编语言才能进行的处理和操作,如地址操作、位操作、寄存器操作、系统功能调用等。
2.C语言是一种结构化程序设计语言。使用C语言提供的结构化语句,便于实现自顶向下、逐步细化的结构化程序设计方法。C语言的主要结构成分是函数。程序以函数为模块的结构有利于把整体程序分割成若干相对独立的功能模块,并且为程序模块间的相互调用及数据传递提供了方便,这一特点有利于大型软件模块化,为多人共同开发大型软件的软件工程技术方法提供了强有力的支持。
3.C语言数据类型丰富。C语言数据类型包括:整型、实型、字符型、数组类型、结构类型、联合类型、枚举类型及指针类型等,可以用来实现各种复杂的数据结构。C语言具有较强的数据处理能力。
4.C语言具有种类丰富的运算符。除一般高级语言具有的运算功能外,还可以实现以二进制位为单位的位运算,自增、自减等单目运算及各种复合赋值运算等。丰富的数据类型与丰富的运算符相结合,使C语言具有表达灵活和高效率的优点。
5.C语言具有预处理功能。采用预处理语句给大型程序的编写和调试提供了方便。
由于上述的特点,作为一种系统程序设计语言,C语言已广泛用于为各种不同的计算机系统编写有关的系统软件,如操作系统、编译系统、汇编器及编辑器等。作为一种应用程序设计语言,C语言已广泛用于编写各种应用领域的应用软件,例如,数据库管理软件、CAD/CAM软件、文字处理软件、图形软件、办公自动化软件、科学计算及工程应用软件等。人们喜爱C语言的原因除上述具有的优点外,还由于各种C编译系统为用户提供了大量丰富的C库函数。这些库函数能帮助人们解决相当多的程序设计问题。直接调用库函数,可简化程序设计的过程和难度,提高编程效率。

