第1章 C/C++语言基础 1
1.1 学习指导 1
1.1.1 整型数据的处理 1
1.1.2 浮点型数据的处理 2
1.1.3 数学式子的表达和数学函数的使用 3
1.2 基础知识补充 3
1.2.1 进位计数制 3
1.2.2 有符号整数在计算机中的表示——补码 5
1.2.3 变量的作用域与存储期 6
1.2.4 位运算符 8
1.2.5 函数的重载与有默认参数的函数 9
1.2.6 动态申请和释放存储空间、指针数组 10
1.2.7 结构体与枚举类型 12
1.2.8 预处理命令 13
1.3 思考题解析 13
1.4 练习题解析 18
1.4.1 C/C++程序的基本框架 18
1.4.2 程序中的数据 20
1.4.3 运算符和表达式 21
1.4.4 数学函数的使用 25
1.4.5 算法及程序控制结构 26
1.4.6 选择结构 27
1.4.7 循环结构 33
1.4.8 函数设计 41
1.4.9 数组 49
1.4.10 指针及指针变量 55
1.5 补充例题 63
第2章 字符及字符串基础知识 81
2.1 学习指导 81
2.1.1 字符型数据处理技巧 81
2.1.2 字符串处理技巧 81
2.1.3 字符串处理函数的使用 82
2.1.4 以字符形式处理数值型数据 82
2.2 思考题解析 84
2.3 练习题解析 85
2.3.1 字符型数据 85
2.3.2 字符串常量 88
2.3.3 字符数组 89
2.3.4 字符指针变量 92
2.3.5 字符串处理函数 93
2.3.6 编写处理字符型数据的程序 96
2.4 补充例题 100
第3章 程序设计竞赛及在线实践 110
3.1 学习指导 110
3.1.1 特殊的输入方式 110
3.1.2 输出注意事项 111
3.2 练习题解析 111
3.3 补充例题 115
第4章 枚举 117
4.1 学习指导 117
4.1.1 枚举思路解析 117
4.1.2 枚举实现方法要点 117
4.2 思考题解析 117
4.3 练习题解析 120
4.4 补充例题 128
第5章 模拟 137
5.1 学习指导 137
5.1.1 模拟思路解析 137
5.1.2 模拟方法实现要点 137
5.2 思考题解析 137
5.3 练习题解析 138
5.4 补充例题 148
第6章 字符及字符串处理 158
6.1 学习指导 158
6.1.1 字符及字符串处理要点 158
6.1.2 补充内容 160
6.2 练习题解析 160
6.3 补充例题 174
第7章 高精度计算 185
7.1 学习指导 185
7.1.1 高精度计算原理 185
7.1.2 高精度计算要点 186
7.1.3 补充内容 186
7.2 练习题解析 187
7.3 补充例题 201
第8章 递归与搜索 207
8.1 学习指导 207
8.1.1 递归思想 207
8.1.2 搜索算法思想及应用 207
8.2 思考题解析 208
8.3 练习题解析 208
8.4 补充例题 219
第9章 排序及检索 226
9.1 学习指导 226
9.1.1 排序算法的应用 226
9.1.2 二分法检索的应用 227
9.2 思考题解析 227
9.3 练习题解析 228
9.4 补充例题 242
第10章 课程设计实例 250
10.1 迷宫搜索求解 250
10.1.1 软件需求说明 250
10.1.2 迷宫的表示及输出 251
10.1.3 随机生成迷宫地图 253
10.1.4 迷宫搜索求解 255
10.1.5 记录搜索路径上的方向 259
10.1.6 完善程序 264
10.2 N皇后问题求解 265
10.2.1 软件需求说明 265
10.2.2 棋盘的表示与输出 265
10.2.3 N皇后问题的求解 267
附录A C/C++基础知识实验报告 275
实验一 VC开发环境熟练使用及程序中的数据 275
实验二 运算符与表达式 277
实验三 选择结构程序设计 278
实验四 程序调试及循环结构程序设计 281
实验五 函数 286
实验六 数组 289
实验七 指针与指针变量 291
实验八 字符及字符串基础知识 297
附录B 模拟试卷及参考答案 300
B.1 试卷一 300
B.2 试卷二 305
B.3 试卷一参考答案 311
B.4 试卷二参考答案 314
附录C 补充例题在ZOJ、POJ上的题号 318