C语言的特点

Author: 北京大学 吕凤翥 Date: 1993-09-17

        1.C语言是一种结构化的程序设计语言。这与PASCAL相似。但它是一个不完全的结构化语言,这又是与PASCAL的区别,这种不完全性表现在C语言允许使用goto语句,但是,被限制在一个函数体内,这样并不影响以函数为最小程序单元的结构化设计,另外还表现在一个函数体中允许有多个return语句作为出口,标准的结构化程序设计语言要求一个基本模块一个入口一个出口。
        2.语言简炼,书写方便。C语言中有很多能力很强的运算符,例如:条件运算符相当于一个if语句。由于C语言中运算符种类多、能力强,从而使得语言简炼、书写方便。C语言中的预处理语句便可以事先定义好一个文件,如果其他文件需要它时便可以包含进去。还有宏定义语句也会使得书写简便。另外,C语言中较多使用花括号({})作为多语句的定界符,如函数体,循环体,if体和分程序等,这也为书写带来方便。
        3.数据处理能力强。C语言既可进行数值运算,又可作非数值运算,特别是在字符处理方面十分方便,另外,C语言中还有其他高级语言少有的位处理功能、地址运算和寄存器存取等功能,这些功能与计算机的硬件描述有密切关系,因此,C语言可以用来编写机器的系统软件,众所周知的UNIX系统的大部分功能是用C语言编写的,此外,还有许多常用的数据库管理系统、图形图象系统都是用C语言编写的。
        4.移植性好。由于C语言具有上述特点,可以把与机器相关的部分与主程序分开,这样不同的机器,只需修改与机器有关的部分就可以了。C语言的编译系统在各种机器上都有其相应的版本,这为C语言的广泛应用带来方便。
        掌握上述特点的同时,还要知道下面的4点不足:①C语言是一种弱类型语言。C语言规定有些类型之间可以自动转换,如int型和char型间可以转换,又如逻辑型变量用int型值表示。②在不同的编译系统下,可以改变表达式或参数表的计算顺序。这在一般情况下是没影响的,但是遇到带有副作用的运算符时,在不同编译下会出现两义性。③数组不作定界判断。④运算符较多,优先级复杂,难记难用。学习C语言一定要掌握这些不足之处,否则将会出现一些错误。