第一章 C语言概述
C语言是20世纪70年代初期,在贝尔实验室开发出来的一种用途广泛的编程语言。
C语言的历史
C语言是Unix系统开发过程中的一个副产品。它被用来重写Unix系统。
到20世纪80年代,许多计算机开始使用C语言开发程序,为了保证其程序的可移植性,建立标准成为了共识。
1989年,通过C89标准。
1999年,通过C99标准,但这个标准还没有被普遍使用。
C++ 语言
虽然采纳了 ANSI/ISO 标准以后C语言自身不再发生变化。但是,从某种意义上说,随着基于C语言的新式语言的产生,C语言的演变还在继续。新式语言包括C++。它在许多方面对C语言进行了扩展,尤其是增加了面向对象编程的特性。
随着C++语言的迅速普及,在不久的将来你很可能会用C++语言编写程序。果真如此,为何还要费心学习C语言呢?首先,C++语言比C语言更加难学,因此在掌握C++语言前,最好先精通C语言;其次,我们身边存在着大量的C语言代码,需要去维护和阅读;最后,不是每个人都喜欢改用C++编程,例如对于编写小规模的程序,使用C++反而不会获得多少好处。
C语言的优缺点
C语言的优缺点都源于它最初的用途,以及其基础理论体系。
-
C语言是一种底层语言。它提供了对内存访问的功能。C程序的许多服务都依赖于操作系统提供的接口。
-
C语言是一种小型语言。C语言的特性不多,应用程序的绝大部分功能依赖于标准库。
-
C语言是一种包容性语言。C语言假设用户知道自己在做什么,因此有编写自由度。C语言不强制进行错误检查。
C语言的优点
-
高效。发明C语言的目的是为了替代汇编语言。
-
可移植。有标准库的存在。
-
功能强大、灵活。C语言的数据类型和运算符集合有足够强大的表达能力。
-
与Unix集成。
C语言的缺点
-
C程序更容易隐藏错误。由于其灵活性,导致编写的代码令编译器很难检查错误。
-
C程序可能会难以理解。
-
C程序可能会难以修改。因为它设计时没考虑到维护的问题。C语言没有提供类,包等模块化概念。
高效地使用C语言
- 学习规避C语言的缺陷。比如越界问题。
- 使用软件工具。
- 利用现有的代码库。
- 采用切合实际的编码规范。
- 避免“投机取巧”和极度复杂的代码。
- 使用标准C,少用经典C。标准C即是 ANSI C ,本书采用的是标准C。
- 避免不可以移植性。