第一堂课 初识C语言(2)

1.1 C语言发展史

1.1.1 程序语言简述

在讲解C语言的发展历程之前,先来了解程序语言的发展历程。程序语言的发展一共经历了如下3个阶段。

机器语言

机器语言是低级语言,也称为二进制代码语言。计算机使用的是由0和1组成的二进制数,组成的一串指令来表达计算机的语言。机器语言的特点是,计算机可以直接识别,不需要进行任何的翻译。

汇编语言

汇编语言是面向机器的程序设计语言。用英文字母或者符号串来替代机器语言的二进制码,就把不易理解和使用的机器语言变成汇编语言。使用汇编语言比机器语言方便阅读和理解程序。

高级语言

由于汇编语言依赖于硬件体系,并且汇编语言中的助记符号数量比较多。为了使程序语言能更贴近人类的自然语言,同时又不依赖于计算机硬件,于是,产生了高级语言。这种语言的语法形式类似于英文,并且因为远离对硬件的直接操作,使得普通人易于理解与使用。其中影响较大、使用普遍的有FORTRAN、ALGOL、BASIC、COBOL、LISP、Pascal、PROLOG、C、C++、VC、VB、Delphi和Java等。

1.1.2 C语言历史

从程序语言的发展过程可以看出,以前的操作系统等系统软件主要是用汇编语言编写的,但是由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都不是很好,所以为了提高可读性和可移植,人们开始寻找一种语言,这种语言应该既具有高级语言的特性,又不失低级语言的好处。于是,在这种需求下产生了C语言。

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年在研制出的BCPL语言(简称B语言)的基础上发展和完善起来的。19世纪70年代初期,AT&T Bell实验室的程序员Dennis Ritchie第一次把B语言改为C语言。

最初,C语言运行于AT&T的多用户、多任务的UNIX操作系统上。后来,Ritchie用C语言改写了UNIX C的编译程序,UNIX操作系统的开发者Ken Thompson又用C语言成功地改写了UNIX,从此开创了编程史上的新篇章。UNIX成为第一个不是用汇编语言编写的主流操作系统。

1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言草案(83ANSI C),后来于1987年又颁布了另一个C语言标准草案(87ANSI C),最新的C语言标准C99在1999年颁布,并在2000年3月被ANSI采用。但是由于未得到主流编译器厂家的支持,C99也并未得到广泛使用。

C语言发展于大型商业机构和学术界的研究实验室,当开发者们为第一台个人计算机提供C编译系统之后,C语言就得以广泛传播,为大多数程序员所接受。对MS-DOS操作系统来说,系统软件和实用程序都是用C语言编写的。Windows操作系统大部分也是用C语言编写的。

C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点,它可以广泛应用于不同的操作系统,如UNIX、MS-DOS、Microsoft Windows及Linux等。

在C语言的基础上发展起来的有支持多种程序设计风格的C++语言、网络上广泛使用的Java、JavaScript、微软的C#语言等,学好C语言,再学习其他语言时就会很轻松。

说明:目前最流行的C语言有Microsoft C(MS C)、Borland Turbo C(Turbo C)、AT&T C。

1.2 C语言的特点

C语言是一种通用的程序设计语言,主要用来进行系统程序设计,具有很多特点,下面分别进行介绍。

高效性

谈到高效性,不得不说C语言是“鱼与熊掌”兼得。从C语言的发展历史也可以看出,它继承了低级语言的优点,产生了高效的代码,并具有友好的可读性和编写性。一般情况下,C语言生成的目标代码运行效率比汇编程序低10%~20%。

灵活性

C语言中的语法不拘一格,在原有语法基础上进行创造、复合,给程序员更多的想象和发挥的空间。

功能丰富

除了C语言所具有的类型外,还可以使用丰富的运算符和自定义的结构类型,来表达任何复杂的数据类型,很好地完成所需要的功能。

表达力强

C语言的语法形式与人们所使用的语言形式相似,书写形式自由、结构规范,并且其中的简单控制语句可以轻松地控制程序流程,完成复杂繁琐的程序要求。

移植性好

因为C语言具有良好的移植性,这使得C程序在不同的操作系统下,只需要简单地修改或者不用修改就可以进行跨平台的程序开发操作。

由于这些特点,C语言备受程序员的青睐。

读书导航