跳转至

第一章 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语言的优点

  1. 高效。发明C语言的目的是为了替代汇编语言。

  2. 可移植。有标准库的存在。

  3. 功能强大、灵活。C语言的数据类型和运算符集合有足够强大的表达能力。

  4. 与Unix集成。

C语言的缺点

  1. C程序更容易隐藏错误。由于其灵活性,导致编写的代码令编译器很难检查错误。

  2. C程序可能会难以理解。

  3. C程序可能会难以修改。因为它设计时没考虑到维护的问题。C语言没有提供类,包等模块化概念。

高效地使用C语言

  1. 学习规避C语言的缺陷。比如越界问题。
  2. 使用软件工具。
  3. 利用现有的代码库。
  4. 采用切合实际的编码规范。
  5. 避免“投机取巧”和极度复杂的代码。
  6. 使用标准C,少用经典C。标准C即是 ANSI C ,本书采用的是标准C。
  7. 避免不可以移植性。