第1章 绪论 1
第2章 编程准备 4
2.1 程序编写 4
2.2 程序代码及说明 9
2.3 输出流对象cout 10
2.4 输入流对象cin 11
2.5 算术运算符 12
2.6 程序注释 12
2.7 知识拓展 12
2.7.1 任务2.1的拓展 12
2.7.2 C程序的一般结构 13
2.8 小结 14
2.9 知识巩固 14
第3章 C程序的基本结构、变量与数据类型 16
3.1 变量 18
3.1.1 变量的基本概念 18
3.1.2 变量的数据类型 18
3.2 定义变量和赋初值 20
3.2.1 赋值符号与赋值表达式 21
3.2.2 变量赋值的5个要素 21
3.3 常量 22
3.4 知识拓展 23
3.4.1 转义字符 23
3.4.2 标识符常量 24
3.4.3 字符数据的输入 25
3.4.4 复合运算符 26
3.4.5 自增自减运算 27
3.5 思考与实训 29
3.6 小结 32
3.7 知识巩固 32
第4章 逻辑思维与编程思路 33
4.1 关系运算和关系表达式 34
4.1.1 关系运算符 34
4.1.2 关系表达式的一般格式 35
4.1.3 将“是”和“否”写成关系表达式 35
4.2 枚举法的思路 36
4.3 循环结构 37
4.3.1 使用循环结构的部分程序 37
4.3.2 for语句的格式与执行过程 38
4.3.3 使用for循环解题实例 39
4.4 分支结构 41
4.4.1 if语句的一般格式 42
4.4.2 if语句的实例 42
4.5 任务4.1的算法分析 43
4.5.1 任务4.1的解法1 43
4.5.2 任务4.1的解法2 44
4.5.3 任务4.1的解法3 45
4.6 逻辑问题及其解法 46
4.6.1 逻辑运算符与逻辑表达式 46
4.6.2 逻辑问题的解题思路与编程技巧 50
4.7 知识拓展 52
4.7.1 if...else语句的复杂形式——嵌套分支if语句 52
4.7.2 多分支语句switch语句 54
4.7.3 for语句的使用技巧 58
4.7.4 混合表达式 60
4.7.5 强制类型转换 61
4.7.6 强制跳转语句break和continue 61
4.8 思考与实训 63
4.9 小结 65
4.10 知识巩固 65
第5章 计算机解题的一般步骤 69
5.1 计算机解题步骤 69
5.1.1 建立数学模型 69
5.1.2 选择算法 70
5.1.3 编写程序代码 71
5.1.4 运行程序并输出结果 72
5.2 思考与实训 72
5.3 小结 75
5.4 知识巩固 75
第6章 函数、递推与递归 76
6.1 函数 76
6.1.1 使用好库函数 77
6.1.2 自定义函数 81
6.1.3 函数定义 83
6.1.4 形式参数和实际参数 83
6.1.5 函数返回值 83
6.1.6 主函数与子函数的配合 84
6.1.7 函数调用 84
6.1.8 全局变量和局部变量 86
6.2 递推及其实现 88
6.3 递归及其实现 90
6.4 知识拓展 95
6.5 思考与实训 96
6.6 小结 97
6.7 知识巩固 97
第7章 数据组织、筛选与排序问题的解题思路 100
7.1 数组 100
7.1.1 一维数组的定义 102
7.1.2 一维数组的初始化 102
7.2 do...while循环 103
7.3 while循环 105
7.3.1 while循环的格式 106
7.3.2 while和do…while循环的比较 107
7.3.3 for循环、while循环和do...while循环的相互转换 109
7.4 冒泡和选择排序法 110
7.5 结构与结构数组 115
7.5.1 结构体类型的定义 115
7.5.2 结构体变量的定义和引用 116
7.5.3 结构体变量的初始化 117
7.5.4 结构数组 118
7.6 二维数组 121
7.6.1 二维数组的定义 121
7.6.2 二维数组的初始化 121
7.6.3 二维数组中的元素存放顺序 122
7.7 知识拓展 125
7.7.1 字符数组的定义和初始化 125
7.7.2 字符数组元素的输入/输出 126
7.8 思考与实训 128
7.9 小结 132
7.10 知识巩固 133
第8章 指针 136
8.1 地址与指针 136
8.2 字符串与指针的运算 146
8.3 指针数组 154
8.4 指针与函数 156
8.4.1 函数返回指针 157
8.4.2 指向函数的指针 159
8.5 指针和结构 162
8.6 指针与结构数组 164
8.7 知识拓展 166
8.7.1 指针的数据类型汇总 166
8.7.2 指针的运算汇总 167
8.8 思考与实训 168
8.9 小结 171
8.10 知识巩固 172
第9章 文件 174
9.1 文件的概念 174
9.2 文件的使用 174
9.2.1 文件的建立、打开和关闭 174
9.2.2 文件写入和读取 177
9.3 知识拓展 180
9.3.1 读写字符函数fgetc和 fputc 180
9.3.2 读写字符串函数fgets和fputs 182
9.4 思考与实训 183
9.5 小结 186
9.6 知识巩固 186
第10章 C语言中的输入/输出函数 188
10.1 C语言中的格式输出函数printf 188
10.1.1 演示分三行输出字符、整数和实数的程序 189
10.1.2 演示三种进制整数的输出 189
10.1.3 演示按长整型格式输出 190
10.1.4 演示设置三个整型数每一个的显示位数 191
10.1.5 演示设置实数数据宽度和小数位数 191
10.1.6 演示设置显示正负号 192
10.1.7 演示设置输出数据左对齐 193
10.1.8 演示使用宏定义的printf函数 193
10.2 C语言中的格式输入函数scanf 195
10.2.1 演示scanf函数输入/输出4个字符串 195
10.2.2 演示scanf函数输入/输出4个长整型数 197
10.3 字符输入函数getchar()和字符输出函数putchar() 198
10.3.1 演示使用getchar()和putchar()输入和输出一个字符 198
10.3.2 演示用getchar()取代scanf的例子 198
10.3.3 演示由键盘输入的字符再复制一遍显示到屏幕上的程序 199
10.4 小结 200
10.5 知识巩固 200
附录A 常用字符与ASCⅡ代码对照表 202
附录B 由ANSl标准推荐的32个C语言关键字 204
附录C 运算符的优先级和结合方向 205
附录D 常见C/C++库函数 207
后记 209
参考文献 211