第1章 C 基础 1
1.1 C 介绍 2
1.1.1 C 的发展历史 2
1.1.2 C 的江湖地位 3
1.2 安装C 开发工具 4
1.2.1 安装Visual Studio 4
1.2.2 安装DEV C 9
1.3 第一个C 程序:
“石头、剪刀、布”游戏 11
1.3.1 背景介绍 11
1.3.2 具体实现 11
1.3.3 使用DEV C 运行程序 14
1.3.4 分析程序结构 15
1.3.5 字符集 16
1.3.6 关键字 17
1.3.7 标识符 17
第2章 C 基础语法 19
2.1 变量和常量:一个电影海报 20
2.1.1 背景介绍 21
2.1.2 具体实现 21
2.1.3 常量 22
2.1.4 变量 22
2.1.5 输入和输出 23
2.2 数据类型:工资计算器 24
2.2.1 背景介绍 24
2.2.2 具体实现 24
2.2.3 基本数据类型 25
2.2.4 非基本数据类型 29
2.2.5 格式化输出 30
2.3 运算符和表达式:春运购票 32
2.3.1 背景介绍 32
2.3.2 具体实现 33
2.3.3 算术运算符和算术表达式 35
2.3.4 比较运算符和比较表达式 36
2.3.5 逻辑运算符和逻辑表达式 36
2.3.6 和--运算符与表达式 37
2.3.7 位运算符和位表达式 38
2.3.8 赋值运算符和赋值表达式 39
2.3.9 求字节数运算符和求字节
表达式 40
2.3.10 条件运算符和条件表达式 41
2.3.11 逗号运算符和逗号表达式 42
2.3.12 运算符的优先级和结合性 42
2.4 类型转换:临时收银员的烦恼 45
2.4.1 背景介绍 45
2.4.2 具体实现 45
2.4.3 隐式转换 46
2.4.4 显式转换 47
第3章 流程控制语句 49
3.1 选择结构:奖学金评测系统 50
3.1.1 背景介绍 51
3.1.2 具体实现 51
3.1.3 if单分支语句 52
3.1.4 if…else双分支语句 53
3.1.5 else…if多分支语句 53
3.1.6 switch多分支结构语句 54
3.2 循环结构:个税计算器 56
3.2.1 背景介绍 57
3.2.2 具体实现 57
3.2.3 for循环语句 59
3.2.4 while循环语句 61
3.2.5 do-while循环语句 62
3.3 跳转语句:加油站计费系统 63
3.3.1 背景介绍 63
3.3.2 具体实现 63
3.3.3 跳转语句介绍 65
第4章 函数 67
4.1 定义函数:解决“猴子吃桃”问题 68
4.1.1 背景介绍 69
4.1.2 具体实现 69
4.1.3 函数分类 70
4.1.4 定义函数 71
4.2 函数的返回值:比较两个数的大小 72
4.2.1 背景介绍 73
4.2.2 具体实现 73
4.2.3 无参函数和有参函数 74
4.2.4 函数的返回值 74
4.2.5 形参与实参 75
4.2.6 默认参数 75
4.3 调用函数:××网笔记本电脑评分
系统 76
4.3.1 背景介绍 76
4.3.2 具体实现 76
4.3.3 调用函数的方法 77
第5章 指针 79
5.1 指针基础:显示某商品的销量排名和
具体销量 80
5.1.1 背景介绍 81
5.1.2 具体实现 81
5.1.3 指针的基本概念 82
5.1.4 声明指针 83
5.1.5 指针的初始化 83
5.2 指针运算:按照价格高低排序展示
商品 84
5.2.1 背景介绍 84
5.2.2 具体实现 85
5.2.3 算术运算 86
5.2.4 关系运算 86
5.3 指针的指针和引用:查询最近
3个月的花费 87
5.3.1 背景介绍 87
5.3.2 具体实现 88
5.3.3 声明指针的指针 88
5.3.4 使用引用 90
5.4 常用的指针:计算上下班路上的
通勤时间 91
5.4.1 背景介绍 91
5.4.2 具体实现 92
5.4.3 指向函数的指针 92
5.4.4 void型指针 93
5.4.5 空指针 95
第6章 数组、枚举、结构体和
共用体 97
6.1 一维数组:计算购物车商品的总额 98
6.1.1 背景介绍 99
6.1.2 具体实现 99
6.1.3 一维数组介绍 100
6.2 二维数组:解决杨辉三角问题 102
6.2.1 背景介绍 102
6.2.2 具体实现 103
6.2.3 声明二维数组 104
6.2.4 二维数组赋值 105
6.2.5 访问二维数组 106
6.3 数组的高级应用:彩票机选系统 107
6.3.1 背景介绍 107
6.3.2 具体实现 107
6.3.3 动态数组 108
6.3.4 字符数组 109
6.3.5 指针和数组 110
6.4 枚举:解决三色球问题 111
6.4.1 背景介绍 111
6.4.2 具体实现 112
6.4.3 声明枚举类型 114
6.5 结构体:图书展示系统 115
6.5.1 背景介绍 115
6.5.2 具体实现 116
6.5.3 结构体基础 117
6.5.4 引用结构体变量 118
6.5.5 指向结构的指针 119
6.6 联合:××大学师生管理系统 120
6.6.1 背景介绍 120
6.6.2 具体实现 120
6.6.3 定义并使用联合 122
第7章 面向对象 123
7.1 类:查询余额宝的余额 124
7.1.1 背景介绍 125
7.1.2 具体实现 125
7.1.3 C 面向对象的基本概念 126
7.1.4 声明类 126
7.1.5 类成员 127
7.1.6 定义对象 129
7.2 类成员:学生成绩展示系统 130
7.2.1 背景介绍 130
7.2.2 具体实现 130
7.2.3 构造方法 132
7.2.4 析构方法 132
7.2.5 静态成员 133
7.3 友元:展示两名学生的信息 135
7.3.1 背景介绍 135
7.3.2 具体实现 135
7.3.3 友元方法 137
7.3.4 友元类 137
7.4 继承:会员登录验证系统 138
7.4.1 背景介绍 138
7.4.2 具体实现 138
7.4.3 继承与派生的基本概念 140
7.4.4 基类与派生类 140
7.4.5 派生类的三种继承方式 141
7.4.6 继承中的构造方法 142
7.4.7 在继承中调用基类析构
方法 144
7.4.8 派生类隐藏基类的成员 144
7.4.9 多重继承 145
第8章 多态、抽象类、重载 147
8.1 多态:火车站售票系统 148
8.1.1 背景介绍 148
8.1.2 具体实现 149
8.1.3 多态介绍 152
8.1.4 定义虚方法 153
8.1.5 宏多态 153
8.2 抽象类:计算两个物体的面积和
体积 155
8.2.1 背景介绍 155
8.2.2 具体实现 156
8.2.3 抽象类介绍 158
8.3 重载:员工入职信息查询系统 159
8.3.1 背景介绍 159
8.3.2 具体实现 160
8.3.3 运算符重载 162
8.3.4 流重载 163
第9章 命名空间和作用域 165
9.1 命名空间:学校放假通知 166
9.1.1 背景介绍 167
9.1.2 具体实现 167
9.1.3 命名空间介绍 168
9.1.4 定义命名空间 169
9.1.5 使用命名空间 170
9.2 作用域:百钱买百鸡 172
9.2.1 背景介绍 172
9.2.2 具体实现 172
9.2.3 和作用域相关的概念 174
9.2.4 作用域的分类 175
第10章 模板 179
10.1 函数模板:调查招聘单位的信息 181
10.1.1 背景介绍 181
10.1.2 具体实现 181
10.1.3 认识模板 182
10.1.4 定义函数模板 183
10.2 类模板:计算运动员的最终成绩 184
10.2.1 背景介绍 184
10.2.2 具体实现 185
10.2.3 声明、定义类模板 187
10.2.4 使用类模板 189
10.2.5 类模板的派生 189
10.2.6 类模板和模板类的区别 190
10.2.7 默认模板参数 190
10.3 STL标准模板库:成绩排序系统 191
10.3.1 背景介绍 192
10.3.2 具体实现 192
10.3.3 STL中的容器 193
10.3.4 序列容器 193
第11章 异常处理 199
11.1 C 的异常处理机制:
计算某商品的店均销量 200
11.1.1 背景介绍 201
11.1.2 具体实现 201
11.1.3 使用try-catch捕获异常 202
11.1.4 使用throw抛出异常 202
11.1.5 C 标准库中的异常类 203
11.2 程序调试 203
11.2.1 什么是程序调试 204
11.2.2 调试工具介绍 204
11.2.3 断点调试 205
第12章 文件操作处理 209
12.1 使用iostream:汽车销售管理
系统 210
12.1.1 背景介绍 210
12.1.2 具体实现 211
12.1.3 库iostream的成员 212
12.1.4 文件I/O 213
12.2 文件操作:广告词征集活动 213
12.2.1 背景介绍 214
12.2.2 具体实现 214
12.2.3 打开和关闭文件 215
12.2.4 随机读写 217
12.2.5 操作二进制文件 219
第13章 内存管理 221
13.1 栈内存管理:查询学生成绩 222
13.1.1 背景介绍 223
13.1.2 具体实现 223
13.1.3 内存管理的机制 224
13.1.4 C 内存的分类 225
13.1.5 申请栈内存 225
13.1.6 使用栈内存 226
13.1.7 改变内存大小 227
13.2 堆内存管理:模拟火车票的购票
过程 227
13.2.1 背景介绍 228
13.2.2 具体实现 228
13.2.3 申请堆内存 229
13.2.4 使用堆内存 230
13.2.5 改变内存的大小 231
第14章 开发窗体程序 233
14.1 对话框:春节放假通知 234
14.1.1 背景介绍 235
14.1.2 具体实现 235
14.1.3 应用程序向导生成的文件
类型 237
14.1.4 对话框类CDialog 238
14.2 标准控件:编程语言问卷调查
系统 239
14.2.1 背景介绍 239
14.2.2 具体实现 239
14.2.3 标准控件介绍 241
14.2.4 按钮控件 242
14.2.5 文本框控件 243
14.2.6 列表框控件 244
14.2.7 菜单栏CMenu 246
14.2.8 工具栏CTooBar 249