C语言之所以能够在多种计算机高级语言中脱颖而出,成为最受程序员青睐的计算机程序设计语言,是与它本身的许多独有的特点分不开的,具体来讲C语言具有如下特点。
1. 运算符丰富、任务实现灵活多样
丰富的运算符,使得C语言对同一个问题既可以使用这种方法实现,也可以使用另外一种方法实现。例如,求a和b之间的较大值存到max中,既可以使用if语句,也可以使用条件运算符实现,如下面的两段代码(有关这几条代码的含义将在后续章节中详细介绍)。
或者
2. 语言简洁紧凑、风格多样
C语言有 32 个关键字用于定义不同的数据类型、语句结构等,同时 9 种控制语句也使得C语言在具体编写过程中实现风格多样、程序编写灵活。为了合理处理不同类型的数据,C语言规定了整型(int)、实型(float和double)、字符型(char)等基本数据类型,在这些基本数据类型的基础上,派生出如数组、指针、结构体、共用体等几种复合数据类型,以满足对复合数据结构的应用需求。
3. 数据操作灵活、程序设计自由度大
对于数据的使用,C语言提供了一个非常独特的数据处理方式——强制类型转换。强制类型转换是针对物理内存存储结构进行的数据读取,它使得对数据的处理更加灵活,也更加适合各种不同场合的需求。C语言并没有规定严格的程序开发流程,程序员可以根据自己的意愿灵活设计和修改程序设计程式。
4. 直接访问内存地址、程序可移植性好
C语言区别于其他高级语言的一个显著特点是,它可以直接访问物理内存地址。正因为C语言有这样的功能,也有人称它为介于高级语言和低级语言之间的中间语言。指针的概念使得C语言广受青睐,正是因为C语言具有指针这样一个特殊的数据类型,才使得它广泛应用于各种低级计算机操作系统中。现在,几乎大部分操作系统和计算机系统都支持C语言开发的程序,如单片机、DSP、FPGA等硬件小系统内核,普通计算机以及超级计算机运算系统等。
虽然C语言具有很多显著的特点,这些特点使得它被广大程序员所追捧并延续至今,但是C语言本身也有缺陷和不足。最显著的一个缺点是C语言的语法结构限制不严格,一个典型的问题就是C语言没有对数组下标设置越界检查,这就要求程序员在编写程序时一定要小心谨慎。