第一篇 磨刀不误砍柴功 1
第1章 C语言也能干大事 3
1.1 C语言的发展历史 3
1.1.1 C语言早期发展 3
1.1.2 K&R C 4
1.1.3 ANSI C和ISO C 4
1.1.4 C99 5
1.2 为什么要学习C语言 5
1.2.1 C语言通用性强 5
1.2.2 C语言的排行榜 5
1.3 C语言能够做什么 7
第2章 C语言的编译环境 11
2.1 Visual C++6.0快速入门 11
2.1.1 Visual C++6.0集成开发环境 11
2.1.2 程序调试 17
2.2 Visual Studio 2013快速入门 21
2.2.1 Visual Studio 2013的安装 21
2.2.2 Visual Studio 2013开发环境 23
2.2.3 程序调试 28
第3章 C语言的程序结构 33
3.1 第一个C程序:Hello World 33
3.2 C语言的程序结构 34
第4章 C语言的规范 36
4.1 软件编程规范概述 36
4.2 C代码排版 37
4.3 C代码注释 38
4.4 C代码编码规范 39
第二篇 绝知此事要躬行 43
实战1 程序流程 45
1.1 输入三个实数,判断能否构成三角形 45
1.1.1 项目功能需求 45
1.1.2 知识点分析 45
1.1.3 算法思想 45
1.1.4 系统流程图 46
1.1.5 项目实现 47
1.1.6 项目扩展 47
1.2 简单的四则计算器 47
1.2.1 项目功能需求 47
1.2.2 知识点分析 48
1.2.3 算法思想 48
1.2.4 系统流程图 49
1.2.5 项目实现 50
1.2.6 项目扩展 51
1.3 猴子吃桃问题(循环实现) 51
1.3.1 项目功能需求 51
1.3.2 知识点分析 51
1.3.3 算法思想 52
1.3.4 系统流程图 52
1.3.5 项目实现 53
1.3.6 项目扩展 53
1.4 拓展项目 54
实战2 递归及应用 58
2.1 递归思想 58
2.1.1 问题由来 58
2.1.2 递归思想 59
2.1.3 简单递归问题求解 60
2.2 猴子吃桃问题 61
2.2.1 项目功能需求 61
2.2.2 知识点分析 61
2.2.3 算法思想 62
2.2.4 系统流程图 63
2.2.5 项目实现 64
2.2.6 项目扩展 64
2.3 汉诺塔问题 65
2.3.1 项目功能需求 65
2.3.2 知识点分析 65
2.3.3 算法思想 65
2.3.4 系统流程图 67
2.3.5 项目实现 67
2.3.6 项目扩展 68
2.4 拓展项目 68
2.4.1 猴子摘桃问题 68
2.4.2 其他拓展项目 71
实战3 大型项目组织 72
3.1 程序菜单实现 72
3.1.1 菜单设计 72
3.1.2 菜单框架 74
3.2 VC++下典型项目组织 76
3.2.1 项目的功能需求 76
3.2.2 项目框架搭建 77
3.2.3 项目实现 78
3.2.4 运行结果展示 83
3.3 VS.NET下大项目组织 85
3.3.1 项目功能需求 85
3.3.2 知识点分析 86
3.3.3 算法思想 86
3.3.4 系统流程图 90
3.3.5 项目实现 91
3.3.6 项目扩展 96
实战4 数组及应用 97
4.1 约瑟夫(Joseph)问题(数组) 97
4.1.1 项目功能需求 98
4.1.2 知识点分析 98
4.1.3 算法思想 98
4.1.4 系统流程图 99
4.1.5 项目实现 100
4.1.6 项目扩展 101
4.2 分类统计输入字符串中各类字符个数 103
4.2.1 项目功能需求 103
4.2.2 知识点分析 103
4.2.3 算法思想 103
4.2.4 系统流程图 104
4.2.5 项目实现 105
4.2.6 项目扩展 106
4.3 对输入的N个单词排序 107
4.3.1 项目功能需求 107
4.3.2 知识点分析 107
4.3.3 算法思想 107
4.3.4 系统流程图 108
4.3.5 项目实现 108
4.3.6 项目扩展 110
4.4 拓展项目 111
实战5 结构体及应用 114
5.1 学生信息登记管理(结构体+数组) 114
5.1.1 项目功能需求 114
5.1.2 知识点分析 117
5.1.3 算法思想 118
5.1.4 系统流程图 119
5.1.5 项目实现 120
5.1.6 项目扩展 127
5.2 火车订票系统 127
5.2.1 项目功能需求 127
5.2.2 知识点分析 129
5.2.3 系统设计思想 130
5.2.4 系统流程图 132
5.2.5 项目实现 132
5.2.6 项目扩展 147
5.3 拓展项目 148
实战6 指针及应用 150
6.1 约瑟夫(Joseph)问题(指针) 150
6.1.1 项目功能需求 150
6.1.2 知识点分析 153
6.1.3 算法思想 153
6.1.4 系统流程图 154
6.1.5 项目实现 155
6.1.6 项目扩展 162
6.2 学生信息登记管理(结构体+链表) 162
6.2.1 项目功能需求 162
6.2.2 知识点分析 165
6.2.3 算法思想 166
6.2.4 系统流程图 170
6.2.5 项目实现 171
6.2.6 项目扩展 179
6.3 贪吃蛇游戏 180
6.3.1 项目功能需求 180
6.3.2 知识点分析 181
6.3.3 游戏设计要点和主要功能实现 181
6.3.4 系统流程图 183
6.3.5 项目实现 183
6.3.6 项目扩展 192
6.4 拓展项目 192
实战7 文件操作及应用 194
7.1 简单计数器(程序运行次数统计) 194
7.1.1 项目功能需求 194
7.1.2 知识点分析 195
7.1.3 算法思想 195
7.1.4 系统流程图 195
7.1.5 项目实现 196
7.1.6 项目扩展 198
7.2 学生学籍管理系统(结构体+文件+综合) 198
7.2.1 项目功能需求 198
7.2.2 知识点分析 200
7.2.3 算法思想 200
7.2.4 系统流程图 204
7.2.5 项目实现 205
7.2.6 项目扩展 224
7.3 拓展项目 224
7.3.1 学校运动会管理系统 224
7.3.2 图书管理系统 224
7.3.3 飞机订票管理系统 225
7.3.4 工资管理系统 225
7.3.5 学生选课管理系统 226
实战8 数据库操作及应用 227
8.1 简单计数器(程序运行次数统计) 227
8.1.1 项目功能需求 227
8.1.2 知识点分析 227
8.1.3 算法思想 228
8.1.4 系统流程图 229
8.1.5 项目实现 229
8.2 学生学籍管理系统(结构体+数据库+综合) 234
8.2.1 项目功能需求 234
8.2.2 知识点分析 236
8.2.3 算法思想 236
8.2.4 系统流程图 237
8.2.5 项目实现 237
8.2.6 项目扩展 248
8.3 拓展项目 248
实战9 图形操作及应用 250
9.1 贪吃蛇游戏 250
9.1.1 项目功能需求 250
9.1.2 知识点分析 251
9.1.3 算法思想 252
9.1.4 系统流程图 254
9.1.5 项目实现 254
9.1.6 项目扩展 263
9.2 俄罗斯方块 264
9.2.1 项目功能需求 264
9.2.2 知识点分析 264
9.2.3 算法思想 265
9.2.4 系统流程图 266
9.2.5 项目实现 266
9.2.6 项目扩展 282
9.3 拓展项目 282
附录一 ASCII码表 284
附录二 C语言常用库函数 285
附录三 C语言图形处理 291
附录四 EGE图形库常用函数 294
参考文献 301