|
先来点比较死板的知识:
1.1.1 计算机语言
在揭开C语言的神秘面纱之前,先来认识一下什么是计算机语言。计算机语言(Computer Language)
是人与计算机之间通讯的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,编程人
员可以通过这些指令来指挥计算机进行各种工作。
计算机语言有很多种类,根据功能和实现方式的不同大致可分为三大类,即机器语言、汇编语言和高
级语言,下面针对这三类语言的特点进行简单介绍。
1、机器语言
计算机不需要翻译就能直接识别的语言被称为机器语言(又被称为二进制代码语言) ,该语言是由二
进制数0或1组成的一串指令,对于编程人员来说,机器语言不便于记忆和识别。
2、汇编语言
人们很早就认识到这样的一个事实,尽管机器语言对计算机来说很好懂也很好用,但是对于编程人员
来说记住0和1组成的指令简直就是煎熬。为了解决这个问题,汇编语言诞生了。汇编语言用英文字母或
符号串来替代机器语言,把不易理解和记忆的机器语言按照对应关系转换成汇编指令。这样一来,汇编语
言就比机器语言更加便于阅读和理解。
3、高级语言
由于汇编语言依赖于硬件,使得程序的移植性极差,而且编程人员在使用新的计算机时还需学习新的
汇编指令,大大增加了编程人员的工作量,为此计算机高级语言诞生了。高级语言不是一门语言,而是一
类语言的统称,它比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用。由于高级语言和计算机
的架构、指令集无关,因此它具有良好的可移植性。
高级语言应用非常广泛,世界上绝大多数编程人员都在使用高级语言进行程序开发。常见的高级语言
包括C、C++、Java、VB、C#、Python、Ruby等。本书讲解的 C语言就是目前最流行、应用最广泛的高
级语言之一,也是计算机编程语言的元老。
什么是C语言
C 语言是一种高级程序设计语言,具有简洁、紧凑、高效等特点。它既可以用于编写应用软件,也可
以用于编写系统软件。自1973年问世以来,C 语言迅速发展并成为最受欢迎的编程语言之一,下面针对C
语言的发展史和C语言标准分别进行讲解。
1、C语言的发展史
早期的系统软件设计均采用汇编语言,例如,大家熟知的UNIX 操作系统。尽管汇编语言在可移植性、
可维护性等方面远远不及高级语言,但是一般的高级语言有时难以实现汇编语言的某些功能。那么,能否
设计出一种集汇编语言和高级语言优点于一身的语言呢?于是,C 语言就应运而生了。
C 语言的发展颇为有趣,它的原型是ALGOL 60 语言(也称A语言)。
1963年,剑桥大学将 ALGOL 60 语言发展成为CPL(Combined Programming Language)语言。
1967年,剑桥大学的马丁· 理查兹(Matin Richards)对CPL语言进行了简化,于是产生了 BCPL语言。
1970年,美国贝尔实验室的肯· 汤普森(Ken Thompson)将 BCPL进行了修改,并为它起了一个有趣
的名字“B 语言”,其含义是将CPL语言煮干,提炼出它的精华,并且他用B 语言写了第一个UNIX操
作系统。
1973年,美国贝尔实验室的丹尼斯· 里奇(Dennis M.Ritchie)在B语言的基础上设计出了一种新的语
言,他取了BCPL的第二个字母作为这种语言的名字,即 C语言。
1978年,布赖恩•凯尼汉(Brian W.Kernighan)和丹尼斯· 里奇(Dennis M.Ritchie)出版了名著《The C
Programming Language》,从而使 C语言成为目前世界上流行最广泛的高级程序设计语言。
2、C语言标准
随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准,使得这些 C语言之间出
现了一些不一致的地方。为了改变这种情况, 美国国家标准学会(ANSI)为C 语言制定了一套ANSI标准,
即C语言标准。
在1989年美国国家标准学会(ANSI)通过的C语言标准ANSI X3.159-1989 被称为C89。之后在1990
年,国际标准化组织ISO也接受了同样的标准ISO9899-1990,该标准被称为 C90。这两个标准只有细微的
差别,因此,通常来讲C89 和C90指的是同一个版本。
后来随着时代的发展,1999年ANSI又通过了C99标准。C99 标准相对 C89做了很多修改,例如变量
声明可以不放在函数开头,支持变长数组等。但由于很多编译器仍然没有对C99提供完整的支持,因此本
书将按照C89标准来进行讲解,在适当时会补充C99 标准的规定和用法。
为什么要学习C语言呢?
从20世纪70年代起,C语言通过UNIX 操作系统迅速发展起来,逐渐占据了大、中、小以及微型机,
成为风靡世界的计算机语言。大多数软件开发商都优先选择C 语言来开发系统软件、应用程序、编译器和
其他产品。
这样的现象一直保持了 20年,直到20世纪 90年代,一种代表着先进思想的语言问世,也就是C 语
言的超集C++,由于 C++解决了C语言不能解决的诸多难题,所以许多开发商开始使用 C++来开发一些复
杂的、规模较大的项目,因此,C语言进入一个冷落时期。
这个冷落时期并没有持续太长时间,随着嵌入式产品的增多,C语言简洁高效的特点又被重视起来,
被广泛地应用于手机、游戏机、机顶盒、平板电脑、高清电视、VDC/DVD/MP3 播放器、电子字典、可视
电话等现代化设备的微处理器编程。随着信息化、智能化、网络化的发展,嵌入式系统技术的发展空间还
会逐渐加大,而C语言的地位也会越来越高。因此,学习好C 语言是很有必要的,掌握好C 语言的编程
知识,也是求职拿高薪的敲门砖。
再谈谈我们到底应该学什么呢?
我想大家心里应该有答案了——C语言
学会了C语言,你就相当于学会了其他语言,而且C语言可以写驱动,写出漂亮的GUI,而不是用java。
java总会更新,你就面临着不断地去学习新的知识甚至语法。
C#会随着微软的没落而没落,因为C#是微软的。
所以大家学习C语言吧!!!!!!
|
|