第一章 C语言概述
1.1 C语言的历史
C语言是在1972年,由Dennis Ritchie创造并首先在配备UNIX操作系统的DEC PDP-11计算机上实现的,它是早期计算机语言BCPL发展过程的产物,是从BCPL语言和B语言演化而来的。
1978年,Brian Kernighan和Dennis Ritchie出版了《The C Programming Language》,这本书是C语言的“圣经”,是最成功的计算机学著作之一。它描述了传统C语言(即UNIX V系统配备的C语言)。
1983年,ANSI(美国国家标准学会)计算机和信息处理部门(代号X3)成立了X3J11技术委员会,负责制订定义C语言的标准。1988年,Kernighan和Ritchie出版了《The C Programming Language》第二版介绍标准版。1989年,ANSI C标准被完全采用,称C89;并于1990年推出第一个范本。ISO(国际标准化组织)也采用此标准。1995年,C标准第一次修订版被采用。1999年,再一次形成新的C标准,称C99。
C89是标准C++的基础文档,被所有C编译程序所接受。
1.2 C语言的特点
在一种编程语言中可用来表达编程思想的词汇,毫无疑问地决定了你将如何表达你的思想,甚至可能决定了你能表达什么样的思想。
――《代码大全》,P63
·C是中级语言
C语言之所以是中级语言,是因为它把高级语言的最佳成分同汇编语言的控制和灵活性结合起来了。
作为中级语言,C允许对位、字节和地址进行操作。同时C如同其他高级语言一样支持数据类型概念,C有五种固有的基本数据类型;但它不是强类型语言,即C几乎允许所有类型的转换。
C几乎不进行运行时的错误检查;那是程序员的责任。
C不像其他高级语言那样严格要求参数和变元间的类型兼容。C的变量的类型可以是任意的,只要它能够转换成参数的类型就行。
跟其他高级语言相比,C的关键字非常的少,C89仅仅32个,C99只增加了5个。(表1-1,1-2,1-3)
·C是结构化语言
1971年,Nicklaus Wirth开发出Pascal语言,它是为结构化程序设计的教学而设计的。结构化程序设计是编写清晰、正确和易于修改的程序的严格方法。
C语言是结构化语言(structured language)。其显著特征是代码和数据的封装(compartmentalization);即把执行某个特殊任务所需指令和数据从程序的其余部分分离出去,隐藏起来。
获得这种隔离(即实现结构化和代码隔离)的方法之一是,调用使用局部(临时)变量的子程序,即函数。函数是C的主要结构成分,它是一种构件(程序块),程序所有操作都在其中发生。函数允许一个程序中的诸任务被分别定义和编码,使程序模块化。
实现结构化和代码隔离的另一个方法是使用复合语句(或称分程序)。一个复合语句是作为一个语句处理的且在逻辑上相互关联的一组语句。在C语言中,复合语句就是处于一对大括号间的语句序列。
·C是面向程序员的语言