C/C++程序设计教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 C/C++语言的特点

C和C++是两种不同的程序设计语言,其中C是结构化程序设计语言,C++是面向对象的程序设计语言。

1.C语言的特点

C语言之所以能够广为流传,是因为它有很多不同于其他程序设计语言的特点。其主要特点有:

① 数据类型丰富。C语言除了整型、实型、字符型等基本数据类型外,还具有数组、指针、结构、联合等高级数据类型,能够用于描述各种复杂的数据结构(如链表、栈、队列等)。指针数据类型的使用,使C程序结构更为简化、程序编写更为灵活、程序运行更为高效。

② 运算符种类丰富。C语言具有数十种运算符,除了具有一般高级语言具有的运算功能外,还可以实现以二进制位为单位的位运算,直接控制计算机的硬件,还具有自增、自减和各种复合赋值运算符等。C程序编译后生成的目标代码长度短、运行速度快、效率高。

③ 符合结构化程序设计的要求。C语言提供的控制结构语句(如if-else语句、while语句、do-while语句、switch语句、for语句)使程序结构清晰,其函数结构使程序模块具有相对独立的功能,便于调试和维护,支持大型程序的多文件构成以及单个文件独立编译,有利于大型软件的协作开发。

④ 可移植性好。用C语言编写的程序几乎不做修改就可用于各种计算机和各种操作系统。

C语言的这些特点使C语言很快应用到了各计算机应用领域中的软件编写,如数据库管理、CAD、科学计算、图形图像处理、实时控制等软件。

然而,C语言也不是十全十美的,它也有缺点。主要表现在:

① 语法限制不太严格。例如,缺乏数据类型的一致性检测和不进行数组下标越界检查。正因为C语言允许编程者有较大的自由度,使C程序容易通过编译,但却难以查出运行中的错误。初学者一定不要以为编译通过了,程序就一定是正确的,就应该运行出正确结果。要想尽快找到程序中的错误,一定要掌握调试程序的方法和技术,多上机实践。

② 不适合大规模的软件开发。由于 C 是以数据和数据处理过程为设计核心的面向过程的程序设计语言,因此不利于提高软件开发的效率,难以适应大规模程序设计的需要。

2.C++语言的特点

C++和C是两种不同的语言。C++语言的主要特点有:

① C++是以面向对象为主要特征的语言,通过类和对象的概念把数据和对数据的操作封装在一起,通过派生、重载和多态等技术手段实现软件重用和程序自动生成,适合大规模软件的开发和维护。

② 继承了C语言的优点,兼容了C语言,因此既支持面向对象的程序设计,又支持面向过程的程序设计。用C语言编写的程序大都可以在C++环境中编译和调试。

③ 对 C 语言的数据类型做了扩充,使编译器可以检查出更多类型的错误,即语法检查更加严密。