1.3 C语言的特点
C语言之所以风靡世界,是因为它有许多不同于其他语言的特点。在这些特点中,大部分是优点(与其他语言比),也有一少部分,对初学者来说,如果运用不当则会适得其反。
① C语言简洁、紧凑,使用方便、灵活,库函数丰富、实用。ANSI C一共只有32个关键字和9种控制语句,压缩了一切不必要的成分,用简单、规整的方法就可以构造出相当复杂的结构。
② C语言程序书写格式较自由,降低了格式要求,从而降低了程序员的劳动强度。
③ C语言的数据类型丰富,同时具有现代化程序设计语言普遍配置的多种数据结构。C语言具有整型、实型、字符型、数组、指针、结构体、共用体和枚举类型等,能用来实现各种复杂的数据结构(如链表、树等)。特别是与地址密切相关的指针,使用起来比其他高级语言更加灵活多样。但指针对于初学者来说也是较难理解的。
④ C语言的运算符十分丰富,包括算术运算符、关系运算符、逻辑运算符、位运算符、指针运算符、地址运算符等,还把括号、逗号、赋值号、强制类型转换等都作为运算符处理,连同复合赋值运算符共有44 种运算符。灵活使用这些运算符可以把非常复杂的运算逻辑用最简单的方式表达出来,使得程序更加简洁。
⑤ 具有编写结构良好的程序所需要的各种控制流结构。C语言具有实现顺序、分支和循环3种基本结构的控制语句。而且,C语言的函数结构非常便于采用自顶向下、逐步求精的结构化程序设计方法将整个系统划分成若干功能相对独立的模块。C语言是结构化程序设计的理想语言。
⑥ C语言的目标代码质量高,执行效率高。一般,C程序只比汇编程序生成的代码效率低10%~20%,是各类高级语言中最快的。
⑦ 可以直接对硬件进行操作。C语言允许直接访问物理地址,能实现汇编语言所能实现的大部分功能,如地址处理、二进制数位运算及指定用寄存器存放变量等。在硬件技术领域,C语言有着非常广泛的应用基础,是最主要的程序设计语言。
由于C语言既具有高级语言的特点,又具有低级语言的特点,因此,也有人把它称为中级语言,特别适合作为编写系统程序和各种应用软件的工具。
⑧ 可移植性好。虽然C语言具有低级语言的功能,但与汇编语言相比,它不依赖于机器硬件,在硬件结构不同的各种型号的计算机之间不做修改或稍做修改即可实现程序的移植。
⑨ 语法限制不太严格,程序设计的自由度大。例如,对数组下标越界不做检查,由程序员自己保证其正确性;对变量类型的使用比较灵活,整型和字符型数据在一定范围内可以通用;等等。大多数高级语言编译程序对语法检查都比较严格,但C语言放宽了语法检查,允许程序员有较大的自由度,这就要求程序员必须具有一定的编程和调试程序的素质。