- 机械工业出版社
- 9787111734796
- 1-1
- 504021
- 64258877-6
- 平装
- 16开
- 2023-08
- 464
- 计算机
- 高职
内容简介
本书主要内容包括C 语言概述、基本数据类型、运算符与表达式、顺序结构、分支结
构、循环结构、数组、函数、编译预处理、指针、结构和其他类型、文件、案例基础算法与
综合案例设计等内容。本书层次清晰、体系合理、内容全面、例题丰富、面向应用、实用性
强, 强调培养读者的程序设计综合能力。每单元都配有本单元小结和习题与实训部分, 便于
成果导向学习和实践操作。
本书配有视频微课, 深入浅出地讲解了知识点和实训案例, 不仅有利于教师组织教学,
也方便读者自学C 语言程序设计案例。
本书可作为高等职业院校程序设计基础课程的教材, 也可供从事相关技术开发的工程技
术人员参考。
构、循环结构、数组、函数、编译预处理、指针、结构和其他类型、文件、案例基础算法与
综合案例设计等内容。本书层次清晰、体系合理、内容全面、例题丰富、面向应用、实用性
强, 强调培养读者的程序设计综合能力。每单元都配有本单元小结和习题与实训部分, 便于
成果导向学习和实践操作。
本书配有视频微课, 深入浅出地讲解了知识点和实训案例, 不仅有利于教师组织教学,
也方便读者自学C 语言程序设计案例。
本书可作为高等职业院校程序设计基础课程的教材, 也可供从事相关技术开发的工程技
术人员参考。
目录
目 录
前言
二维码索引
单元1 C 语言概述
1. 1 C 语言历史及其特点/ 001
1. 1. 1 C 语言历史/ 001
1. 1. 2 C 语言特点/ 002
1. 2 结构化程序设计及算法/ 003
1. 2. 1 结构化程序设计/ 003
1. 2. 2 算法/ 006
1. 3 简单C 语言程序介绍/ 009
1. 3. 1 C 语言结构特点/ 011
1. 3. 2 C 语言程序书写格式/ 011
1. 4 C 语言程序开发过程/ 012
1. 4. 1 源程序翻译/ 012
1. 4. 2 链接目标程序/ 013
1. 5 C 语言编程环境简介/ 014
1. 5. 1 MS - DOS 编程环境/ 015
1. 5. 2 Windows 编程环境/ 016
1. 5. 3 UNIX 编程环境/ 017
本单元小结/ 018
习题与实训/ 018
单元2 基本数据类型
2. 1 数据类型简介/ 020
2. 1. 1 数据类型分类/ 020
2. 1. 2 标识符/ 021
2. 2 常量/ 022
2. 2. 1 数值常量/ 022
2. 2. 2 字符常量/ 023
2. 2. 3 符号常量/ 025
2. 3 变量/ 025
2. 3. 1 整型变量/ 026
2. 3. 2 实型变量/ 028
2. 3. 3 字符变量/ 029
2. 3. 4 变量赋初值/ 031
2. 4 数据类型转换/ 031
本单元小结/ 033
习题与实训/ 034
单元3 运算符与表达式
3. 1 运算符和表达式概述/ 036
3. 2 算术运算符和算术表达式/ 037
3. 3 赋值运算符和赋值表达式/ 040
3. 4 关系运算符和逻辑运算符/ 041
3. 5 位运算符/ 044
3. 6 条件运算符和条件表达式/ 046
3. 7 其他运算符/ 047
3. 8 运算顺序/ 048
本单元小结/ 049
习题与实训/ 049
单元4 顺序结构
4. 1 C 语句概述/ 052
4. 2 数据的输入输出/ 055
4. 2. 1 格式输出函数printf() / 056
4. 2. 2 格式输入函数scanf() / 062
4. 2. 3 字符输入/ 输出函数/ 065
4. 3 顺序结构程序设计一般方法/ 066
本单元小结/ 070
习题与实训/ 070
单元5 分支结构
5. 1 if 语句/ 073
5. 1. 1 if 语句格式/ 073
5. 1. 2 if 语句的嵌套/ 077
5. 2 switch 语句/ 079
5. 3 分支结构应用/ 081
本单元小结/ 084
习题与实训/ 084
单元6 循环结构
6. 1 while 循环/ 087
6. 2 do-while 循环/ 089
6. 3 for 循环/ 090
6. 4 循环结构嵌套/ 093
6. 5 转向语句/ 097
6. 5. 1 break 语句/ 097
6. 5. 2 continue 语句/ 098
6. 5. 3 goto 语句/ 099
6. 5. 4 return 语句/ 100
6. 6 应用举例/ 100
本单元小结/ 109
习题与实训/ 109
单元7 数组
7. 1 一维数组/ 115
7. 1. 1 一维数组定义/ 115
7. 1. 2 一维数组元素引用/ 117
7. 1. 3 一维数组初始化/ 118
7. 1. 4 一维数组应用举例/ 119
7. 2 二维数组/ 121
7. 2. 1 二维数组的定义/ 121
7. 2. 2 二维数组引用/ 122
7. 2. 3 二维数组初始化/ 123
7. 2. 4 二维数组应用举例/ 124
7. 3 字符数组和字符串/ 126
7. 3. 1 字符数组定义和引用/ 126
7. 3. 2 字符数组初始化/ 127
7. 3. 3 字符数组输入/ 输出/ 129
7. 3. 4 字符串处理函数/ 131
7. 4 数组应用举例/ 134
本单元小结/ 138
习题与实训/ 138
单元8 函数
8. 1 函数的定义/ 142
8. 2 函数的参数和返回值/ 144
8. 2. 1 形式参数和实际参数/ 144
8. 2. 2 函数返回值/ 146
8. 3 函数调用/ 148
8. 3. 1 调用方式/ 148
8. 3. 2 函数说明/ 150
8. 3. 3 函数的嵌套调用/ 152
8. 3. 4 函数的递归调用/ 155
8. 4 数组作为函数参数/ 158
8. 5 局部变量和全局变量/ 163
8. 5. 1 局部变量/ 163
8. 5. 2 全局变量/ 165
8. 6 存储类型/ 166
8. 6. 1 auto 存储类型/ 167
8. 6. 2 extern 存储类型/ 168
8. 6. 3 register 存储类型/ 169
8. 6. 4 static 存储类型/ 170
8. 7 内部函数和外部函数/ 172
本单元小结/ 173
习题与实训/ 173
单元9 编译预处理
9. 1 宏定义/ 177
9. 1. 1 无参数宏定义/ 177
9. 1. 2 带参数宏定义/ 179
9. 2 文件包含/ 182
9. 3 条件编译/ 183
9. 3. 1 条件编译命令/ 184
9. 3. 2 条件编译优点/ 185
本单元小结/ 186
习题与实训/ 186
单元10 指针
10. 1 指针概念/ 190
10. 1. 1 指针定义/ 191
10. 1. 2 指针变量的初始化/ 192
10. 1. 3 指针的运算符/ 193
10. 2 指针变量运算/ 195
10. 2. 1 指针变量赋值运算/ 195
10. 2. 2 指针变量算术运算/ 197
10. 2. 3 指针变量间关系运算/ 199
10. 3 指针和数组/ 199
10. 3. 1 数组指针变量/ 200
10. 3. 2 指针与一维数组/ 201
10. 3. 3 指针与二维数组/ 202
10. 3. 4 指针数组/ 203
10. 4 指针和函数/ 206
10. 4. 1 指针作为函数参数/ 206
10. 4. 2 指针型函数/ 208
10. 4. 3 函数指针变量/ 210
10. 5 指针和字符串/ 211
10. 5. 1 字符串表示方法/ 211
10. 5. 2 字符串处理函数/ 213
10. 6 多重指针/ 215
10. 6. 1 指向指针的指针/ 215
10. 6. 2 命令行参数/ 216
本单元小结/ 216
习题与实训/ 217
单元11 结构和其他类型
11. 1 结构的概念/ 220
11. 2 结构的操作/ 222
11. 2. 1 结构的引用和初始化/ 222
11. 2. 2 结构数组/ 223
11. 2. 3 结构指针变量/ 225
11. 3 结构的应用/ 227
11. 4 动态结构类型/ 230
11. 5 联合/ 234
11. 5. 1 联合定义/ 235
11. 5. 2 联合变量赋值和引用/ 235
11. 6 枚举类型/ 237
11. 6. 1 枚举类型的定义/ 237
11. 6. 2 枚举类型赋值和使用/ 237
11. 7 使用typedef / 239
本单元小结/ 240
习题与实训/ 240
单元12 文件
12. 1 文件概述/ 243
12. 2 文件类型指针/ 244
12. 3 文件打开与关闭/ 245
12. 3. 1 文件打开(函数fopen()) / 245
12. 3. 2 文件关闭(函数fclose()) / 246
12. 4 文件读写/ 247
12. 4. 1 字符读写函数/ 247
12. 4. 2 字符串读写函数/ 249
12. 4. 3 数据块读写函数/ 250
12. 4. 4 格式化读写函数/ 251
12. 5 文件定位/ 252
12. 5. 1 函数rewind() / 252
12. 5. 2 函数fseek() / 253
本单元小结/ 254
习题与实训/ 255
单元13 案例基础算法与综合案例设计
13. 1 链表/ 257
13. 2 队列/ 261
13. 3 栈/ 264
13. 4 存储管理/ 265
13. 5 进程调度/ 267
13. 6 表达式求值/ 276
13. 7 综合案例设计1———迷宫问题/ 279
13. 8 综合案例设计2———贪吃蛇游戏/ 283
13. 9 综合案例设计3———黑白棋游戏/ 289
本单元小结/ 297
习题与实训/ 298
参考文献/ 299
前言
二维码索引
单元1 C 语言概述
1. 1 C 语言历史及其特点/ 001
1. 1. 1 C 语言历史/ 001
1. 1. 2 C 语言特点/ 002
1. 2 结构化程序设计及算法/ 003
1. 2. 1 结构化程序设计/ 003
1. 2. 2 算法/ 006
1. 3 简单C 语言程序介绍/ 009
1. 3. 1 C 语言结构特点/ 011
1. 3. 2 C 语言程序书写格式/ 011
1. 4 C 语言程序开发过程/ 012
1. 4. 1 源程序翻译/ 012
1. 4. 2 链接目标程序/ 013
1. 5 C 语言编程环境简介/ 014
1. 5. 1 MS - DOS 编程环境/ 015
1. 5. 2 Windows 编程环境/ 016
1. 5. 3 UNIX 编程环境/ 017
本单元小结/ 018
习题与实训/ 018
单元2 基本数据类型
2. 1 数据类型简介/ 020
2. 1. 1 数据类型分类/ 020
2. 1. 2 标识符/ 021
2. 2 常量/ 022
2. 2. 1 数值常量/ 022
2. 2. 2 字符常量/ 023
2. 2. 3 符号常量/ 025
2. 3 变量/ 025
2. 3. 1 整型变量/ 026
2. 3. 2 实型变量/ 028
2. 3. 3 字符变量/ 029
2. 3. 4 变量赋初值/ 031
2. 4 数据类型转换/ 031
本单元小结/ 033
习题与实训/ 034
单元3 运算符与表达式
3. 1 运算符和表达式概述/ 036
3. 2 算术运算符和算术表达式/ 037
3. 3 赋值运算符和赋值表达式/ 040
3. 4 关系运算符和逻辑运算符/ 041
3. 5 位运算符/ 044
3. 6 条件运算符和条件表达式/ 046
3. 7 其他运算符/ 047
3. 8 运算顺序/ 048
本单元小结/ 049
习题与实训/ 049
单元4 顺序结构
4. 1 C 语句概述/ 052
4. 2 数据的输入输出/ 055
4. 2. 1 格式输出函数printf() / 056
4. 2. 2 格式输入函数scanf() / 062
4. 2. 3 字符输入/ 输出函数/ 065
4. 3 顺序结构程序设计一般方法/ 066
本单元小结/ 070
习题与实训/ 070
单元5 分支结构
5. 1 if 语句/ 073
5. 1. 1 if 语句格式/ 073
5. 1. 2 if 语句的嵌套/ 077
5. 2 switch 语句/ 079
5. 3 分支结构应用/ 081
本单元小结/ 084
习题与实训/ 084
单元6 循环结构
6. 1 while 循环/ 087
6. 2 do-while 循环/ 089
6. 3 for 循环/ 090
6. 4 循环结构嵌套/ 093
6. 5 转向语句/ 097
6. 5. 1 break 语句/ 097
6. 5. 2 continue 语句/ 098
6. 5. 3 goto 语句/ 099
6. 5. 4 return 语句/ 100
6. 6 应用举例/ 100
本单元小结/ 109
习题与实训/ 109
单元7 数组
7. 1 一维数组/ 115
7. 1. 1 一维数组定义/ 115
7. 1. 2 一维数组元素引用/ 117
7. 1. 3 一维数组初始化/ 118
7. 1. 4 一维数组应用举例/ 119
7. 2 二维数组/ 121
7. 2. 1 二维数组的定义/ 121
7. 2. 2 二维数组引用/ 122
7. 2. 3 二维数组初始化/ 123
7. 2. 4 二维数组应用举例/ 124
7. 3 字符数组和字符串/ 126
7. 3. 1 字符数组定义和引用/ 126
7. 3. 2 字符数组初始化/ 127
7. 3. 3 字符数组输入/ 输出/ 129
7. 3. 4 字符串处理函数/ 131
7. 4 数组应用举例/ 134
本单元小结/ 138
习题与实训/ 138
单元8 函数
8. 1 函数的定义/ 142
8. 2 函数的参数和返回值/ 144
8. 2. 1 形式参数和实际参数/ 144
8. 2. 2 函数返回值/ 146
8. 3 函数调用/ 148
8. 3. 1 调用方式/ 148
8. 3. 2 函数说明/ 150
8. 3. 3 函数的嵌套调用/ 152
8. 3. 4 函数的递归调用/ 155
8. 4 数组作为函数参数/ 158
8. 5 局部变量和全局变量/ 163
8. 5. 1 局部变量/ 163
8. 5. 2 全局变量/ 165
8. 6 存储类型/ 166
8. 6. 1 auto 存储类型/ 167
8. 6. 2 extern 存储类型/ 168
8. 6. 3 register 存储类型/ 169
8. 6. 4 static 存储类型/ 170
8. 7 内部函数和外部函数/ 172
本单元小结/ 173
习题与实训/ 173
单元9 编译预处理
9. 1 宏定义/ 177
9. 1. 1 无参数宏定义/ 177
9. 1. 2 带参数宏定义/ 179
9. 2 文件包含/ 182
9. 3 条件编译/ 183
9. 3. 1 条件编译命令/ 184
9. 3. 2 条件编译优点/ 185
本单元小结/ 186
习题与实训/ 186
单元10 指针
10. 1 指针概念/ 190
10. 1. 1 指针定义/ 191
10. 1. 2 指针变量的初始化/ 192
10. 1. 3 指针的运算符/ 193
10. 2 指针变量运算/ 195
10. 2. 1 指针变量赋值运算/ 195
10. 2. 2 指针变量算术运算/ 197
10. 2. 3 指针变量间关系运算/ 199
10. 3 指针和数组/ 199
10. 3. 1 数组指针变量/ 200
10. 3. 2 指针与一维数组/ 201
10. 3. 3 指针与二维数组/ 202
10. 3. 4 指针数组/ 203
10. 4 指针和函数/ 206
10. 4. 1 指针作为函数参数/ 206
10. 4. 2 指针型函数/ 208
10. 4. 3 函数指针变量/ 210
10. 5 指针和字符串/ 211
10. 5. 1 字符串表示方法/ 211
10. 5. 2 字符串处理函数/ 213
10. 6 多重指针/ 215
10. 6. 1 指向指针的指针/ 215
10. 6. 2 命令行参数/ 216
本单元小结/ 216
习题与实训/ 217
单元11 结构和其他类型
11. 1 结构的概念/ 220
11. 2 结构的操作/ 222
11. 2. 1 结构的引用和初始化/ 222
11. 2. 2 结构数组/ 223
11. 2. 3 结构指针变量/ 225
11. 3 结构的应用/ 227
11. 4 动态结构类型/ 230
11. 5 联合/ 234
11. 5. 1 联合定义/ 235
11. 5. 2 联合变量赋值和引用/ 235
11. 6 枚举类型/ 237
11. 6. 1 枚举类型的定义/ 237
11. 6. 2 枚举类型赋值和使用/ 237
11. 7 使用typedef / 239
本单元小结/ 240
习题与实训/ 240
单元12 文件
12. 1 文件概述/ 243
12. 2 文件类型指针/ 244
12. 3 文件打开与关闭/ 245
12. 3. 1 文件打开(函数fopen()) / 245
12. 3. 2 文件关闭(函数fclose()) / 246
12. 4 文件读写/ 247
12. 4. 1 字符读写函数/ 247
12. 4. 2 字符串读写函数/ 249
12. 4. 3 数据块读写函数/ 250
12. 4. 4 格式化读写函数/ 251
12. 5 文件定位/ 252
12. 5. 1 函数rewind() / 252
12. 5. 2 函数fseek() / 253
本单元小结/ 254
习题与实训/ 255
单元13 案例基础算法与综合案例设计
13. 1 链表/ 257
13. 2 队列/ 261
13. 3 栈/ 264
13. 4 存储管理/ 265
13. 5 进程调度/ 267
13. 6 表达式求值/ 276
13. 7 综合案例设计1———迷宫问题/ 279
13. 8 综合案例设计2———贪吃蛇游戏/ 283
13. 9 综合案例设计3———黑白棋游戏/ 289
本单元小结/ 297
习题与实训/ 298
参考文献/ 299