嵌入式系统常用 C 语言基本语法概要
1.7 嵌入式系统常用的C语言基本语法概要
C 语言是在 70 年代初问世的。1978 年美国电话电报公司(AT&T)贝尔实验室正式发
表了 C 语言。由 B.W.Kernighan 和 D.M.Ritchit 合著的《THE C PROGRAMMING LANGUAGE》
一书,被简称为《K&R》,也有人称之为 K&R 标准。但是,在《K&R》中并没有定义一个
完整的标准 C 语言,后来由美国国家标准学会在此基础上制定了一个 C 语言标准,于 1983
年发表,通常称之为 ANSI C 或标准 C。
本节简要介绍 C 语言的基本知识,特别是和嵌入式系统编程密切相关的基本知识,未
学过标准 C 语言的读者可以通过本节了解 C 语言,以后通过实例逐步积累相关编程知识。
对 C 语言很熟悉的读者,可以跳过本节。
1.数据类型
C 语言的数据类型有基本类型和构造类型两大类。基本类型如表 1-1 所示。
表 1-1 C 语言基本数据类型
数据类型
简明含义
位数
字节数
值域
字节型
signed char
有符号字节型
8
1
-128~+127
unsigned char
无符号字节型
8
1
0~255
整型
signed short
有符号短整型
16
2
-32768~+32767
unsigned short
无符号短整型
16
2
0~65535
signed int
有符号短整型
16
2
-32768~+32767
unsigned int
无符号短整型
16
2
0~65535
signed long
有符号长整型
32
4
-2147483648~+2147483647
unsigned long
无符号长整型
32
4
0~4294967295
实型
float
浮点型
32
4
约±3.4×(10
-38
~10
+38
)
double
双精度型
64
8
约±1.7×(10
-308
~10
+308
)
注:常用的嵌入式 C 语言中的 double 类型长度为 4 字节。
构造类型有数组、结构、联合、枚举、指针和空类型。结构和联合是基本数据类型的组
合。枚举是一个被命名为整型常量的集合。空类型字节长度为 0,主要有两个用途:一是明
确地表示一个函数不返回任何值;二是产生一个同一类型指针(可根据需要动态地分配给其
内存)
。
2.运算符
C 语言的运算符分为算术、逻辑、关系和位运算及一些特殊的操作符。表 1-2 列出了 C
语言的运算符及使用方法举例。
表 1-2 C 语言的运算符
运算类型
运算符
简明含义
举例
算术运算
+ - * /
加、减、乘、除
N=1,N=N+5等同于N+=5,N=6
^
幂
A=2,B=A^3,B=8
%
取模运算
N=5,Y=N%3,Y=2
逻辑运算
||
逻辑或
A=TRUE,B=FALSE,C=A||B,C=TRUE
&&
逻辑与
A=TRUE,B=FALSE,C=A&&B,C=FALSE
!
逻辑非
A=TRUE,B=!A,B=FALSE
关系运算
>
大于
A=1,B=2,C=A>B,C=FALSE
<
小于
A=1,B=2,C=A<B,C=TRUE