天天看点

《C++程序设计教程(第3版)》——第1章,第2节从C到C++

本节书摘来自华章出版社《c++程序设计教程(第3版)》一书中的第1章,第1.2节从c到c++,作者张志航,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.2 从c到c++

c语言是美国贝尔实验室的dennis ritchie在b语言的基础上开发出来的,1972年在计算机dec pdp-11上实现了最初的c语言。当时设计c语言是为了编写unix操作系统,unix操作系统90%的代码由c语言编写,10%的代码由汇编语言编写。随着unix操作系统的广泛使用,c语言也被人们认识和接受。

c语言在各种计算机上的快速推广导致出现了许多c语言版本。这些版本虽然是类似的,但通常不兼容。显然人们需要一个与开发平台和机器无关的标准的c语言版本。1989年美国国家标准协会(american national standard institute,ansi)制定了c语言的标准(ansi c)。brian kernighan和dennis ritchie编著的《the c programming language》(1988年)介绍了ansi c的全部内容,该书被称为c语言的圣经(c bible)。

c语言具有如下特点:1)语言简洁、紧凑,使用方便、灵活。c语言只有32个关键字,程序书写形式自由。2)具有丰富的运算符和数据类型。3)可以直接访问内存地址、进行位操作,完成类似于汇编语言的操作,能够胜任开发系统软件的工作。因此,有时c语言也被称为“中级语言”,其意义是它既具有高级语言的特点,又具有低级语言的硬件直接操作特性。4)目标代码质量高,程序运行效率高。5)可移植性好,即可以很容易地将程序改写后运行在不同的计算机系统中。

但是,c语言也有如下局限性:1)数据类型检查机制较弱,这使得程序中的一些错误不能在编译时被发现;2)语言本身几乎没有支持代码重用的机制,因此,一个编程者精心设计的程序很难被其他程序所使用;3)当程序达到一定规模时,编程者很难控制程序的复杂性。

1980年贝尔实验室的bjarne stroustrup博士及其同事对c语言进行改进和扩充。最初的成果称为“带类的c”,而后称为“新c”。1983年由rick mascitti提议正式命名为c++(c plus plus)。在c语言中,运算符“++”的意义是对变量进行增值运算,因此c++的喻义是对c语言进行“增值”,扩充内容。1994年制定了ansi c++草案。以后又经过不断完善,形成了目前的c++,c++仍然在不断地发展。

继续阅读