第一章 C的元素 1
1.1引言 1
1.2表示法约定 1
1.3字符集 2
1.3.1字母和数字 2
1.3.2空白格字符 2
1.3.3标点和特殊符号 2
1.3.4转义序列 3
1.3.5运算符 4
1.4常量 5
1.4.1整型常量 5
1.4.2浮点型常量 6
1.4.3字符型常量 6
1.4.4字符串常量 7
1.5标识符 7
1.6关键字 8
1.7注释 8
1.8单词 9
第二章 程序结构 10
2.1引言 10
2.2源程序 10
2.3源文件 11
2.4程序执行 12
2.5伪指令 13
2.6作用域和可见性 13
第三章 说明 15
3.1引言 15
3.2存储类说明符 15
3.2.1自动类 15
3.2.2寄存器类 16
3.2.3静态类 16
3.2.4外部类 16
3.3类型区分符 17
3.3.1基本类型 17
3.3.2枚举类型 18
3.3.3结构类型 19
3.3.4联合类型 19
3.4说明符 20
3.4.1指针修饰符 20
3.4.2数组修饰符 21
3.4.3函数修饰符 21
3.4.4复合说明符 21
3.5类型说明 22
3.5.1枚举类型 23
3.5.2结构类型 23
3.5.3联合类型 24
3.6变量说明 25
3.6.1简单变量说明 25
3.6.2数组说明 26
3.6.3结构说明 27
3.6.4联合说明 28
3.6.5指针说明 29
3.7函数说明 29
3.8类型定义说明 30
3.9初始化 31
3.9.1基本类型 31
3.9.2指针类型 31
3.9.3聚集类型 31
3.9.4字符串初始化 33
3.10可见性与作用域 33
3.11全局与外部变量 34
3.12静态变量 34
3.13全局与外部函数 35
3.14静态函数 35
3.15类型名 35
第四章 表达式和赋值 36
4.1引言 36
4.2操作数 36
4.3常量 36
4.4标识符 36
4.4.1整型和浮点型标识符 36
4.4.2枚举型标识符 37
4.4.3结构和联合型标识符 37
4.4.4指针标识符 37
4.4.5数组标识符 37
4.4.6函数标识符 37
4.5字符串 37
4.6函数调用 37
4.7下标表达式 38
4.8成员选择表达式 39
4.9表达式 39
4.9.1带运算符的表达式 40
4.9.2类型强制表达式 40
4.9.3括号中的表达式 40
4.9.4常量表达式 40
4.10类型转换 41
4.11赋值转换 41
4.11.1带符号整型转换 41
4.11.2无符号整型转换 42
4.11.3浮点型转换 43
4.11.4枚举型转换 44
4.11.5结构和联合类型转换 44
4.11.6指针型转换 44
4.11.7“空”型转换 44
4.12类型强制转换 44
4.13运算符转换 45
4.14函数调用转换 45
4.15运算符 45
4.16求补运算符 46
4.16.1算术负(-) 46
4.16.2按位变补(~) 46
4.16.3逻辑非(!) 46
4.17间接与取地址的运算符 46
4.17.1间接(*) 46
4.17.2取地址(&) 46
4.18 sizeo运算符 46
4.19乘法运算符 47
4.19.1乘法(*) 47
4.19.2除法(/) 47
4.19.3取余数(%) 47
4.20加法运算符 48
4.20.1加(+) 48
4.20.2减(-) 48
4.20.3指针和整数组合 48
4.20.4溢出 49
4.21移位运算符 49
4.22关系运算符 49
4.23按位运算符 50
4.23.1按位加(&) 50
4.23.2按位或(│) 50
4.23.3按位异或(∧) 50
4.24逻辑运算 51
4.24.1逻辑与(&&) 51
4.24.2逻辑或(‖) 51
4.25顺序求值运算符(,) 51
4.26条件运算符(?) 52
4.27赋值运算符 52
4.28单目减量和增量 53
4.29简单赋值 53
4.30复合赋值 54
4.31优先权 54
4.32副作用 56
第五章 语句 57
5.1引言 57
5.2break语句 57
5.2.1语法 57
5.2.2执行 58
5.2.3例子 58
5.2.4退出嵌套语句 58
5.3复合语句 58
5.3.1语法 58
5.3.2执行 58
5.3.3例子 59
5.3.4标号语句 59
5.4 contiue语句 59
5.4.1语法 59
5.4.2执行 59
5.4.3例子 59
5.5 do语句 60
5.5.1语法 60
5.5.2执行 60
5.5.3例子 60
5.6表达式语句 60
5.6.1语法 60
5.6.2执行 60
5.6.3例子 60
5.6.4赋值和函数调用 60
5.7 for语句 61
5.7.1语法 61
5.7.2执行 61
5.7.3例子 61
5.8 go to和带有标号的语句 61
5.8.1语法 61
5.8.2执行 61
5.8.3例子 62
5.8.4形成标号 62
5.9 if语句 62
5.9.1语法 62
5.9.2执行 62
5.9.3例子 62
5.9.4嵌套 62
5.10空语句 63
5.10.1语法 63
5.10.2执行 63
5.10.3例子 63
5.10.4标号和空语句 63
5.11 return语句 64
5.11.1语法 64
5.11.2执行 64
5.11.3例子 64
5.11.4省略return语句 64
5.12 switch语句 64
5.12.1语法 64
5.12.2执行 65
5.12.3例子 65
5.12.4标号语句 66
5.13 while语句 66
5.13.1语法 66
5.13.2执行 66
5.13.3例子 66
第六章 函数 67
6.1引言 67
6.2函数定义 67
6.3返回值类型 68
6.4形式参数 70
6.5函数体 71
6.6函数说明 71
6.7静态函数 72
6.8函数调用 72
6.9实在参数 73
6.10基本类型 73
6.11数组 73
6.12结构和联合 74
6.13指针 74
6.14函数指针 75
6.15递归函数 76
第七章 预处理伪指令 77
7.1引言 77
7.2 define伪指令 77
7.3 underfine伪指令 79
7.4 include伪指令 79
7.5 if、eilf、else和endif伪指令 80
7.6 if defined和elif defined伪指令 82
7.7 if def和ifndef伪指令 83
7.8 line控制伪指令 83
附录A 差异 84
附录B C编译程序信息和限制 85
引言 85
编译程序出错信息 85
警告信息 85
程序出错信息 88
严重错误信息 95
编译程序限制 96