- 单片机C语言编程实践
- 程利民 朱晓玲主编
- 1363字
- 2020-08-26 15:29:38
第1章 C语言概述
1.1 C语言简介
C语言于20世纪70年代诞生于美国的贝尔实验室。在此之前,人们编写程序主要使用汇编语言,由于汇编语言编写的程序依赖于计算机硬件,其可读性和可移植性都比较差;高级语言的可读性和可移植性虽然较汇编语言好,但一般高级语言又不具备低级语言能够直观地对硬件实现控制和操作、程序执行速度快的特点。在这种情况下,人们迫切需要一种既具有一般高级语言特性,又具有低级语言特性的语言,于是C语言就应运而生了。
C语言兼有汇编语言和高级语言的优点,既适合于开发系统软件,也适合于编写应用程序,被广泛应用于事务处理、科学计算、工业控制、数据库技术等领域。C语言具有以下特点。
1.C语言是结构化的语言
C语言程序有3种基本结构:顺序结构、选择结构、循环结构,由这3种基本结构组成的程序可以解决许多复杂的问题。C语言通过结构化的控制语句,如if…else语句、while语句、switch语句及for语句等,可以方便地控制程序的流程。因此,C语言是理想的结构化语言,符合现代编程风格的要求。
2.C语言是模块化的语言
一般来说,一个较大的程序往往被分为若干个模块,每个模块用来实现特定的功能。在C语言中,用函数作为程序的模块单位,便于实现程序的模块化。在程序设计时,将一些常用的功能模块编写成函数,放在函数库中供其他函数调用,C语言具有非常丰富的库函数。模块化的特点可以大大减少重复编程。
3.语言简洁、紧凑,使用方便、灵活
C语言总共只有32个关键字和9种控制语句,程序书写形式自由,主要用小写字母表示。一般语言中的许多结构单元在C语言中都通过库函数调用来完成,库函数可根据需要方便地扩充,压缩了一切不必要的程序组成部分。
4.程序可移植性好
C语言程序便于移植,目前C语言在许多计算机上的实现大都是由C语言编译移植得到的,不同机器上的编译程序大约有80%的代码是公共的。程序不做任何修改就可用于各种型号的计算机和各种操作系统。
5.数据结构丰富,具有现代化语言的各种数据结构
C语言的基本数据类型有整型(如int、unsigned int等)、实型(如float、double等)、及字符型(char)等。在此基础上还可创建各种构造数据类型,如数组、指针、结构体和共用体等。使用C语言还能实现复杂的数据结构,如链表、树等。这样丰富的数据结构无疑极大地增强了C语言的功能。
6.C语言运算符丰富、代码效率高
C语言共有34种运算符,使用各种运算符可以实现在其他高级语言中难以实现的运算。在代码质量上,C语言可与汇编语言相媲美,其代码效率仅比用汇编语言编写的程序的代码低10%~20%。
1978年以后,C语言的发展导致各种版本不断出现。1988年,美国国家标准化协会(ANSI)根据C语言问世以来的各种版本对C语言进行了发展和扩充,制定了ANSI C标准,1990年国际标准化组织ISO公布了以ANSI C为基础的C语言的国际标准ISO C,从而保证了各种C语言对ANSI C的兼容。表1-1为ANSI C的关键字。
表1-1 ANSI C的关键字
续表
不同类型的计算机芯片千差万别,但它们使用的C语言基本相同,究其原因,是因为各种计算机芯片都根据ANSI C标准,制定了C语言编译器;通过C语言编译器,将C语言转化为相应的汇编指令,完成相同的任务。
C51是用于MCS51系列单片机、以ANSI C为基础、修改扩充的一套程序语言。德国Keil公司已经推出V7.0以上版本的Cx51编译器,为MCS51系列单片机软件开发提供了全新的C语言环境,同时保留了汇编代码的高效、快速等特点。表1-2为C51新增的专用关键字。
表1-2 C51新增的专用关键字