本书分为10个项目,包括课程准备、车辆行驶状态显示(输入、输出)、车辆数据类型选择(选择结构)、车辆电池数据监测(循环结构)、汽车销售数据(数组)、模块化设计(函数)、汽车数据间接显示(指针)、汽车数据显示(结构体)、汽车数据文件的读/写操作(文件)、综合任务:车辆数据收发模拟器。每个项目都设定了学习目标,分解后的每个任务都设定了任务目标、知识储备、典型案例、任务分析与实践、巩固练习5个环节,逐层递进分析和解决问题。本书配有全套在线教学视频,生动形象地讲解了C语言的基础知识与应用方法,易学易用。本书以校企合作项目为真实案例,选取有效案例融入知识讲解中,德技并修,以任务驱动的方式让学生从发现问题、寻找方法、解决问题的全过程中得到全方位、专业的编程技能训练。本书既适合作为高职高专院校计算机专业学生的C语言程序设计教材,也适合作为广大读者的自学参考用书。
罗颖,女,1976.12,四川省成都市,副教授,现任至于苏州工业职业技术学院软件与服务外包学院副院长,研究方向移动互联应用软件开发。2014年以来,主持并参与市厅级以上项目多项,其中主持结项1项,主持在研2项。其中,江苏省教育厅科技项目1项,江苏省教育科学规划课题1项,江苏省科技计划体系项目1项,苏州市科技发展规划项目2项,主编教材1本,发表论文多篇。历任CCF苏州会员活动中心委员,CCF YOCSEF苏州分部候任AC,苏州人工智能学会教育专委会常务理事等职务。
项目1 课程准备 1
任务1.1 计算机语言介绍 1
1.1.1 计算机语言的发展 1
1.1.2 C语言介绍 2
任务1.2 C语言的工具介绍 3
1.2.1 Visual C++ 6.0 3
1.2.2 DEV-C++ 7
1.2.3 C/C++程序设计学习与实验
系统 10
任务1.3 创建第一个C语言程序——
欢迎来到车辆监控系统 11
1.3.1 任务目标 11
1.3.2 知识储备 12
1.3.3 典型案例 13
1.3.4 任务分析与实践 14
1.3.5 巩固练习 15
同步训练 15
项目2 车辆行驶状态显示(输入、
输出) 17
任务2.1 统计汽车的数量(printf()
函数) 17
2.1.1 任务目标 17
2.1.2 知识储备 18
2.1.3 典型案例 20
2.1.4 任务分析与实践 22
2.1.5 巩固练习 23
任务2.2 计算客车总的载客人数
(scanf()函数) 23
2.2.1 任务目标 23
2.2.2 知识储备 23
2.2.3 典型案例 24
2.2.4 任务分析与实践 26
2.2.5 巩固练习 26
任务2.3 统计需要的客车数量(算术
运算符、强制转换) 27
2.3.1 任务目标 27
2.3.2 知识储备 27
2.3.3 典型案例 28
2.3.4 任务分析与实践 30
2.3.5 巩固练习 30
任务2.4 输出降级后的驾驶证类型
(字符的输入与输出) 31
2.4.1 任务目标 31
2.4.2 知识储备 31
2.4.3 典型案例 32
2.4.4 任务分析与实践 35
2.4.5 巩固练习 36
任务2.5 绘制驾驶证考试的
流程图 36
2.5.1 任务目标 36
2.5.2 知识储备 36
2.5.3 典型案例 38
2.5.4 任务分析与实践 39
2.5.5 巩固练习 39
同步训练 41
项目3 车辆数据类型选择
(选择结构) 46
任务3.1 新能源汽车电池型号的选择(单分支语句) 46
3.1.1 任务目标 46
3.1.2 知识储备 47
3.1.3 典型案例 51
3.1.4 任务分析与实践 54
3.1.5 巩固练习 55
任务3.2 判断新能源汽车数据采集
状况(双分支语句) 55
3.2.1 任务目标 55
3.2.2 知识储备 56
3.2.3 典型案例 57
3.2.4 任务分析与实践 60
3.2.5 巩固练习 61
任务3.3 输出新能源汽车剩余电量的
显示状态(多分支) 62
3.3.1 任务目标 62
3.3.2 知识储备 62
3.3.3 典型案例 64
3.3.4 任务分析与实践 70
3.3.5 巩固练习 71
任务3.4 输出新能源汽车剩余电量的
显示状态(switch) 72
3.4.1 任务目标 72
3.4.2 知识储备 72
3.4.3 典型案例 75
3.4.4 任务分析与实践 80
3.4.5 巩固练习 81
任务3.5 新能源汽车故障诊断与维修(选择嵌套) 81
3.5.1 任务目标 81
3.5.2 知识储备 81
3.5.3 典型案例 83
3.5.4 任务分析与实践 86
3.5.5 巩固练习 87
同步训练 88
项目4 车辆电池数据监测
(循环结构) 91
任务4.1 车辆电池充电状态显示
(for循环) 91
4.1.1 任务目标 91
4.1.2 知识储备 92
4.1.3 典型案例 93
4.1.4 任务分析与实践 97
4.1.5 巩固练习 97
任务4.2 固定时间内车辆电池状态
实时监测(while循环) 97
4.2.1 任务目标 97
4.2.2 知识储备 97
4.2.3 典型案例 99
4.2.4 任务分析与实践 105
4.2.5 巩固练习 106
任务4.3 固定时间内车辆电池状态实时监测(do…while循环) 107
4.3.1 任务目标 107
4.3.2 知识储备 107
4.3.3 典型案例 108
4.3.4 任务分析与实践 113
4.3.5 巩固练习 114
任务4.4 固定时间内车辆电池故障数
判别(循环+选择) 114
4.4.1 任务目标 114
4.4.2 知识储备 115
4.4.3 典型案例 115
4.4.4 任务分析与实践 118
4.4.5 巩固练习 119
任务4.5 输出车辆停放效果图
(嵌套循环) 119
4.5.1 任务目标 119
4.5.2 知识储备 119
4.5.3 典型案例 120
4.5.4 任务分析与实践 122
4.5.5 巩固练习 122
同步训练 123
项目5 汽车销售数据(数组) 128
任务5.1 输出某品牌新能源客车
1~6月的销售量(一维
数组的输入与输出) 128
5.1.1 任务目标 128
5.1.2 知识储备 128
5.1.3 典型案例 131
5.1.4 任务分析与实践 133
5.1.5 巩固练习 134
任务5.2 输出个子最矮的驾驶员的
身高和对应的下标(使用
一维数组求最值) 135
5.2.1 任务目标 135
5.2.2 知识储备 135
5.2.3 典型案例 136
5.2.4 任务分析与实践 138
5.2.5 巩固练习 139
任务5.3 对某品牌新能源客车1~6月
的销售量进行排序(使用
一维数组排序) 139
5.3.1 任务目标 139
5.3.2 知识储备 139
5.3.3 典型案例 141
5.3.4 任务分析与实践 144
5.3.5 巩固练习 145
任务5.4 输出地级市对应的车牌号
字符(字符数组) 145
5.4.1 任务目标 145
5.4.2 知识储备 146
5.4.3 典型案例 149
5.4.4 任务分析与实践 151
5.4.5 巩固练习 152
任务5.5 输出新能源大型客车1~6月的销售明细表(二维数组) 152
5.5.1 任务目标 152
5.5.2 知识储备 153
5.5.3 典型案例 155
5.5.4 任务分析与实践 159
5.5.5 巩固练习 160
同步训练 161
项目6 模块化设计(函数) 165
任务6.1 显示车辆数据(无参数
无返回值类型) 165
6.1.1 任务目标 165
6.1.2 知识储备 166
6.1.3 典型案例 167
6.1.4 任务分析与实践 170
6.1.5 巩固练习 171
任务6.2 根据车辆品牌,显示车辆数据(有参数无返回值类型) 172
6.2.1 任务目标 172
6.2.2 知识储备 172
6.2.3 典型案例 173
6.2.4 任务分析与实践 176
6.2.5 巩固练习 176
任务6.3 根据汽车品牌输出销售量
(有返回值类型) 176
6.4.1 任务目标 176
6.3.2 知识储备 177
6.3.3 典型案例 178
6.3.4 任务分析与实践 182
6.3.5 巩固练习 183
任务6.4 根据驾驶员的工作年限,
求第12年的月工资数额
(嵌套和递归) 184
6.4.1 任务目标 184
6.4.2 知识储备 184
6.4.3 典型案例 185
6.4.4 任务分析与实践 188
6.4.5 巩固练习 188
同步训练 189
项目7 汽车数据间接显示(指针) 193
任务7.1 统计某车企一年的汽车
销售量(指针和变量) 193
7.1.1 任务目标 193
7.1.2 知识储备 194
7.1.3 典型案例 194
7.1.4 任务分析与实践 196
7.1.5 巩固练习 196
任务7.2 输出1~12月的汽车销售量(指针和数组) 197
7.2.1 任务目标 197
7.2.2 知识储备 197
7.2.3 典型案例 199
7.2.4 任务分析与实践 200
7.2.5 巩固练习 200
任务7.3 某车企多项数据显示(将指针
作为函数参数) 201
7.3.1 任务目标 201
7.3.2 知识储备 201
7.3.3 典型案例 203
7.3.4 任务分析与实践 205
7.3.5 巩固练习 205
同步训练 207
项目8 汽车数据显示(结构体) 211
任务8.1 一辆汽车的数据显示
(结构体变量) 211
8.1.1 任务目标 211
8.1.2 知识储备 211
8.1.3 典型案例 216
8.1.4 任务分析与实践 217
8.1.5 巩固练习 218
任务8.2 多辆汽车的数据显示
(结构体数组) 219
8.2.1 任务目标 219
8.2.2 知识储备 219
8.2.3 典型案例 221
8.2.4 任务目标与实现 222
8.2.5 巩固练习 223
任务8.3 多辆汽车数据的间接显示
(结构体指针) 225
8.3.1 任务目标 225
8.3.2 知识储备 226
8.3.3 典型案例 227
8.3.4 任务分析与实践 228
8.3.5 巩固练习 229
同步训练 232
项目9 汽车数据文件的读/写操作
(文件) 234
任务9.1 汽车文本数据的读/写
(文本文件) 234
9.1.1 任务目标 234
9.1.2 知识储备 234
9.1.3 典型案例 237
9.1.4 任务分析与实践 238
9.1.5 巩固练习 239
任务9.2 汽车文件的读/写
(二进制文件) 240
9.2.1 任务目标 240
9.2.2 知识储备 240
9.2.3 典型案例 241
9.2.4 任务分析与实践 243
9.2.5 巩固练习 244
同步训练 245
项目10 综合任务:车辆数据收发
模拟器 246
任务1 引例名称 246
任务2 引例分析 246
任务3 引例代码 247
任务4 系统截图 253
附录A 运算符的优先级和结合性 254
附录B 常用字符与ASCII码对照表 256
附录C 常用的C语言库函数 258
附录D C语言中的关键字 262