第1 章 初识C 语言 1
1.1 编写C 程序解决问题的基本过程 2
1.2 C 语言的基本程序结构 3
第2 章 顺序结构程序设计 7
2.1 常量、变量及数据类型 8
2.1.1 标准数据类型 8
2.1.2 常量与变量 9
2.2 赋值语句 11
2.3 算术运算符与数学表达式 13
2.3.1 算术运算符 13
2.3.2 数学表达式 15
2.3.3 常用数学函数 17
2.4 数据输入/ 输出 19
2.4.1 cin 与cout 语句 19
2.4.2 scanf 与printf 语句 21
2.4.3 文件输入/ 输出 24
2.5 顺序结构应用 24
第3 章 选择结构程序设计 29
3.1 if 选择语句 30
3.1.1 布尔数据类型 30
3.1.2 关系运算符与表达式 30
3.1.3 逻辑运算符与表达式 32
3.1.4 if 语句的格式及其应用 33
3.1.5 if-else 语句的格式及其应用 36
3.2 if 语句的嵌套 40
3.3 switch 选择语句 43
第4 章 循环结构程序设计 49
4.1 for 循环语句 50
4.2 while 循环语句 57
4.3 do-while 循环语句 61
4.4 循环嵌套 63
4.4.1 循环嵌套的应用 63
4.4.2 break 和continue 语句及其应用 69
4.4.3 程序的调试与跟踪 72
第5 章 数组 75
5.1 一维数组 76
5.1.1 一维数组的定义与调用 76
5.1.2 一维数组的应用 80
5.2 二维数组 86
5.2.1 二维数组的定义与调用 86
5.2.2 二维数组的应用 89
5.3 字符数组 93
5.3.1 字符数据类型 93
5.3.2 字符数组及其应用 97
5.4 高精度计算 106
5.4.1 高精度加法 106
5.4.2 高精度减法 109
5.4.3 高精度乘法 111
5.4.4 高精度除法 116
第6 章 函数 119
6.1 函数 120
6.1.1 函数的声明与定义 120
6.1.2 函数的调用 122
6.1.3 函数的参数传递 122
6.1.4 变量的作用域 124
6.1.5 函数的综合应用 125
6.2 递归函数 130
6.2.1 递归函数的定义 130
6.2.2 递归函数的应用 132
第7 章 递归与递推算法 137
7.1 递归算法 138
7.1.1 递归算法的基本思想 138
7.1.2 递归算法的应用 139
7.2 递推算法 143
7.2.1 递推算法的基本思想 143
7.2.2 递推算法的应用 144
第8 章 排序算法 149
8.1 冒泡排序 150
8.1.1 冒泡排序的基本思想 150
8.1.2 冒泡排序的应用 150
8.2 插入排序 151
8.2.1 插入排序的基本思想 151
8.2.2 插入排序的应用 152
8.3 快速排序 153
8.3.1 快速排序的基本思想 153
8.3.2 快速排序的应用 153
8.4 归并排序 155
8.4.1 归并排序的基本思想 155
8.4.2 归并排序的应用 156
第9 章 深度优先搜索算法 159
9.1 深度优先搜索 160
9.1.1 深度优先搜索的基本思想 160
9.1.2 深度优先搜索的应用 160
9.2 回溯法 163
第10 章 广度优先搜索算法 167
10.1 广度优先搜索的基本思想 168
10.2 广度优先搜索的应用 171
第11 章 贪心算法 175
第12 章 二分与分治 179
12.1 二分算法 180
12.2 分治算法 182
第13 章 动态规划初步 187
13.1 初识动态规划 188
13.1.1 记忆化搜索 188
13.1.2 动态规划的基本模型 191
13.2 基础动态规划 194
第14 章 基础数据结构 201
14.1 栈 202
14.1.1 栈的基本操作 202
14.1.2 栈的应用 204
14.2 队列 207
14.3 树 209
14.3.1 树的概念 209
14.3.2 二叉树 209
14.3.3 堆 210