C语言的主要特点:
一、语言简洁、紧凑,使用方便、灵活。C语言一共有32个关键字、9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分。C语言程序比其他许多高级语言简练,源程序短,因此输入程序时工作量少。


二、运算符丰富。C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。


三、数据类型丰富,具有现代语言的各种数据结构。C语言提供的数据类型有:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用到实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是指针类型数据,使用十分灵活或多样化。


四、具有结构化的控制语句(如if...else语句、while语句、do...while语句、switch语句、for语句)。用函数作为程序的模块单位,便于实现程序的模块化。C语言是完全模块化和结构化的语言。


五、语法限制不太严格,程序设计自由度大。例如,对数组下标越界不做检查,由程序编写者自己保证程序的正确。对变量的类型使用比较灵活,例如,整型量与字符型数据以及逻辑型数据可以通用。一般的高级语言语法检查比较严,能检查出几乎所有的语法错误,而C语言允许程序编写者有较大的自由度,因此放宽了语法检查。程序员应当仔细检查程序,保证其正确,而不要过分依赖C语言编译程序去查错。“限制”与“灵活”是一对矛盾。限制严格,就失去灵活性;而强调灵活,就必然放松限制。一个不熟练的人员编一个正确的C语言程序可能会比编一个其他高级语言程序难一些。也就是说,对用C语言的人,要求对程序设计更熟练一些。


六、C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此C语言既具有高级语言的功能,又具有低级语言的许多功能,可用来编写系统软件。C语言的这种多重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把C语言称为“高级语言中的低级语言”或“中级语言”,意为兼有高级和低级语言的特点,但一般仍习惯将C语言称为高级语言。因为C语言程序也要通过编译、连接才能得到可执行的目标程序,这是和其他高级语言相同的。


七、生成目标代码量高,程序执行效率高。C语言一般只比汇编程序生成的目标代码效率低10%~20%。
八、用C语言编写的程序可移植性好(与汇编语言比)。基本上不做修改就能用于各种型号的计算机和各种操作系统。