第零章 绪论
工欲善其事,必先利其器
0.1 目前有这样一种观点存在:“C语言已经被C++,C#及JAVA这样一些语言取代了,为什么还要如此费力地去学习C语言呢?”
这种观点是不成立的,理由如下:
●我相信没有一个人能够直接学习C++或JAVA。这是因为学习这些语言时,还要学会处理一些和实际的程序语言基础不相关的东西,如类、对象、继承、多态、模板、异常处理及引用等。在学习程序语言基础的时候,就学习这些复杂的概念,这有点像把马车放在马的前面一样,会令人觉得很不自然。因此,人们应该先透彻地学习C语言,了解C语言的基本原理,再转而学习C++,C#或JAVA。尽管这样的分部学习过程可能会花很多时间,但最终你一定会发现这样做是值得的。
●C++,C#或JAVA是利用面向对象程序设计(OOP)来设计程序的。这种设计方法提供了很多的有利条件。但要使用这种方法,仍需要对C语言的基础有很好的掌握,同时还需要有基本的编程技巧。
●尽管这些年来诞生了许多C++及JAVA的编程工具和编程框架,但C语言的重要性仍是不会受到挑战的,因为在使用这些框架或工具的时候,都会有意无意地使用到C语言基础的核心。这也是为什么在学习C++,C#,JAVA前应当学习C语言的另一个很好的原因。
●流行的操作系统如Windows,UNIX,及Linux的主要部分仍然是用C语言写的。这是因为迄今为止,这些语言的性能(执行速度)还没有能够击败C语言。更重要的是,当谁想要扩展某个操作系统以便能够满足新的设备时,他必须编写