C语言程序设计(第3版) / 高职高专计算机教学改革新体系规划教材
¥37.00定价
作者: 崔武子、李红豫
出版时间:2016年7月
出版社:清华大学出版社
- 清华大学出版社
- 9787302433941
- 3-1
- 116829
- 16开
- 2016年7月
- 工学
- 软件工程
- TP312C
- 计算机类
- 高职高专
内容简介
本书第1版于2008年出版。该书是普通高等教育“十一五”*规划教材,荣获“2011年北京高等教育精品教材”和“2009年高职高专计算机类专业优秀教材”称号。本书力求突破高职高专旧的教学限制,用全新的方法组织编写。本书始终以应用为目的,从应用入手,采用了任务驱动方式。书中内容讲授精练,循序渐进,重点突出,易于理解。本书将公交一卡通管理程序作为贯穿全书知识点的实例在各章中分别介绍,使学生尽早体会较大程序的编写过程。全书共8章,分别是C语言基础与顺序结构、分支结构、循环结构、数组、指针、函数、结构体和文件,各章提供讨论题、思考题、上机练习和自测题。本书还提供免费的授课素材,包括丰富的电子教案(含动画)和全书的源代码。全书程序的运行环境是Visual C 6.0,在附录中介绍Visual C 2010环境。本书主要针对C语言零起点的高职高专学生和自学者,也适合C语言的初学者学习。
目录
目 录
第1章 C语言基础与顺序结构 .................................................................1
1.1 认识C语言程序
...........................................................................................1
1.1.1 了解C语言程序的构成
....................................................................1
1.1.2 熟悉主函数框架
................................................................................3
1.2 合理选用数据类型
........................................................................................7
1.2.1 合理选用整型数据 ............................................................................7
1.2.2 合理选用实型数据
............................................................................8
1.2.3 合理选用字符型数据
......................................................................10
1.3 学会使用常用运算符
..................................................................................11
1.3.1 学会使用算术运算符
......................................................................11
1.3.2 学会使用赋值运算符
......................................................................13
1.4 学会控制输入输出数据
...............................................................................14
1.4.1 使用格式输入输出函数出加法题
....................................................14
1.4.2 单个字符输入输出函数的使用
.......................................................15
1.5 画顺序结构的流程图
..................................................................................16
1.6 贯穿教学全过程的实例——公交一卡通管理程序(1)
..............................17
1.7 本章总结
.....................................................................................................19
思考题......
...........................................................................................................21
上机练习....
.........................................................................................................21
自测题......
...........................................................................................................21
自测题参考答案....
..............................................................................................23
第2章 分支结构 ......................................................................................24
2.1 if语句..........................................................................................................24
2.1.1 学习使用关系运算符和if语句
.......................................................24
2.1.2 认识省略else的if语句
..................................................................26
2.1.3 学会使用逻辑运算符
......................................................................29
2.1.4 学会使用嵌套的if语句
..................................................................31
2.1.5 学会使用if...else if形式的嵌套if语句 ..........................................33
2.2 switch语句
..................................................................................................35
2.2.1 认识switch语句 .............................................................................35
2.2.2 多个case语句相同情况的处理
......................................................38
2.2.3 用switch语句的技巧计算分段函数的值
........................................39
2.3 用条件运算符转换大小写字母 ...................................................................41
2.4 程序举例
.....................................................................................................42
2.4.1 掌握三个数中求最大数的方法
.......................................................42
2.4.2 掌握三个数排序的方法
...................................................................42
2.4.3 熟悉菜单设计操作
..........................................................................43
2.5 贯穿教学全过程的实例——公交一卡通管理程序(2)
..............................44
2.6 本章总结 .....................................................................................................46
思考题......
...........................................................................................................47
上机练习..... .................................................................................................................48
自测题......
...........................................................................................................48
自测题参考答案.... ..............................................................................................50
第3章 循环结构
......................................................................................52
3.1 使用for语句实现循环控制
........................................................................52
3.1.1 使用for语句重复显示信息
............................................................52
3.1.2 使用for语句重复出加法题
............................................................54
3.2 使用while语句实现循环控制
....................................................................57
3.2.1 使用while语句为学生分班
............................................................57
3.2.2 使用while语句计算近似值
............................................................59
3.3 使用do...while语句实现循环控制
.............................................................60
3.3.1 使用do...while语句计算加法题正确率
..........................................60
3.3.2 使用do...while语句编写打字练习程序
..........................................63
3.4 使用break语句强行退出循环
....................................................................64
3.5 学会使用循环设计典型算法
.......................................................................66
3.5.1 学会找出Fibonacci数列的各项来掌握递推算法
...........................66
3.5.2 用迭代算法求解某数的平方根
.......................................................68
3.5.3 用枚举算法求解百元百鸡问题 .......................................................70
3.5.4 学会判断质数的算法
......................................................................73
3.6 贯穿教学全过程的实例——公交一卡通管理程序(3)
..............................77
3.7 本章总结 .....................................................................................................78
思考题.......
..........................................................................................................80
上机练习....
.........................................................................................................81
自测题......
...........................................................................................................82
自测题参考答案....
..............................................................................................84
第4章 数组
..............................................................................................86
4.1 认识数组
.....................................................................................................86
目 录
V
4.2 使用一维数组
..............................................................................................86
4.2.1 定义与引用一维数组
......................................................................86
4.2.2 在字符串中找出数字字符构造新数组 ............................................88
4.2.3 判断密码是否正确
..........................................................................89
4.2.4 求一批数据中的最大值
...................................................................90
4.2.5 在有序数据中插入一个数
...............................................................93
4.2.6 排序数据
.........................................................................................94
4.3 使用二维数组
..............................................................................................97
4.3.1 求两个矩阵的和 ..............................................................................97
4.3.2 求方阵对角线上元素之和
...............................................................99
4.3.3 显示算术题和学生答题信息
.........................................................100
4.3.4 编写不同级别的打字练习程序
.....................................................102
4.3.5 统计一个学习小组的成绩
.............................................................104
4.4 贯穿教学全过程的实例——公交一卡通管理程序(4)
............................105
4.5 本章总结 ....................................................................................................112
思考题.......
.........................................................................................................113
上机练习....
........................................................................................................114
自测题......
..........................................................................................................115
自测题参考答案....
.............................................................................................116
第5章 指针
............................................................................................118
5.1 认识变量的地址和指针变量
......................................................................118
5.2 通过指针访问普通变量 ..............................................................................118
5.3 通过指针访问数组
....................................................................................120
5.3.1 通过指针计算总分
........................................................................120
5.3.2 通过指针将数据逆置
....................................................................122
5.3.3 通过指针找出最大值
....................................................................124
5.3.4 通过指针排序数据
........................................................................126
5.3.5 通过指针计算两个矩阵的和
.........................................................126
5.4 通过指针访问字符串
................................................................................128
5.4.1 通过指针判断回文
........................................................................128
5.4.2 在三个字符串中找出最大的字符串
..............................................131
5.4.3 将三个字符串从大到小进行排序
..................................................132
5.4.4 连接两个字符串
............................................................................133
5.5 本章总结
...................................................................................................135
思考题........
.......................................................................................................136
上机练习......
..............................................................................................................136
自测题......
.........................................................................................................138
自测题参考答案....
............................................................................................139
第6章 函数
............................................................................................141
6.1 了解C语言程序的执行过程
....................................................................141
6.2 掌握自定义函数的编写与调用方法
..........................................................144
6.2.1 调用自定义函数计算1~n的和
.....................................................144
6.2.2 调用自定义函数进行四则运算 .....................................................148
6.2.3 在被调函数中交换数据
.................................................................151
6.2.4 用嵌套调用的方法进行计算
.........................................................153
6.3 调用自定义函数处理数组
.........................................................................154
6.3.1 调用自定义函数输入输出一维数组
..............................................154
6.3.2 调用自定义函数将数据逆置
.........................................................156
6.3.3 调用自定义函数求最大值
.............................................................157
6.3.4 调用自定义函数判断回文
.............................................................159
6.3.5 调用自定义函数计算两个矩阵的和
..............................................161
6.4 变量的存储类别
........................................................................................162
6.4.1 内部变量和外部变量
....................................................................162
6.4.2 动态存储变量和静态存储变量
.....................................................164
6.5 贯穿教学全过程的实例——公交一卡通管理程序(5)
............................166
6.6 本章总结
...................................................................................................174
思考题.......
........................................................................................................176
上机练习..... ......................................................................................................177
自测题......
.........................................................................................................178
自测题参考答案.... ............................................................................................179
第7章 结构体
........................................................................................181
7.1 了解结构体类型数据的使用场合..............................................................181
7.2 掌握结构体变量的使用方法
.....................................................................181
7.2.1 使用结构体变量处理实际问题
.....................................................182
7.2.2 将结构体变量作为实参处理实际问题
..........................................186
7.3 掌握结构体数组的使用方法 .....................................................................187
7.3.1 使用结构体数组处理实际问题
.....................................................187
7.3.2 将结构体数组名作为实参处理实际问题
......................................189
7.4 贯穿教学全过程的实例——公交一卡通管理程序(6)
............................197
7.5 本章总结
...................................................................................................205
思考题......
.........................................................................................................207
上机练习......
..............................................................................................................209
自测题......
.........................................................................................................210
自测题参考答案.... ............................................................................................212
第8章 文件
............................................................................................214
8.1 了解文件的处理过程
................................................................................214
8.2 掌握文件的基本操作本领
.........................................................................216
8.2.1 创建文本文件
................................................................................216
8.2.2 读取文本文件中的数据 .................................................................218
8.2.3 创建二进制文件
............................................................................219
8.2.4 读取二进制文件中的数据
.............................................................220
8.3 文件的应用举例 ........................................................................................222
8.3.1 编写算术考试程序
........................................................................222
8.3.2 编写阅卷程序
................................................................................223
8.3.3 复制文件
.......................................................................................224
8.3.4 调用函数修改文件中的内容
.........................................................226
8.4 贯穿教学全过程的实例——公交一卡通管理程序(7)
............................228
8.5 本章总结
...................................................................................................250
思考题.......
........................................................................................................251
上机练习.....
...............................................................................................................251
自测题......
.........................................................................................................252
自测题参考答案.... ............................................................................................254
附录
...........................................................................................................256
附录A C语言关键字
.....................................................................................256
附录B 常用字符与ASCII代码对照表 ...........................................................256
附录C 运算符的优先级和结合方向
...............................................................257
附录D 常用C库函数 .....................................................................................257
附录E 用Visual C 2010编写C程序
.........................................................260
附录F C语言常见编译错误的中英文对照表.................................................264
参考文献............... ...........................................................................................267
第1章 C语言基础与顺序结构 .................................................................1
1.1 认识C语言程序
...........................................................................................1
1.1.1 了解C语言程序的构成
....................................................................1
1.1.2 熟悉主函数框架
................................................................................3
1.2 合理选用数据类型
........................................................................................7
1.2.1 合理选用整型数据 ............................................................................7
1.2.2 合理选用实型数据
............................................................................8
1.2.3 合理选用字符型数据
......................................................................10
1.3 学会使用常用运算符
..................................................................................11
1.3.1 学会使用算术运算符
......................................................................11
1.3.2 学会使用赋值运算符
......................................................................13
1.4 学会控制输入输出数据
...............................................................................14
1.4.1 使用格式输入输出函数出加法题
....................................................14
1.4.2 单个字符输入输出函数的使用
.......................................................15
1.5 画顺序结构的流程图
..................................................................................16
1.6 贯穿教学全过程的实例——公交一卡通管理程序(1)
..............................17
1.7 本章总结
.....................................................................................................19
思考题......
...........................................................................................................21
上机练习....
.........................................................................................................21
自测题......
...........................................................................................................21
自测题参考答案....
..............................................................................................23
第2章 分支结构 ......................................................................................24
2.1 if语句..........................................................................................................24
2.1.1 学习使用关系运算符和if语句
.......................................................24
2.1.2 认识省略else的if语句
..................................................................26
2.1.3 学会使用逻辑运算符
......................................................................29
2.1.4 学会使用嵌套的if语句
..................................................................31
2.1.5 学会使用if...else if形式的嵌套if语句 ..........................................33
2.2 switch语句
..................................................................................................35
2.2.1 认识switch语句 .............................................................................35
2.2.2 多个case语句相同情况的处理
......................................................38
2.2.3 用switch语句的技巧计算分段函数的值
........................................39
2.3 用条件运算符转换大小写字母 ...................................................................41
2.4 程序举例
.....................................................................................................42
2.4.1 掌握三个数中求最大数的方法
.......................................................42
2.4.2 掌握三个数排序的方法
...................................................................42
2.4.3 熟悉菜单设计操作
..........................................................................43
2.5 贯穿教学全过程的实例——公交一卡通管理程序(2)
..............................44
2.6 本章总结 .....................................................................................................46
思考题......
...........................................................................................................47
上机练习..... .................................................................................................................48
自测题......
...........................................................................................................48
自测题参考答案.... ..............................................................................................50
第3章 循环结构
......................................................................................52
3.1 使用for语句实现循环控制
........................................................................52
3.1.1 使用for语句重复显示信息
............................................................52
3.1.2 使用for语句重复出加法题
............................................................54
3.2 使用while语句实现循环控制
....................................................................57
3.2.1 使用while语句为学生分班
............................................................57
3.2.2 使用while语句计算近似值
............................................................59
3.3 使用do...while语句实现循环控制
.............................................................60
3.3.1 使用do...while语句计算加法题正确率
..........................................60
3.3.2 使用do...while语句编写打字练习程序
..........................................63
3.4 使用break语句强行退出循环
....................................................................64
3.5 学会使用循环设计典型算法
.......................................................................66
3.5.1 学会找出Fibonacci数列的各项来掌握递推算法
...........................66
3.5.2 用迭代算法求解某数的平方根
.......................................................68
3.5.3 用枚举算法求解百元百鸡问题 .......................................................70
3.5.4 学会判断质数的算法
......................................................................73
3.6 贯穿教学全过程的实例——公交一卡通管理程序(3)
..............................77
3.7 本章总结 .....................................................................................................78
思考题.......
..........................................................................................................80
上机练习....
.........................................................................................................81
自测题......
...........................................................................................................82
自测题参考答案....
..............................................................................................84
第4章 数组
..............................................................................................86
4.1 认识数组
.....................................................................................................86
目 录
V
4.2 使用一维数组
..............................................................................................86
4.2.1 定义与引用一维数组
......................................................................86
4.2.2 在字符串中找出数字字符构造新数组 ............................................88
4.2.3 判断密码是否正确
..........................................................................89
4.2.4 求一批数据中的最大值
...................................................................90
4.2.5 在有序数据中插入一个数
...............................................................93
4.2.6 排序数据
.........................................................................................94
4.3 使用二维数组
..............................................................................................97
4.3.1 求两个矩阵的和 ..............................................................................97
4.3.2 求方阵对角线上元素之和
...............................................................99
4.3.3 显示算术题和学生答题信息
.........................................................100
4.3.4 编写不同级别的打字练习程序
.....................................................102
4.3.5 统计一个学习小组的成绩
.............................................................104
4.4 贯穿教学全过程的实例——公交一卡通管理程序(4)
............................105
4.5 本章总结 ....................................................................................................112
思考题.......
.........................................................................................................113
上机练习....
........................................................................................................114
自测题......
..........................................................................................................115
自测题参考答案....
.............................................................................................116
第5章 指针
............................................................................................118
5.1 认识变量的地址和指针变量
......................................................................118
5.2 通过指针访问普通变量 ..............................................................................118
5.3 通过指针访问数组
....................................................................................120
5.3.1 通过指针计算总分
........................................................................120
5.3.2 通过指针将数据逆置
....................................................................122
5.3.3 通过指针找出最大值
....................................................................124
5.3.4 通过指针排序数据
........................................................................126
5.3.5 通过指针计算两个矩阵的和
.........................................................126
5.4 通过指针访问字符串
................................................................................128
5.4.1 通过指针判断回文
........................................................................128
5.4.2 在三个字符串中找出最大的字符串
..............................................131
5.4.3 将三个字符串从大到小进行排序
..................................................132
5.4.4 连接两个字符串
............................................................................133
5.5 本章总结
...................................................................................................135
思考题........
.......................................................................................................136
上机练习......
..............................................................................................................136
自测题......
.........................................................................................................138
自测题参考答案....
............................................................................................139
第6章 函数
............................................................................................141
6.1 了解C语言程序的执行过程
....................................................................141
6.2 掌握自定义函数的编写与调用方法
..........................................................144
6.2.1 调用自定义函数计算1~n的和
.....................................................144
6.2.2 调用自定义函数进行四则运算 .....................................................148
6.2.3 在被调函数中交换数据
.................................................................151
6.2.4 用嵌套调用的方法进行计算
.........................................................153
6.3 调用自定义函数处理数组
.........................................................................154
6.3.1 调用自定义函数输入输出一维数组
..............................................154
6.3.2 调用自定义函数将数据逆置
.........................................................156
6.3.3 调用自定义函数求最大值
.............................................................157
6.3.4 调用自定义函数判断回文
.............................................................159
6.3.5 调用自定义函数计算两个矩阵的和
..............................................161
6.4 变量的存储类别
........................................................................................162
6.4.1 内部变量和外部变量
....................................................................162
6.4.2 动态存储变量和静态存储变量
.....................................................164
6.5 贯穿教学全过程的实例——公交一卡通管理程序(5)
............................166
6.6 本章总结
...................................................................................................174
思考题.......
........................................................................................................176
上机练习..... ......................................................................................................177
自测题......
.........................................................................................................178
自测题参考答案.... ............................................................................................179
第7章 结构体
........................................................................................181
7.1 了解结构体类型数据的使用场合..............................................................181
7.2 掌握结构体变量的使用方法
.....................................................................181
7.2.1 使用结构体变量处理实际问题
.....................................................182
7.2.2 将结构体变量作为实参处理实际问题
..........................................186
7.3 掌握结构体数组的使用方法 .....................................................................187
7.3.1 使用结构体数组处理实际问题
.....................................................187
7.3.2 将结构体数组名作为实参处理实际问题
......................................189
7.4 贯穿教学全过程的实例——公交一卡通管理程序(6)
............................197
7.5 本章总结
...................................................................................................205
思考题......
.........................................................................................................207
上机练习......
..............................................................................................................209
自测题......
.........................................................................................................210
自测题参考答案.... ............................................................................................212
第8章 文件
............................................................................................214
8.1 了解文件的处理过程
................................................................................214
8.2 掌握文件的基本操作本领
.........................................................................216
8.2.1 创建文本文件
................................................................................216
8.2.2 读取文本文件中的数据 .................................................................218
8.2.3 创建二进制文件
............................................................................219
8.2.4 读取二进制文件中的数据
.............................................................220
8.3 文件的应用举例 ........................................................................................222
8.3.1 编写算术考试程序
........................................................................222
8.3.2 编写阅卷程序
................................................................................223
8.3.3 复制文件
.......................................................................................224
8.3.4 调用函数修改文件中的内容
.........................................................226
8.4 贯穿教学全过程的实例——公交一卡通管理程序(7)
............................228
8.5 本章总结
...................................................................................................250
思考题.......
........................................................................................................251
上机练习.....
...............................................................................................................251
自测题......
.........................................................................................................252
自测题参考答案.... ............................................................................................254
附录
...........................................................................................................256
附录A C语言关键字
.....................................................................................256
附录B 常用字符与ASCII代码对照表 ...........................................................256
附录C 运算符的优先级和结合方向
...............................................................257
附录D 常用C库函数 .....................................................................................257
附录E 用Visual C 2010编写C程序
.........................................................260
附录F C语言常见编译错误的中英文对照表.................................................264
参考文献............... ...........................................................................................267