C语言程序设计
上QQ阅读APP看书,第一时间看更新

1.3.2 C语言的发展与特点

1.C语言的发展历史

C语言的发展颇为有趣,它的原型是ALGOL(ALGOrithmic Language)60语言。

1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。

1967年,剑桥大学的Matin Richards对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”,意思是将CPL语言煮干,提炼出它的精华,并且他用B语言写了第一个UNIX操作系统。

1973年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。

2.C语言的主要特点

也许,在此讨论C语言的主要特点,并不能给读者带来切身的感受,但是,希望读者能从下面的叙述中对C语言的特点有一个基本的了解,并在随后的学习中不断加深对它们的理解。

如果用最简单的语言来概括,C语言的优点是简洁、灵活、表达能力强,产生的目标代码质量高、可移植性好。具体讲,有以下几点:

(1)C语言同时具备了高级语言和低级语言的特征。高级语言应该具备的优点C语言都有,例如可读性好、容易记忆、再移植性强等,同时C语言还提供了某些接近于汇编程序的功能,如地址处理、二进制位运算以寄存器存放变量等。因此,有人认为C语言是中级语言。C语言适合编写系统程序和各种工具。

(2)C语言是结构化程序设计语言,具有结构化程序设计所要求的控制语句,如条件语句if,循环语句for、while,do…while等。

(3)C语言支持模块化程序设计。C语言的程序是由函数构成的,每个函数可以单独编写和调试。因此,遇到大型程序,程序员可以分别编写不同的模块,这使得管理和调试工作变得简单和方便,并且可以实现软件重用,即重复使用那些经常需要使用的程序模块。

(4)C语言具有丰富的数据类型。C语言支持各种高级语言普遍使用的基本数据类型,并允许用基本数据类型构造复杂数据类型。

(5)C语言的运算符种类多、功能强大。

(6)C语言的基本组成部分紧凑、简洁,关键字少。

(7)C语言有大量标准化的库函数。这些库函数不但包括了各种数学计算函数,还有用于输入/输出的库函数以及系统函数,给程序员编写程序带来了极大的方便。

(8)生成代码质量高。C语言与汇编语言生成的代码相比,前者只比后者低10%~20%。

(9)具有特别良好的可移植性,应用性广。可在许多软件平台和硬件平台上应用。

任何事物都不是十全十美的,C语言也有一定的缺陷,了解C语言的缺点,有助于在编写程序的时候扬长避短。具体讲,有以下两点:

(1)C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。

(2)如果不加以特别注意,C程序的安全性将会降低。例如,如果对指针的使用没有适当的限制,导致指针设置错误,可能引起内存中的信息被破坏,如果经常出现这种错误,极有可能导致系统崩溃。