C和C++是世界上最重要的编程语言。在当今的世界中,要成为专业的程序员,就意味着必须熟悉这两种语言。它们是现代编程的基础。C语言是在20世纪70年代由DennisRitchie发明的。它是一种中级语言。C语言将高级语言的控制结构、位操作能力以及指针(地址)结合起来。这样,程序员就几乎可以使用C语言完全控制机器。C语言是在1980年末第一次标准化的,当时采用了C语言的ANSI(美国国家标准化协会,AmericanNationalStandardsInstitute)标准。这一版本的C语言通常称为C89。这一标准还由ISO(国际标准化组织,InternationalStandardsOrganizaion)所采用。1995年,C89又做了细微的修订。C++是在1979年由BjarneStroustriup发明的。在20世纪80年代以及90年代的大部分时间里,许多人为C++的发展和修订做出了不懈的努力。最后,在1998年,采用了C++的一个ANSl/lSO标准。简单地说,C++就是C语言的面向对象版本。C++是在C89及其1995年修订的基础上构建起来的。实际上,C89所定义的C语言版本通常被称为“C++的C子集”。虽然C++是从对C语言的一组面向对象扩展开始的,但很快它就发展成为一种独立的编程语言。今天,C++的大小几乎是C语言的两倍。毋庸赘述,C++是人类所设计出来的最强大的计算机语言之一。在1999年,采用了C语言的一个新的ANSI/ISO标准。这个版本称为C99。它包括了许多改进以及几种新功能。其中一些“新”功能是从C++借鉴的,而另外一些则是全新的创新,因此,C99所添加的某些功能与C++不兼容。这表示随着C99的出现,标准C语言不再是C++的纯子集。所幸的是,许多不兼容性是与很容易避免的专用功能相关的。因此,仍然能够很方便地编写与C和C++都兼容的代码。在编写本书时,还没有一种主要的编译器接受了所有的C99添加功能,但这种状况肯定是要改变的。下表简单地介绍了C89、C99和C++之间的关系。C89C语言最初的ANSI/ISO标准。C89就是现在大部分程序员认作C语言的版本。C++C语言的面向对象版本。C++的当前ANSl/lSO标准是在C89的基础上建立起来的,因此,C89形成了C++的子集。C99C语言的最新版本。包括C89的所有功能,并且添加了几种新功能。C++的当前标准不支持其中的一些新功能。本书介绍了C89、C99和C++。当某种功能为其中一种语言所独有时,就会标记出来。否则,就意味着此功能适用于所有这三种语言。毫无疑问,C和C++是两个很大的主题。因此,在这里覆盖这两种重要语言的所有方面是不可能的。相反,这本参考手册浓缩了这两种语言的主要功能,以方便读者的使用。