商品简介
搭建C语言环境、C语言基础、C语言核心技术、C语言常用算法案例、模拟ATM机界面程序、单词背记闯关、学生成绩信息管理系统、企业雇员管理系统、STU火车订票助手、手机通讯云管家、趣味俄罗斯方块游戏、防空大战游戏
作者简介
已经在我社出版多本程序设计类书籍,包括“技术方案宝典”“开发技术大全”“自学手册”“参考大全”等多个系列,大都取得比较好的市场反响。
目录
章 搭建C语言环境 1
1.1 C语言简介 2
1.1.1 C语言的发展历史 2
1.1.2 C语言的特点 2
1.2 搭建C语言开发环境 3
1.2.1 Dev C++的下载与安装 3
1.2.2 个C语言程序 5
1.2.3 C语言程序的基本元素 6
1.3 熟悉Dev C++开发工具 9
1.3.1 Dev C++的主界面 9
1.3.2 菜单栏和工具栏 9
1.3.3 常用快捷键 10
小结 12
习题 12
第2章 C语言基础 13
2.1 数据类型 14
2.1.1 基本类型 14
2.1.2 构造类型 14
2.1.3 指针类型 14
2.1.4 空类型 14
2.2 常量 15
2.2.1 整型常量 15
2.2.2 实型常量 16
2.2.3 字符型常量 17
2.2.4 转义字符 18
2.2.5 符号常量 19
2.3 变量 19
2.3.1 整型变量 19
2.3.2 实型变量 21
2.3.3 字符型变量 21
2.4 表达式与运算符 22
2.4.1 算术运算符 23
2.4.2 自增自减运算符 23
2.4.3 赋值运算符 24
2.4.4 关系运算符 25
2.4.5 逻辑运算符 26
2.4.6 位运算符 26
2.4.7 移位运算符 27
2.4.8 条件运算符 28
2.4.9 运算符的优先级与结合性 28
2.4.10 表达式中的类型转换 29
2.5 选择语句 30
2.5.1 if语句 30
2.5.2 switch语句 34
2.6 循环语句 36
2.6.1 while循环语句 36
2.6.2 do…while循环语句 37
2.6.3 for循环语句 38
2.7 跳转语句 40
2.7.1 break语句 40
2.7.2 continue语句 40
2.8 数组 41
2.8.1 一维数组的定义和引用 41
2.8.2 二维数组的定义和引用 42
2.8.3 字符数组的定义和引用 44
2.8.4 多维数组 46
小结 46
习题 46
第3章 C语言核心技术 49
3.1 函数 50
3.1.1 函数的定义 50
3.1.2 定义与声明 51
3.1.3 函数的返回值 51
3.1.4 函数的参数 51
3.1.5 数组作为函数参数 52
3.1.6 main函数的参数 57
3.2 指针 57
3.2.1 指针的基本概念 57
3.2.2 指针变量 58
3.2.3 指针自增自减运算 59
3.2.4 数组与指针 60
3.2.5 指向指针的指针 62
3.2.6 指针变量作为函数参数 62
3.2.7 返回指针值的函数 63
3.3 结构体 63
3.3.1 结构体类型的概念 63
3.3.2 结构体变量的定义 64
3.3.3 结构体变量的引用 66
3.3.4 结构体类型的初始化 66
3.4 结构体数组 66
3.4.1 定义结构体数组 67
3.4.2 初始化结构体数组 68
3.5 结构体指针 69
3.5.1 指向结构体变量的指针 69
3.5.2 指向结构体数组的指针 70
3.5.3 结构体作为函数参数 72
3.6 共用体 72
3.6.1 共用体的概念 72
3.6.2 共用体变量的引用 73
3.6.3 共用体变量的初始化 73
3.6.4 共用体类型的数据特点 74
小结 74
习题 74
第4章 C语言常用算法案例 78
4.1 排序算法 79
4.1.1 冒泡排序 79
4.1.2 选择排序 80
4.1.3 希尔排序 82
4.2 查找算法 83
4.2.1 顺序查找 83
4.2.2 折半查找 84
4.2.3 哈希查找 85
4.3 经典算法 89
4.3.1 计算贷款利息 89
4.3.2 魔幻方阵 90
4.3.3 进制转换算法 91
4.3.4 爱因斯坦阶梯问题 93
4.4 计算机等级考试算法实例 93
4.4.1 数组的下三角置数 93
4.4.2 查找单链表的节点 94
4.4.3 寻找二维数组的优选值 95
小结 96
习题 96
第5章 模拟ATM机界面程序——C+循环控制实现 97
5.1 需求分析 98
5.2 系统设计 98
5.2.1 系统目标 98
5.2.2 构建开发环境 98
5.2.3 系统功能结构 98
5.2.4 业务流程图 99
5.2.5 系统预览 99
5.3 技术准备 100
5.4 公共类设计 101
5.5 欢迎模块设计 102
5.5.1 模块概述 102
5.5.2 代码实现 102
5.6 输入密码模块设计 102
5.6.1 模块概述 102
5.6.2 代码实现 103
5.7 取钱模块设计 103
5.7.1 模块概述 103
5.7.2 代码实现 104
5.8 退出系统模块设计 105
5.8.1 模块概述 105
5.8.2 代码实现 105
5.9 运行项目 106
小结 106
第6章 单词背记闯关练习——C+控制台API+读取文件数据实现 107
6.1 需求分析 108
6.2 系统设计 108
6.2.1 系统目标 108
6.2.2 构建开发环境 108
6.2.3 系统功能结构 108
6.2.4 业务流程图 109
6.2.5 系统预览 110
6.3 技术准备 110
6.3.1 文件的基本操作 110
6.3.2 文件的读写操作 112
6.4 公共类设计 113
6.5 预处理模块设计 113
6.5.1 模块概述 113
6.5.2 代码实现 113
6.6 开始界面设计 114
6.6.1 模块概述 114
6.6.2 代码实现 114
6.7 积分规则界面设计 116
6.7.1 模块概述 116
6.7.2 代码实现 116
6.8 显示最高分设计 118
6.8.1 模块概述 118
6.8.2 代码实现 118
6.9 系统逻辑设计 119
6.9.1 模块概述 119
6.9.2 代码实现 119
6.10 显示结果界面设计 122
6.10.1 模块概述 122
6.10.2 代码实现 122
小结 124
第7章 学生成绩管理系统——C+文件读取数据+链表实现 125
7.1 需求分析 126
7.2 系统设计 126
7.2.1 系统目标 126
7.2.2 构建开发环境 126
7.2.3 系统功能结构 126
7.2.4 业务流程图 127
7.2.5 系统预览 127
7.3 公共类设计 128
7.4 功能选择界面设计 129
7.4.1 模块概述 129
7.4.2 代码实现 129
7.5 录入学生成绩信息设计 131
7.5.1 模块概述 131
7.5.2 代码实现 131
7.6 查询学生成绩信息设计 133
7.6.1 模块概述 133
7.6.2 代码实现 133
7.7 删除学生成绩信息设计 134
7.7.1 模块概述 134
7.7.2 代码实现 134
7.8 修改学生成绩信息设计 135
7.8.1 模块概述 135
7.8.2 代码实现 135
7.9 插入学生成绩信息设计 137
7.9.1 模块概述 137
7.9.2 代码实现 137
7.10 统计学生人数设计 138
7.10.1 模块概述 138
7.10.2 代码实现 139
小结 139
第8章 企业雇员管理系统——C+字符串处理操作+结构体实现 140
8.1 需求分析 141
8.2 系统设计 141
8.2.1 系统目标 141
8.2.2 构建开发环境 141
8.2.3 系统功能结构 141
8.2.4 业务流程图 142
8.2.5 系统预览 142
8.3 技术准备 143
8.3.1 strcmp函数 143
8.3.2 fwrite函数 144
8.4 公共类设计 144
8.4.1 预处理 144
8.4.2 主函数 145
8.5 系统初始化设计 146
8.5.1 模块概述 146
8.5.2 操作密码文件 146
8.5.3 次使用本系统 146
8.5.4 非次使用本系统 148
8.6 系统登录设计 148
8.6.1 模块概述 148
8.6.2 代码实现 148
8.7 主界面功能菜单设计 149
8.7.1 模块概述 149
8.7.2 代码实现 150
8.8 添加员工信息设计 152
8.8.1 模块概述 152
8.8.2 功能实现 152
8.9 删除员工信息设计 154
8.9.1 模块概述 154
8.9.2 功能实现 154
8.10 查询员工信息设计 156
8.10.1 模块概述 156
8.10.2 查询员工信息的界面设计 156
8.10.3 根据姓名查找员工信息 158
8.10.4 根据工号查找员工信息 159
8.10.5 根据电话号码查找员工信息 159
8.10.6 根据QQ号查找员工信息 160
8.10.7 显示查询结果 161
8.11 修改员工信息设计 161
8.11.1 模块概述 161
8.11.2 实现修改员工信息的界面 162
8.11.3 修改员工工资 164
8.11.4 修改员工年龄 165
8.11.5 修改非数值型信息 165
8.12 统计员工信息设计 166
8.12.1 模块概述 166
8.12.2 代码实现 166
8.13 系统密码重置设计 167
8.13.1 模块概述 167
8.13.2 代码实现 167
小结 168
第9章 STC火车订票系统——C+结构体+指针实现 169
9.1 需求分析 170
9.2 系统设计 170
9.2.1 系统目标 170
9.2.2 构建开发环境 170
9.2.3 系统功能结构 170
9.2.4 业务流程图 170
9.2.5 系统预览 171
9.3 公共类设计 172
9.4 主函数设计 173
9.4.1 主函数概述 173
9.4.2 代码实现 174
9.5 输入模块设计 177
9.5.1 模块概述 177
9.5.2 代码实现 177
9.6 查询模块设计 179
9.6.1 模块概述 179
9.6.2 代码实现 179
9.7 订票模块设计 181
9.7.1 模块概述 181
9.7.2 代码实现 181
9.8 修改模块设计 183
9.8.1 模块概述 183
9.8.2 代码实现 183
9.9 显示模块设计 185
9.9.1 模块概述 185
9.9.2 功能实现 185
9.10 保存模块设计 185
9.10.1 模块概述 185
9.10.2 代码实现 186
小结 187
0章 手机通信云管家——C+链表实现 188
10.1 需求分析 189
10.2 系统设计 189
10.2.1 系统目标 189
10.2.2 构建开发环境 189
10.2.3 系统功能结构 189
10.2.4 业务流程图 190
10.2.5 系统预览 190
10.3 公共类设计 191
10.4 功能菜单设计 192
10.4.1 模块概述 192
10.4.2 代码实现 192
10.5 通信录录入设计 194
10.5.1 模块概述 194
10.5.2 代码实现 195
10.6 通信录查询设计 196
10.6.1 模块概述 196
10.6.2 代码实现 197
10.7 通信录删除设计 197
10.7.1 模块概述 197
10.7.2 代码实现 197
10.8 通信录显示设计 198
10.8.1 模块概述 198
10.8.2 代码实现 199
10.9 通信录数据保存设计 199
10.9.1 模块概述 199
10.9.2 代码实现 199
10.10 数据加载设计 200
10.10.1 模块概述 200
10.10.2 代码实现 200
小结 201
1章 趣味俄罗斯方块游戏——C+控制台API+获取键盘按键实现 202
11.1 需求分析 203
11.2 系统设计 203
11.2.1 系统目标 203
11.2.2 构建开发环境 203
11.2.3 系统功能结构 203
11.2.4 业务流程图 203
11.2.5 系统预览 204
11.3 技术准备 205
11.3.1 控制颜色函数 205
11.3.2 设置文字显示位置 206
11.4 公共类设计 207
11.5 功能菜单设计 209
11.5.1 欢迎界面概述 209
11.5.2 标题部分设计 209
11.5.3 设计字符花装饰界面 210
11.5.4 设计菜单选项的边框 212
11.5.5 设计菜单选项的文字 213
11.6 游戏主窗体设计 213
11.6.1 游戏主窗体设计概述 213
11.6.2 打印输出游戏界面 214
11.6.3 绘制俄罗斯方块 216
11.6.4 打印俄罗斯方块 223
11.7 游戏逻辑设计 224
11.7.1 游戏逻辑概述 224
11.7.2 判断俄罗斯方块是否可移动 224
11.7.3 清除俄罗斯方块下落的痕迹 225
11.7.4 判断方块是否满行 226
11.7.5 随机产生俄罗斯方块类型的序号 227
11.8 开始游戏 228
11.8.1 开始游戏模块概述 228
11.8.2 显示俄罗斯方块 229
11.8.3 各种按键操作 230
11.8.4 游戏结束界面 234
11.8.5 重新开始游戏 235
11.9 游戏按键说明模块 236
11.9.1 模块概述 236
11.9.2 代码实现 236
11.10 游戏规则介绍模块 237
11.10.1 模块概述 237
11.10.2 代码实现 238
11.11 退出游戏 239
小结 240
2章 防空大战游戏——C+容器+获取键盘按键实现 241
12.1 需求分析 242
12.2 系统设计 242
12.2.1 系统目标 242
12.2.2 构建开发环境 242
12.2.3 系统功能结构 242
12.2.4 业务流程图 242
12.2.5 系统预览 243
12.3 技术准备 243
12.3.1 EasyX图形库 243
12.3.2 使用EasyX库中主要函数 245
12.3.3 Visual Studio 2017的使用 247
12.4 公共类设计 248
12.4.1 创建graphics.h头文件 248
12.4.2 源文件公共类设计 250
12.5 游戏主窗体设计 251
12.5.1 模块概述 251
12.5.2 创建防空导弹 251
12.5.3 创建炸弹 253
12.5.4 创建飞机 253
12.5.5 加载图片 254
12.5.6 绘图设计 255
12.6 碰撞检测设计 255
12.6.1 模块概述 255
12.6.2 代码实现 255
12.7 开始游戏设计 256
12.7.1 模块概述 256
12.7.2 加载音乐 256
12.7.3 显示每帧图片 258
12.7.4 按键设计 260
12.7.5 生命值和得分设计 260
12.7.6 游戏结束界面 261
12.7.7 重新开始游戏 261
12.8 为游戏应用添加图标 262
12.8.1 添加图标概述 262
12.8.2 实现步骤 262
小结 264
内容摘要
本书作为C语言程序设计案例教程,系统全面地介绍了C语言程序开发所涉及的各类知识。全书共分12章,内容包括搭建C语言环境、C语言基础、C语言核心技术、C语言常用算法案例、模拟ATM机界面程序、单词背记闯关练习、学生成绩管理系统、企业雇员管理系统、STC火车订票系统、手机通信云管家、趣味俄罗斯方块游戏、防空大战游戏。全书前3章主要讲解C语言开发推荐的基础知识,第4章介绍常用的算法案例,后面8章分别讲解了8个案例,以帮助读者熟悉项目开发流程、增加项目开发经验,达到学以致用的目的。
本书是慕课版教材,各章节都配备了以二维码为载体的教学视频,并且在人邮学院平台上提供了慕课。此外,本书还提供所有实例和项目的源代码、制作精良的电子课件PPT、基础知识视频讲解、项目开发完整视频讲解。其中,源代码全部经过精心测试,能够在Windows 7、Windows 8、Windows 10系统下编译和运行。
本书可作为应用型本科计算机专业、软件工程专业和高职软件专业及相关专业的教材,同时也适合C语言爱好者和初、中级的C语言项目开发人员参考使用。
主编推荐
1. 慕课版教材,各章节都配备了以二维码为载体的微课。 2. 配套资源丰富,包括课件、源代码、题库。 3. 教材厚度适中,难度较低,案例式教学,适合应用型本科和职业院校。
【内容简介】
以下为对购买帮助不大的评价