第一部分 模块化程序设计基础 1
第1章 函数与宏定义 3
1.1 函数的概念 3
1.1.1 函数的定义 3
1.1.2 函数的声明和调用 5
1.1.3 函数的传值方式 5
1.2 变量的作用域和存储类型 8
1.3 内部函数与外部函数 11
1.4 递归函数的设计和调用 13
.1.5 预处理 17
1.5.1 宏定义 17
1.5.2 文件包含 20
1.5.3 条件编译及其他 21
1.6 综合范例 24
1.7 本章小结 32
习题 33
第二部分 应用程序设计基础 39
第2章 数组 41
2.1 一维数组的定义和初始化 41
2.1.1 一维数组的定义 41
2.1.2 一维数组的初始化 43
2.2 一维数组的使用 44
2.3 多维数组 46
2.3.1 二维数组的概念 46
2.3.2 二维数组的定义 47
2.3.3 多维数组的定义 48
2.3.4 二维数组及多维数组的初始化 49
2.4 字符数组 52
2.4.1 字符数组的初始化 53
2.4.2 字符串的输入 54
2.4.3 字符串的输出 55
2.4.4 二维字符数组 56
2.5 数组作为函数的参数 61
2.5.1 数组元素作为函数的参数 61
2.5.2 数组名作为函数的参数 62
2.6 程序范例 66
2.7 本章小结 73
习题 73
第3章 指针 78
3.1 指针的概念 78
3.1.1 指针变量的定义 79
3.1.2 指针变量的使用 79
3.1.3 指针变量与简单变量的关系 80
3.2 指针的运算 81
3.2.1 指针的算术运算 81
3.2.2 指针的关系运算 83
3.3 指针与数组的关系 83
3.3.1 指向一维数组的指针 83
3.3.2 指向多维数组的指针 86
3.3.3 字符指针 92
3.3.4 指针数组 93
3.4 指针作为函数的参数 95
3.5 函数的返回值为指针 98
3.6 指向函数的指针 99
3.7 main()函数的参数 101
3.8 指向指针的指针 103
3.9 图形处理模式 104
3.10 程序范例 108
3.11 本章小结 116
习题 117
第4章 构造数据类型 122
4.1 结构体数据类型 122
4.1.1 结构体的定义 122
4.1.2 结构体变量的定义 123
4.1.3 结构体变量的初始化 124
4.1.4 结构体变量成员的引用 125
4.1.5 结构体变量成员的输入/输出 127
4.2 结构体数组 128
4.2.1 结构体数组的定义 128
4.2.2 结构体数组成员的初始化和引用 128
4.3 结构体变量与函数 129
4.3.1 函数的形参与实参为结构体 129
4.3.2 函数的返回值类型为结构体 130
4.4 联合体数据类型 132
4.5 枚举数据类型 135
4.6 链表的概念 136
4.6.1 动态分配内存 137
4.6.2 单链表的建立 138
4.6.3 从单链表中删除节点 142
4.6.4 向链表中插入节点 145
4.7 程序范例 149
4.8 本章小结 155
习题 156
第5章 文件操作 161
5.1 文件的概念 161
5.2 文件的操作 161
5.2.1 文件的打开与关闭 162
5.2.2 文件操作的错误检测 164
5.2.3 文件的顺序读写 165
5.2.4 文件的随机读写 170
5.3 程序范例 174
5.4 本章小结 177
习题 178
第6章 位运算 182
6.1 按位取反运算 182
6.2 按位左移运算 184
6.3 按位右移运算 186
6.4 按位与运算 188
6.5 按位或运算 190
6.6 按位异或运算 192
6.7 复合位运算符 195
6.8 程序范例 195
6.9 本章小结 198
习题 198
第三部分 C++程序设计基础 203
第7章 C++中新增语法功能 205
7.1 引言 205
7.2 新增基本语法 205
7.3 新增函数功能 209
7.4 程序范例 220
7.5 本章小结 221
习题 221
第8章 类与数据抽象(一) 226
8.1 引言 226
8.2 回顾C语言中的结构数据类型 227
8.3 C++中的数据类型——类 229
8.4 类成员的访问和作用域 231
8.5 访问函数和工具函数的意义 233
8.6 接口和实现分离的设计方法 235
8.7 程序范例 237
8.8 本章小结 242
习题 242
第9章 类与数据抽象(二) 251
9.1 引言 251
9.2 构造函数的初始化功能 251
9.3 const对象和const成员函数 254
9.4 析构函数的作用 258
9.5 类的复合——类可以作为其他类的成员 259
9.6 类的静态成员 263
9.7 程序范例 265
9.8 本章小结 270
习题 271
附录 常用的C语言库函数 276