C语言再学习part1-宏观认识C语言

时间:2024-10-26 17:04:26

天下莫柔弱于水,而攻坚强者莫之能胜,以其无以易之也。弱之胜强,柔之胜刚,天下莫不知行,莫能行。 —老子

我近来每天都在坚持读书,所以我一直沉浸于古人的智慧中无法自拔。所以如果我这篇博文被你有幸看到,那上面的话便赠予君子了。

言归正传,这篇博文是C语言再学习系列的第一篇。虽然我已经学习了C语言两年多之久,但是我觉得自己并没有学明白C语言,所以我利用寒假时间再次学习了一遍,并且我将我学习到的东西记录下来。学习的过程虽然苦涩寂寞,但是自己能看到自己一步一步对C语言有新的认识也是值得了。

此篇博文主题是对C语言的宏观认识。那我们就开始学习吧!

首先,从百度上我们可以知道C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

那么,C语言又是怎么发展的呢?

早期发展就大家可以去百度上查找。重点说说C89,C99这种标准从哪里来的。

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。为统一C语言版本,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,来制定C语言标准。1989年C语言标准被批准,被称为ANSI X3.159-1989 "Programming Language C"。这个版本的C语言标准通常被称为ANSI C。又由于这个版本是 89 年发布的,因此也被称为 C89。后来 ANSI 把这个标准提交到 ISO(国际化标准组织),1990年被 ISO 采纳为国际标准,称为 ISO C。又因为这个版本是1990年发布的,因此也被称为C90。ANSI C(C89) 与 ISO C(C90)内容基本相同,主要是格式组织不一样。因为 ANSI 与 ISO 的C标准内容基本相同,所以对于C标准,可以称为ANSI C,也可以说是ISO C,或者 ANSI / ISO C。

注意:以后大家看到 ANSI C、ISO C、C89、C90,要知道这些标准的内容都是一样的。 目前,几乎所有的开发工具都支持 ANSI / ISO C 标准。是C语言用得最广泛的一个标准版本。

在ANSI C标准确立之后,C语言的规范在很长一段时间内都没有大的变动。1995年C程序设计语言工作组对 C语言进行了一些修改,成为后来的1999年发布的 ISO/IEC 9899:1999标准,通常被成为C99。
但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的時候,微软和Borland却似乎对此不感兴趣。

拓展认识一下GCC:GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全*的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以*地“使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。

总而言之,目前广泛使用的C语言版本是 ANSI / ISO C。其中C语言版本有以下几种:Microsoft C、Borland Turbo C、AT&TC[1],现在主流是Microsoft C。

参考文献:[1]谭浩强.C程序设计(第四版)[J].计算机教育,2010(20):114.

参考网页:https://baike.baidu.com/item/c语言/105958?fr=aladdin

注:本人比较懒,在标注参考网页时不想在论文里标注那么正规了。我只是把贴上供大家查阅参考。并且,这是我看过很多博客和相关资料整理来的。但由于没有及时记录博客IP地址,所以请相关博主看到我的整理后,若感觉这篇文章的有些内容和自己的博文有相似之处,请私信我。我一定会标明出处。