1. C 语言诞生
1972 年,美国贝尔实验室的 Dennis Ritchie 在 B 语言的基础上创造了 C 语言。B 语言是美国贝尔实验室的 Ken Thompson 于 1970 年,以 BCPL(Basic Combined Programming Language 基本组合编程语言)为基础设计出来的。而 BCPL 是……我的天……离题了……打住打住!
2. 为何学 C 语言
高效:用 C 语言编写的程序编译后生成的可执行文件小巧,而且运行速度很快。
移植性好:在某个系统下写的C程序不经修改(或者少量修改),重新编译后就可以运行于别的系统。
功能强大:C 可以用于编写操作系统,也可以用于编写编译器和解释器。大多数 Unix 操作系统都是使用 C 来编写的。我们也可以编写 C 程序解决物理和工程上的问题。
低级性:C 语言是一种相对“低级”的语言。这种说法并并没有贬义,而是意味着 C 语言精练而且接近硬件。C 语言可以像汇编语言一样对位、字节和内存地址进行操作。
3. C 编译器
C 语言是高级语言,而计算机只懂机器语言,不懂高级语言,故而我们需要用编译器把 C 程序编译成机器语言,这样计算机才可以运行我们用 C 语言编写的程序。编译器的用法请参考:
4. 语言标准
起初,C 语言没有官方标准。那时《C 程序设计语言(第一版)》(Brian Kernighan 和 Dennis Ritchie 于 1978 年合著)是被广泛接受的标准。通常称为 K&R C 或者经典 C(classic C)。书中附录的《C 参考手册(C Reference Manual)》作为编写 C 编译器的指南,虽然定义了 C 语言,却没有定义 C 标准函数库(Library Standard)。而 C 语言依赖于标准函数库,所以需要定义标准函数库。1983 年,美国国家标准协会(ANSI)成立 X3J11 委员会,致力于建立一个严格的 C 语言标准。X3J11 建立的标准于 1989 年被正式采纳。这个标准(ANSI C89)不但定义了 C 语言,而且定义了 C 标准函数库。1990 年,国际标准化组织(ISO)也采纳了这个标准,称为 ISO C90。C89 标准和 C90 标准完全一样。
1994 年,ANSI 和 ISO 合作,成立 C9X 委员会,致力于修订 C 标准,并且最终建立了 C99 标准。
注意:在后面的教程中,除非特别说明 C99 特有,否则都是 C89 和 C99 的共同标准。当前支持 C99 标准的编译器不多。VC6 和 TC 都不支持;GCC3.2 支持。VC7.1 及其更高版本我没用过,不知道支不支持,我猜应该支持吧。
参考资料:C Primer Plus, 5th Edtion By Stephen Prata
扩展阅读: (若链接失效,敬请指出)
本文版权归 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。