第1章 计算机程序设计算法实现 1
1.1 程序设计概述 1
1.1.1 程序设计语言 1
1.1.2 程序设计过程 3
1.2 程序设计算法与实现 4
1.3 计算机程序算法的表示 5
1.3.1 自然语言描述 6
1.3.2 程序流程图描述 6
1.3.3 N-S图描述 7
1.3.4 程序设计语言描述 8
1.5 程序算法实现案例分析 12
1.6 练习题 15
第2章 C程序设计组成与编译运行 16
2.1 C语言程序设计概述 16
2.1.1 C语言程序设计的发展 16
2.1.2 C程序设计特点 17
2.1.3 C程序设计组成结构 19
2.2 C程序设计的编译与运行 21
2.2.1 编辑调试与编译运行步骤 21
2.2.2 常用编译运行环境 22
2.3 C语言程序设计语义规范 34
2.3.1 C语言程序的基本规范 34
2.3.2 C语言程序设计标识符 37
2.3.3 C语言的保留关键字 38
2.4 练习题 38
第3章 数据存储类型与相关运算 39
3.1 数据存储方式 39
3.1.1 数据存储与数制转换 39
3.1.2 数据存储类型与定义 41
3.1.3 存储地址与占用空间 44
3.1.4 数据常量分类 45
3.1.5 程序变量定义 49
3.2 数据存储方式与应用 51
3.2.1 数据存储的正负数问题 51
3.2.2 数据变量取值范围 52
3.2.3 实型数据存储方式 56
3.2.4 字符型数据存储方式 59
3.2.5 各种存储类型混合运算 62
3.3 运算符与运算表达式 63
3.3.1 运算符优先级与数据类型转换 63
3.3.2 算术运算符与算术运算表达式 65
3.3.3 赋值运算符与赋值运算表达式 69
3.3.4 逗号运算符与逗号运算表达式 71
3.3.5 关系运算符与关系运算表达式 73
3.3.6 逻辑运算符与逻辑运算表达式 74
3.3.7 条件运算符与条件运算表达式 76
3.4 练习题 78
第4章 顺序结构程序设计 80
4.1 C程序设计流程控制 80
4.1.1 基本流程控制 80
4.1.2 顺序结构流程控制 81
4.2 基本顺序结构命令语句 83
4.2.1 基本顺序命令 83
4.2.2 表达式语句 86
4.3 常用基本输入输出函数 87
4.3.1 字符类型输入函数 87
4.3.2 字符类型输出函数 89
4.3.3 格式化输入输出函数 90
4.4 练习题 97
第5章 条件分支选择结构程序设计 99
5.1 条件分支选择结构 99
5.1.1 简单if分支选择结构 99
5.1.2 if-else分支选择结构 101
5.1.3 嵌套的if-else选择结构 103
5.1.4 else-if多路分支选择结构 107
5.2 switch-case条件选择开关语句 109
5.2.1 switch-case条件选择结构 110
5.2.2 switch-case条件选择语句 112
5.3 综合案例分析 116
5.4 练习题 121
第6章 循环控制结构程序设计 123
6.1 循环控制结构 123
6.1.1 循环控制结构组成要素 123
6.1.2 while()-循环控制结构 124
6.1.3 do-while()循环控制结构 131
6.1.4 for()循环控制结构 134
6.2 循环控制结构的嵌套 139
6.3 循环控制结构的辅助控制命令 142
6.3.1 无条件转移命令goto语句 142
6.3.2 终止循环执行命令break语句 143
6.3.3 返回循环条件命令continue语句 146
6.4 几种循环控制结构的比较 148
6.5 循环控制结构综合案例分析 148
6.6 练习题 154
第7章 数组的定义及应用 156
7.1 数组的性质 156
7.2 一维数组的定义与引用 158
7.2.1 一维数组的定义 158
7.2.2 一维数组元素的引用 159
7.2.3 一维数组的初始化 160
7.2.4 一维数组应用案例 161
7.3 多维数组的定义与应用 167
7.3.1 二维数组的定义与引用 167
7.3.2 二维数组程序算法案例 172
7.3.3 三维数组的定义与应用 176
7.3.4 多维数组的应用 177
7.4 字符数组与字符串操作 178
7.4.1 字符数组的定义与初始化 178
7.4.2 字符串的处理及应用 180
7.4.3 常用的字符串处理函数 182
7.4.4 字符数组应用案例 189
7.5 练习题 194
第8章 函数与变量的作用 196
8.1 C语言函数的分类与应用 196
8.1.1 C语言函数分类 196
8.1.2 系统标准库函数 198
8.1.3 自定义函数 200
8.2 自定义函数与函数类型 203
8.3 自定义函数参数与参数传递 204
8.3.1 形式参数和实际参数 204
8.3.2 数组作为函数参数 206
8.4 自定义函数的调用 209
8.5 函数的嵌套调用 210
8.6 函数的递归调用 212
8.7 函数变量的存储与作用域 216
8.7.1 局部变量 216
8.7.2 全局变量 218
8.8 动态存储变量和静态存储变量 222
8.8.1 程序变量的存储类型 222
8.8.2 auto型动态存储变量 224
8.8.3 extern全程变量 225
8.8.4 static静态局部变量与静态全局变量 225
8.8.5 register型寄存器变量 227
8.9 全局函数和局部函数 228
8.9.1 static局部函数 228
8.9.2 extern全局函数 228
8.10 函数与变量综合案例分析 231
8.11 练习题 239
第9章 编译预处理 243
9.1 编译预处理命令 243
9.2 宏定义与宏代换 244
9.2.1 不带参数的宏定义 245
9.2.2 带参数的宏定义 246
9.2.3 宏定义作用域的终止 250
9.3 文件包含处理 252
9.4 条件编译 254
9.5 练习题 258
第10章 地址与指针变量 260
10.1 变量的内存地址与指针 260
10.1.1 指针变量的定义 262
10.1.2 指针变量的赋值 263
10.1.3 指针变量运算符及运算 264
10.1.4 指针变量作函数参数 267
10.2 数组与地址指针 269
10.2.1 指向数组的指针变量 270
10.2.2 指向数组元素的指针变量 270
10.2.3 数组名作函数参数 273
10.2.4 指针变量作函数参数 275
10.2.5 多维数组与指针变量 278
10.3 字符串与指针变量 282
10.3.1 字符串处理方法 282
10.3.2 字符串指针作函数参数 286
10.4 函数的指针及指向函数的指针变量 288
10.4.1 函数指针变量的定义 289
10.4.2 用函数指针调用函数 289
10.4.3 用函数指针变量作函数参数 290
10.4.4 返回指针值的指针函数 292
10.5 指针数组与指向指针数组的指针变量 294
10.5.1 指针数组 294
10.5.2 指向指针的指针变量 296
10.6 main命令行参数传递 299
10.7 指针变量综合案例 301
10.8 练习题 306
第11章 构造类型与自定义类型 309
11.1 结构体类型与结构体变量 309
11.1.1 结构体类型的定义 309
11.1.2 结构体类型变量的定义与引用 311
11.2 结构体数组的定义和引用 316
11.2.1 结构体数组的定义与初始化 316
11.2.2 结构体数组的引用 317
11.3 指向结构体类型数据的指针 319
11.3.1 指向结构体变量的指针 319
11.3.2 指向结构体数组的指针 320
11.3.3 结构体类型作为函数参数 322
11.4 链表结构及应用 326
11.4.1 静态链表的创建与引用 327
11.4.2 动态链表的创建与引用 328
11.4.3 单向动态链表的创建与引用 330
11.4.4 在单向动态链表中插入结点 334
11.4.5 从单向动态链表中删除结点 339
11.5 共用体类型与共用体变量 345
11.5.1 共用体类型及共用体变量的定义 345
11.5.2 共用体变量的引用 347
11.6 枚举类型与枚举变量 349
11.6.1 枚举类型的定义 350
11.6.2 枚举类型变量 350
11.7 自定义数据类型说明符 352
11.8 练习题 357
第12章 位运算操作 359
12.1 位运算符及运算操作 359
12.1.1 位运算及运算符 359
12.1.2 按位“与”运算 360
12.1.3 按位“或”运算 361
12.1.4 按位“异或”运算 362
12.1.5 按位“取反”运算 362
12.1.6 按位“左移”运算 363
12.1.7 按位“右移”运算 364
12.1.8 复合赋值位运算 365
12.2 位段定义及应用 365
12.2.1 位段的定义 366
11.2.2 位段的引用 367
12.3 位运算操作应用案例 368
12.4 练习题 370
第13章 文件系统管理与操作 371
13.1 文件的组成结构 371
13.1.1 文件的概念与构成 371
13.1.2 文件系统操作形式 373
13.2 缓冲型文件的操作与使用 374
13.2.1 缓冲型文件结构类型与文件指针 374
13.2.2 缓冲型文件的标准库函数 375
13.3 文件的打开与关闭 376
13.3.1 文件打开函数与操作模式 376
13.3.2 文件关闭函数的使用 380
13.4 文件中数据的读写操作 381
13.4.1 文件中字符数据的读写操作 382
13.4.2 文件中字符串数据的读写操作 385
13.4.3 文件中数值数据的读写操作 389
13.4.4 文件中数据的格式化读写操作 391
13.5 文件指针的定位 393
13.5.1 文件指针的定位操作 393
13.5.2 文件指针复位函数 393
13.5.3 当前指针位置测试函数 394
13.5.4 定位指针位置函数 395
13.6 文件操作错误的检测 397
13.6.1 文件读写操作检测函数 397
13.6.2 文件错误状态清除函数 398
13.7 其他缓冲型文件函数 400
13.7.1 文件结束位置测试函数 400
13.7.2 磁盘文件删除函数 401
13.8 文件操作管理综合应用案例分析 402
13.9 练习题 406
附录A 常用字符与ASCII码对照表 409
附录B 运算符的优先级与结合性 410
参考文献 411