第1章 概述 1
1.1程序设计语言的发展 1
1.1.1机器语言和汇编语言 1
1.1.2高级语言 2
1.1.3程序设计方法 2
1.1.4算法与数据结构 3
1.2初识C语言 4
1.2.1 C语言的发展 4
1.2.2 C语言的特点 5
1.2.3 C语言的字符集与标识符 6
1.3 C源程序的组成结构 7
小结 10
习题 11
第2章 数据类型 12
2.1 C语言的数据类型 12
2.2常量 12
2.2.1整型常量 13
2.2.2实型常量 13
2.2.3字符常量 13
2.2.4字符串常量 14
2.2.5符号常量 15
2.3变量 15
2.3.1整型变量 16
2.3.2实型变量 18
2.3.3字符变量 19
2.3.4变量赋初值 20
2.4库函数的使用 21
小结 22
习题 22
第3章C语言的运算符和表达式 23
3.1 C语言运算符简介 23
3.1.1 C语言运算符的种类 23
3.1.2 C语言运算符的优先级及结合性 23
3.2算术运算符及算术表达式 24
3.2.1算术运算符 24
3.2.2算术表达式 26
3.3关系运算符及关系表达式 27
3.4逻辑运算符及逻辑表达式 28
3.5条件运算符及条件表达式 29
3.6赋值运算符及赋值表达式 30
3.6.1赋值运算符 30
3.6.2复合赋值运算符 30
3.7逗号运算符及逗号表达式 31
3.8表达式中数据间的混合运算与类型转换 32
小结 34
习题 34
第4章 顺序结构程序设计 36
4.1结构化程序设计基础 36
4.2 C程序中的语句 38
4.3格式输入函数与格式输出函数 40
4.3.1格式输出函数 40
4.3.2格式输入函数 46
4.4字符输入函数与字符输出函数 48
4.4.1字符输出函数 48
4.4.2字符输入函数 49
4.5程序举例 50
小结 52
习题 52
第5章 选择结构程序设计 55
5.1 if结构 55
5.1.1 if语句 55
5.1.2 if…else语句 56
5.1.3 if语句的嵌套 59
5.2 switch结构 62
5.2.1 switch语句 62
5.2.2带有break语句的switch结构 65
5.3程序举例 66
小结 70
习题 71
第6章 循环结构程序设计 74
6.1循环控制结构概述 74
6.2 while语句与do…while语句 75
6.2.1 while语句 75
6.2.2 do…while语句 77
6.2.3 while语句与do…while语句的区别 78
6.3 for语句 79
6.4循环嵌套 81
6.5流程转移控制语句 83
6.5.1 break语句 83
6.5.2 continue语句 85
6.5.3 break语句与conti nue语句 86
6.5.4 goto语句 86
6.6程序举例 87
小结 89
习题 90
第7章 数组 93
7.1一维数组 93
7.1.1一维数组的定义 93
7.1.2一维数组的初始化 93
7.1.3一维数组的使用 94
7.2二维数组 96
7.2.1定义方式 97
7.2.2二维数组的初始化 97
7.2.3二维数组的使用 99
7.3字符数组与字符串 101
7.3.1字符数组及其初始化 101
7.3.2字符串的输入 103
7.3.3字符串的输出 105
7.3.4二维字符数组 105
7.3.5字符串处理函数 107
7.4程序举例 110
小结 113
习题 113
第8章 函数 116
8.1引例:用函数的方法再求自然数1到100的和 116
8.1.1程序解析 116
8.1.2函数的定义 117
8.2函数参数与函数值 118
8.2.1形式参数和实际参数 118
8.2.2函数的返回值 121
8.3函数的调用 122
8.3.1函数调用的方式 122
8.3.2对被调用函数的声明 123
8.3.3函数的嵌套调用 126
8.3.4函数的递归调用 127
8.4变量的作用域 131
8.4.1局部变量 131
8.4.2全局变量 132
8.5变量的存储类型 134
8.5.1变量的动态与静态存储方式 134
8.5.2局部变量的存储类型 135
8.5.3全局变量的存储类型 136
8.6内部函数与外部函数 137
小结 138
习题 138
第9章 指针 140
9.1指针概述 140
9.1.1指针的概念 140
9.1.2指针变量的定义与初始化 141
9.1.3指针运算 143
9.1.4多级指针 146
9.2指针与函数 148
9.2.1指针作为函数参数 148
9.2.2指针函数 150
9.2.3*指向函数的指针 151
9.3指针与数组 154
9.3.1指向一维数组的指针 154
9.3.2二维数组与多维数组的指针表示法 157
9.4指针与字符串 161
9.4.1字符串的指针表示法 161
9.4.2字符串数组 163
9.5指针数组与命令行参数 164
9.5.1指针数组 164
9.5.2命令行参数 165
9.6程序举例 167
小结 171
习题 171
第10章 编译预处理命令 176
10.1宏定义 176
10.1.1不带参数的宏定义 176
10.1.2带参数的宏定义 177
10.2文件包含 180
10.3条件编译 180
小结 181
习题 182
第11章 结构体与共用体 183
11.1结构体类型的声明 183
11.2结构体变量 184
11.2.1结构体变量的定义与存储 184
11.2.2结构体变量的引用与初始化 185
11.3结构体数组 187
11.4结构体指针 188
11.5结构体与函数 190
11.5.1函数的结构体类型参数 190
11.5.2结构体类型的函数 191
11.6结构体嵌套 192
11.7动态存储分配 193
11.8链表 194
11.8.1链表的基本概念 194
11.8.2链表的基本操作 195
11.9共用体 199
11.10枚举类型 202
11.10.1枚举类型的声明与定义 203
11.10.2枚举类型的使用方法 204
11.11类型名重新定义typedef 205
小结 206
习题 206
第12章 文件 207
12.1将短句“Hello World!”写入文件 207
12.1.1程序解析 207
12.1.2文件输入/输出的基本概念 208
12.1.3 C文件的分类 208
12.2文件类型指针 209
12.3文件的各种操作 210
12.3.1建立数据文件 210
12.3.2文件指针变量说明 211
12.3.3文件的打开 211
12.3.4文件关闭 212
12.3.5文件的读/写 213
12.4文件的随机读/写 220
12.5出错的检测 222
12.6常用文件的处理函数 223
小结 223
习题 224
第13章 位运算 225
13.1位运算符和位运算 225
13.1.1位运算符 225
13.1.2按位与运算 226
13.1.3按位或运算 227
13.1.4按位异或运算 228
13.1.5按位求反运算 230
13.1.6左移运算 230
13.1.7右移运算 231
13.1.8不同长度的数据进行位运算 232
13.1.9位运算示例 232
13.2位段结构 233
13.2.1位段的概念 233
13.2.2位段结构的定义和位段变量的说明 233
13.2.3位段的引用 234
13.2.4位段的赋值 235
13.2.5使用位段的注意事项 235
13.3程序举例 236
小结 237
习题 238
附录A ASCII码表 239
附录B C语言常用库函数 240
附录C C语言的运行环境和运行过程 245
参考文献 250