购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 C语言的发展史

千里之行,始于足下。马上要开始C语言的旅程了,突然想起我还是初学者的时候,曾经翻阅了大量的C语言入门书籍,千篇一律,都是在刚开始的时候讲解一些概念、理论和很多的术语。而我自小喜欢数理化,对文科不感冒,尤其是对需要大量死记硬背的知识感到非常头疼。所以看着这些概念、理论、术语,没多久就会有头昏眼花、想睡觉的感觉。结果是大部分的内容都如过眼云烟,随风而去了,不过有两点倒是奇迹般地记在脑海中了,到底是哪两点呢?

第一点是C语言的创始者。中国有句老话是“吃水不忘挖井人”,既然决定学习C语言了,怎么能不知道C语言的创始者是谁呢?好了,直接告诉你,是来自贝尔实验室的丹尼斯·里奇(Dennis Ritchie),美国人,生于1941年。他在1972年发明了C语言,被尊称为C语言之父。但非常遗憾的是,2011年10月12日他永远地离开了我们,图1.1是丹尼斯·里奇的照片。

图1.1 丹尼斯·里奇

第二点是C语言的标准。为什么非要了解C语言的标准呢?其实不难理解,想想当年秦始皇统一中国后,为何立即进行了“书同文,车同轨,统一度量衡”的改革?因为只有使用同一种文字、同样的尺度、同一种标准,才能让国人彼此看得懂,交流更方便,才能更好地促进社会的发展。同样如此,C语言不是给一个人使用的,其使用者包括大量的开发者、维护者、管理者,以及C语言编译器的实现者,如此多的使用者,如果没有统一的标准遵循,你这么写,他那样用,结果就是你写的东西他看不懂,他写的东西你也看不懂,那将是多么的可怕。有了标准之后,大家都按同一标准干活,就非常便于大家交流,从而推动了C语言更快更好地发展。好了,下面就来学习一下C语言的这些标准。什么?这些标准?是的,没有事物是一成不变的,C语言从诞生到现在已过了半个世纪,随着C语言的不断发展,经历了以下几个标准制定时代。

1.“K&R”标准

1978年,丹尼斯·里奇与布莱恩·科尔尼汗联合出版了名为《C程序设计语言》( The C Programming Language )的著作,这本书被C语言开发者称为“K&R”,很多年来被当作C语言的非正式的标准说明,人们称这个版本的C语言为“K&R C”。

2.“C89”标准

C语言于1972年11月问世,1978年由美国电话电报公司(AT&T)贝尔实验室正式发布。1983年,美国国家标准局(American National Standards Institute,ANSI)开始制定C语言标准,并于1989年12月完成,在1990年春天发布,该标准称为“ANSI C”标准,也称为“C89”标准。

3.“C90”标准

后来ANSI把“C89”标准提交到ISO(国际化标准组织),1990年被ISO采纳为国际标准,称为“ISO C”标准。又因为这个版本是1990年发布的,因此也被称为“C90”标准。

4.“C99”标准

在“C89”标准确立之后,C语言的规范在很长一段时间内都没有大的变动。直到1995年C程序设计语言工作组对C语言进行了一些修改,成为后来在1999年发布的ISO/IEC 9899:1999标准,通常被称为“C99”标准。

5.“C11”标准

2007年,C语言标准委员会又重新开始修订C语言,到了2011年正式发布了ISO/IEC 9899:2011标准,简称为“C11”标准。

读者可能有些疑惑,这么多标准,到底该用哪一个呢?其实“K&R”是非正式标准,而且年代久远,现在基本不用了;“C89”和“C90”属同一个标准,即它们内容一致,只是在不同的时间被两家不同的机构认证罢了,这个标准一直用到现在;目前的主流应该是“C99”标准,现在已开始渐渐向这个标准过渡,不过仍有某些编译器对这个标准支持得不够好,所以用的时候还要注意一下;“C11”是现行最新的C语言标准,但还没有完美支持的编译器。本书采用的是GCC编译器,其中一个原因就是它对“C99”标准的支持相对较好。至于什么是编译器?别急,后面的章节会讲到。 OHQaDd6WvOl2jHI8bJ0NUwP/1NyQ2TORV/7bJkf6DukcZwhpTlyOL4k2wjAEPTDc

点击中间区域
呼出菜单
上一章
目录
下一章
×