C 语言

来自计算思维百科
跳转至: 导航搜索

20世纪70年代初,在美国AT&T(电报与电话)公司的贝尔(Bell)实验室进行小型机PDP-11的Unix操作系统开发工作中,丹尼斯·里奇(Dennis Ritchie)在 肯·汤普逊(Ken Thompson)(图9)研制的B语言的基础上推出了一种新型的程序设计语言C。最初的C语言是为描述和实现Unix操作系统而设计的,它随着Unix的出名而闻名。1973年,汤普逊和里奇合作把Unix的90%以上内容用C语言进行了改写,即大家熟知的Unix第5版(原来的Unix操作系统是用汇编语言开发成功的)。1978年以后,C语言先后移植到大、中、小和微型计算机上,成为世界上应用最广泛的程序设计语言。两位科学家共同获得了1981年图灵奖。

10.3.9.png

图9 丹尼斯•里奇(Dennis Ritchie)(右)和 肯•汤普逊(Ken Thompson) (来源于维基百科)

C语言的主要特色是兼顾了高级语言和汇编语言的特点,简洁、丰富、可移植。使用C语言编写程序,既感觉到使用高级语言的自然,也体会到利用计算机硬件指令的直接,而程序员却无需卷入汇编语言的繁琐。自20世纪90年代初,C语言在我国开始推广以来,学习和使用C语言的人越来越多,掌握C语言成为计算机开发人员的一项基本功。

随着计算机的日益普及,出现了许多的C语言版本,且相互兼容。但是C语言编译系统版本繁多,也造成不同版本之间的某些差异,它主要体现在标准函数库中收入的函数在种类、格式和功能上有所不同,这种差异对于计算机应用技术的发展显然不利。

1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案(ANSI C),ANSI C比原来的C有了很大的发展。1989年,ANSI公布了一个完整的C语言标准----ANSI X3.159-1989(常称C89),1990年国际标准化组织ISO(International Standard Organization)接受C89作为国际标准ISO/IEC 9899:1990。1995年ISO对C89做了一些修订,即“1995基准增补1(ISO/IEC 9899/AMD1:1995)”。1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C++中的一些功能,命名为ISO/IEC 9899:1999。2001年和2004年先后进行了两次技术修正,即2001年的TC1和2004年的TC2。ISO/IEC 9899:1999及其技术修正被称为C99,C99是C89(及1995基准增补1)的扩充。