首页 > 代码库 > “万法归宗”之C语言
“万法归宗”之C语言
首先,介绍一下它的版本问题:
1) 1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,开始制定C语言标准的工作
2) 1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSI C
3) 1999年,国际标准化组织ISO又对C语言标准进行修订,在基本保留原来C语言特征的基础上,针对应该的需要,增加了一些功能,命名为C99
4) 2011年12月8日,ISO正式公布C语言新的国际标准草案:C11
给大家看一个图:
上图反映的是,编程语言活跃度排行。其中一二名都是C与JAVA乱换占据的,相信大家也看的出,这1-5中语言中,其中3种都带“C”。可以理解为,C语言就是一切编程语言的基础。就像小时候上学,数学,老师教你阿拉伯数字。语文,老师教你读写字母和发音。而且,大部分的编程语言都是从C语言中衍生出来的,可以说,C语言乃基石也!
下面我们在来归纳一下,计算机发展的过程中编程语言的发展:
1. 机器语言
1) 简介:所有代码里面只有0和1,每一条指令称为“机器指令”
2) 优点
u 代码能被计算机直接识别,直接对硬件产生作用,程序的执行效率非常高
u 能直接访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等
3) 缺点
u 程序全是些0和1的指令代码,可读性差,还容易出错
u 对硬件的依赖性很强,因此不同型号计算机的机器语言又不一样。也就是说,如果2台不同型号的机器想实现一样的功能,需要编写2套完全不同的代码
u 要熟记所用计算机的全部指令和指令的涵义,指令又多又难记
4) 使用场合
综上所述,机器语言很难掌握和推广,现在除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了
2. 汇编语言
1) 简介:用英文单词等符号代替机器指令
2) 优点
u 像机器语言一样,可以直接访问、控制计算机的各种硬件设备
u 占用内存少,执行速度快
3) 缺点
u 不同的机器有不同的汇编语言语法和编译器,代码缺乏可移植性,也就是说,一个程序只能在一种机器上运行,换到其他机器上就不能运行
u 符号非常多、难记,即使是完成简单的功能也需要大量的汇编语言代码,很容易产生BUG,难于调试
u 必须对硬件非常了解,开发效率很低,周期长且单调
4) 使用场合
u 操作系统内核、驱动程序、单片机程序
u 软件的加密、解密、破解
u 病毒的制作、防治
u 程序的调试、分析
3. 高级语言
1) 简介:接近自然语言
2) 优点
u 简单、易用、易于理解,语法和结构类似于普通英文
u 远离对硬件的直接操作,使得一般人经过学习之后都可以编程,而不用太熟悉硬件知识
u 一个程序还可以在不同的机器上运行,具有可移植性
3) 缺点
u 程序不能直接被计算机识别,需要经编译器翻译成二进制指令后,才能运行到计算机上
4) 种类:C语言、C++、C#、Java、Objective-C等
4. 三种语言的对比
分别用机器语言、汇编语言、C语言(高级语言)来写一个计算1+1的程序
1) 机器语言:简直是天书!!!
10111000 00000001
00000000 00000101
00000001 00000000
2) 汇编语言:可读性稍微好一点,但是麻烦
MOV AX,1
ADD AX,1
3) C语言:精简、通俗易懂
1+1
根据上面的分析,不难看出。人们一直都在将编程语言发展成为更能让人们熟悉并能快速掌握的一门语言。
“万法归宗”之C语言