购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1
C语言概述

C语言是一种高级程序设计语言,下面对C语言的发展历史、C语言的标准、C语言的特点和C语言的应用领域进行讲解。

1.1.1 C语言的发展历史

C语言的发展颇为有趣,它的原型是ALGOL 60(也称为A语言)。

1963年,剑桥大学将ALGOL 60发展成CPL(Combined Programming Language,组合编程语言)。

1967年,剑桥大学的马丁·理查兹(Martin Richards)对CPL进行了简化,开发出BCPL(Basic Combined Programming Language,基本组合编程语言)。

1969年,美国贝尔实验室的肯·汤普森(Ken Thompson)对BCPL进行了修改,并为它起了一个有趣的名字——B语言。此外,他用B语言开发了初版UNIX操作系统。

1972年,美国贝尔实验室的丹尼斯·里奇(Dennis M.Ritchie)在B语言的基础上设计出了一种新的语言,他取“BCPL”的第二个字母作为这种语言的名字,即C语言。C语言一经问世,便因其强大的功能和优越的性能而迅速普及。

1978年,布莱恩·克尼汉(Brian W.Kernighan)和丹尼斯·里奇(Dennis M.Ritchie)出版了《The C Programming Language》(《C程序设计语言》),C语言逐渐成为世界上使用非常广泛的高级程序设计语言。

1.1.2 C语言的标准

C 语言有多个版本,不同版本的 C 语言各有差异,为了让 C 语言健康地发展,美国国家标准协会(American National Standards Institute, ANSI)成立了由硬件厂商、软件设计师、编译器设计师等组成的标准C委员会,建立了通用的C语言标准。第一版C语言标准在1989年颁布,称为C89或C90。从1989年至今,陆续出现了多个C语言标准,具体介绍如下。

(1)C89(C90)标准

1989年,美国国家标准协会通过了C语言标准ANSI X3.159-1989,简称C89,人们习惯称之为ANSI C。1990年,国际标准化组织(International Organization for Standardization, ISO)接受并采纳C89作为国际标准ISO/IEC 9899:1990,该标准被称为ISO C,简称C90。由于C90采用的是C89,因此C89和C90指的是同一个标准。

(2)C99标准

1999年,国际标准化组织和国际电工委员会(International Electrotechnical Commission, IEC)正式发布了ISO/IEC 9899:1999,简称C99。C99引入了许多新特性,例如内联函数、变量声明可以不放在函数开头、支持变长数组、允许初始化结构体对特定的元素赋值等。本书的内容将基于C99标准进行讲解。

(3)C11标准

2011年,国际标准化组织和国际电工委员会正式发布 C 语言标准第三版草案 N1570,称为 ISO/IEC 9899:2011,简称C11。C11增强了C语言对C++的兼容性,并增加了一些新的特性,这些新特性包括泛型宏、多线程、静态断言、原子操作等。

1.1.3 C语言的特点

早期的C语言主要用于UNIX操作系统的开发,C语言的标准确立之后,C语言逐渐被广泛应用在各个领域,成为20世纪80年代乃至当今最优秀的程序设计语言之一。下面介绍C语言的特点。

相比于其他高级程序设计语言,C语言主要有以下特点。

1.表达能力强

C99标准中共有37个关键字、9个控制语句和丰富的数据类型。C语言的编写比较自由、简洁,使用简单的方法就能构造出复杂的数据类型或者数据结构,具备运算复杂数据结构的能力。

2.结构化设计

在使用C语言开发程序时,围绕自顶向下的开发思路,注重每个功能的模块化编程,各个功能模块之间呈现结构化特点。这使得C语言程序的可读性强、结构清晰。

3.高效

C语言具有直接访问物理地址的能力,可以很方便地管理内存。据统计,对于同一程序,使用C语言编写的程序生成的目标代码仅比使用汇编语言编写的程序生成的目标代码的执行效率低10%~20%,这个执行效率是其他高级语言不可比拟的。

4.可移植

在C语言出现以前,程序员多使用汇编语言进行编程。对于不同的硬件,必须使用不同的汇编语言编写程序,编程难度是相当大的。因为C语言的编译器能够移植到不同的设备中,所以使用C语言编写的程序只需要修改部分代码就可以移植到其他设备中运行。

1.1.4 C语言的应用领域

C语言的特点决定了它的应用领域比较广泛,C语言常被应用在以下领域。

1.操作系统

C语言可以开发操作系统,例如个人桌面领域的Windows操作系统内核、服务器领域的Linux操作系统内核、FreeBSD、苹果公司研发的macOS等。

2.应用软件

C语言可以开发应用软件。在企业数据管理中,需要可靠的软件来处理有价值的数据。由于C语言具有高效、稳定等特性,企业数据管理中使用的数据库(如Oracle、MySQL、MS SQL Server和SQLite等)都是使用C语言开发的。此外,金山办公软件WPS、微软的Office办公软件、功能强大的数学软件MATLAB等都是使用C语言开发的。

3.嵌入式开发

使用C语言可以进行嵌入式底层开发。当今生活的各个方面都在趋向智能化,智能城市、智能家庭等已不再是设想。例如,智能手环、智能扫地机器人、轿车电子系统等都是智能化的体现。这些智能系统的组成部分,如底层的微处理器控制的传感器、蓝牙、Wi-Fi网络传输模块,上层的半导体芯片的驱动库、嵌入式实时操作系统FreeRTOS和μC/OS等,大部分都是用C语言开发的。

4.游戏开发

因为C语言具有强大的图像处理能力、可移植性、高效等特点,所以在一些大型的游戏中,游戏环境渲染、图像处理等都使用C语言来实现。除此之外,成熟的跨平台游戏库OpenGL、SDL等也是用C语言开发的。 EvHlmXbsCL78rjjvv8yAunJpZ4SsTQkjTAEJIeZ38VyhWxOp413LuksfqW398v0X

点击中间区域
呼出菜单
上一章
目录
下一章
×