代码改变世界

重学C语言 — C语言概述

2011-05-06 16:45  iLoae  阅读(255)  评论(0编辑  收藏  举报

这两天总想着把C语言重新看一遍,可是每次看的时候心里总是浮躁,电影里面经常说要把自己放空,放空,放空…… 通常的结果是我把看书这茬给放空掉了,三国杀或者魔兽之。就像彩虹总在风雨后一样,振奋总在堕落后,终于今天我爆发了,实在是受不自己这种无耻的行为,于 是写此开头,已表决心。

重学C语言总得有本书看,谭浩强的C语言是念书时候的课本,已经没法再看了,上面记得笔记多数都是些和C语言无关的 东西,那本Hello World的薄册子里面多少有些地方含混不清,于是找到了这本《C语言程序设计现代方法》,之后会继续学习《C专家编程》->《C和指针》 ->《C陷阱与缺陷》->《C语言接口与实现:创建可重用软件的技术》,这样一条完整的路线图画好了,现在开工。

关于C语言的历史

可以参考一下百度百科 – C语言。其实C语言的主要问题是标准的兼容性上,C89和C99,两个东西都是标准C,但是C89是不兼容C99的,在这个历史问题上,我们不应该只注意C99或者C89,应该注意两者的区别,才能更好的改善自己的代码在这两种标准下的兼容性。


基于C的语言

著名的C++,JAVA,C#,Perl都是基于C语言的,重学C理论上可以更好的提高对这几种语言本身的理解。换句话说,什么类,接口,多态在C面前都是浮云。

C语言的优点

  • 高效:发明C语言的目的就是为了编写那些以往由汇编语言编写的应用程序。
  • 可移植性:UNIX,GNU/LINUX,Windows,都支持C语言,当然,前提是要遵守C的标准,并且尽量不用依赖于系统的函数调用。
  • 功能强大:看看基于C语言的语言就会明白。
  • 灵活:使用C语言,会让人感受到一种自由。
  • 标准库:C语言的一个突出优点就是他具有标准库,该标准库包含了数百个可以用于输入/输出、字符处理、存储分配以及其他实用操作的函数。
  • 与UNIX系统集成:这个是原生的,因为C语言是编写UNIX系统的语言,以至于UNIX下的一些工具都是在假定用户了解C语言的前提下编写的,这种工具用起来一定让人崩溃,哈哈。

下面是一部分缺点

  • C程序更容易隐藏错误:C语言的高度包容与灵活性导致编译器并不能发现一些潜在的错误。
  • C程序可能更难于理解:因为C89与C99两种标准的存在,再加上历史上的一些恩恩怨怨,导致存留至今的C程序多数都很难理解与复用。
  • C程序可能难于维护:这个问题简直怨声载道,如果在设计的过程中没有考虑到维护的问题,那么维护C语言的代码将是极为繁重的纯体力劳动。

综合起来看这本书的第一章主要是起到一个指明方针的作用,正所谓 – 欲知用兵之利,必知用兵之害:

  1. 必须要注意两个标准C89与C99的兼容性问题。
  2. 在使用高效灵活的特性的同时,更要注意这种特性所带来的负面效果。
  3. 要从工程的角度书写C代码,以提高代码的可读性,可维护性和可移植性。

下面是《C语言程序设计现代方法》的下载与购买链接:

下载英文原版 请以留言方式留下您的邮箱

中文版购买链接:C语言程序设计:现代方法(第2版)