C语言随笔

Posted on 2017-12-17 01:17  黑企鹅  阅读(84)  评论(0编辑  收藏  举报

   1963年剑桥大学发明CPL1967 年,剑桥的Matin Richards CPL做了简化,推出了BCPL。在20世纪60年代,贝尔实验室的Ken Thompson(肯·汤普森)对BCPL做了改进,发明了B语言。并用B语言编了个游戏,又因为他自己想玩这个游戏,他在实验室找到了台机器。但是这台机器没有操作系统,于是他便开发了操作系统,后来这个操作系统被命名为UNIX1971年,汤普森的同事丹尼斯·里奇与汤普森两人合作开发UNIX,同时丹尼斯·里奇还改进了B语言。在1972年,被改进的新语言就被称为C语言。之所以叫C语言,是因为B语言来自BCPL语言,CB的下一个字母。之后,肯·汤普森和丹尼斯·里奇用C语言完全重写了UNIX,他们不断地开发UNIXC语言。随着UNIX的发展,C语言也在不断地完善。因为C语言有着强大的移植性,在开发中,他们还考虑把UNIX移植到其他类型的计算机上使用。1982年,C标准委员会成立,建立C语言的标准。1989年,美国国家标准学会ANSI发布了第一个完整的C语言标准——ANSI X3.159—1989,简称“C89”1999年,国际标准组织ISO发布了新的C语言标准,命名为ISO/IEC 98991999,简称C99”2011128日,ISO又正式发布了新的标准,称为ISO/IEC9899: 2011,简称为C11”

 C语言有以下优缺点:

优点

1、简洁

2、运算符丰富

3、数据类型丰富

4、生成目标代码质量高,程序效率高

5、表达方式灵活

6、允许直接访问物理地址

7、可移植性好

8、表达力强

  

缺点

1、程序的安全性不足

2、语法限制不严格

  因为c语言是上世纪七十年代的产物,造成了c语言的局限性,但是又正因为c语言“悠久”的历史,和c语言有关的东西很多,学c语言又是值得的。和其他语言相比,C语言比较难学,对使用者要求高,在掌握一大部分概念、特性之前,压根写不出有用的东西,极大地破坏了人的编程兴趣。即“学习曲线陡峭”。可能你以后不会直接用c语言工作,但是你会经常间接地和c语言的各种产物接触。无论以后工作用的是什么语言,如果想要把它背后依靠的平台吃透,都不可避免地需要了解它的底层实现,而这些底层实现基本上都是离不开C语言。学习了C语言,可以更好地了解和学习大多数操作系统内核以及各种高级语言,能看懂服务器程序,还可以自己动手写操作系统。而且目前各种单片机的编程几乎都是c语言。很重要的是,真正复杂、高难度、对性能有苛刻要求的大项目,C语言仍然是不可替代的。若要学习真正能决定你将来能走多远的操作系统、数据库、编译器等基础原理方面的东西,几乎只有C一个选择。在彻底学通之后,任何技术、任何架构,都能一目了然。案例众多、学习资源丰富,这是C最为独特的优势。学了C语言,学其他的高级语言也会轻松很多。