第1章 计算机基础知识与基本操作 1
1.1 计算机的发展与应用 1
1.1.1 计算机的过去、现在与未来 1
1.1.2 计算机的特点、分类与应用 6
1.2 数制 9
1.2.1 数制的基本概念及常用数制 9
1.2.2 不同数制之间数的相互转换 10
1.3 数值数据在计算机中的表示及运算 13
1.3.1 数据的单位 14
1.3.2 正负数的表示 14
1.3.3 定点数与浮点数 15
1.3.4 原码、反码和补码 16
1.3.5 二进制数的算术运算 17
1.3.6 二进制数的逻辑运算 18
1.4 非数值数据在计算机中的表示 20
1.4.1 字符的编码 20
1.4.2 汉字的编码 22
1.5 微型计算机系统 25
1.5.1 微型计算机系统的基本组成 25
1.5.2 微型计算机的硬件系统 26
1.5.3 微型计算机的软件系统 32
1.5.4 微型计算机的技术指标 37
1.6 文件与磁盘的基本操作 38
1.6.1 文件管理的有关概念 38
1.6.2 文件和文件夹的基本操作 39
1.6.3 软盘格式化与复制 43
1.7 计算机的运行环境与病毒防治 45
1.7.1 计算机的运行环境 45
1.7.2 计算机病毒及其防治 46
第2章 C++语言基础 49
2.1 C++语言发展简史及特点 49
2.1.1 C++语言发展简史 49
2.1.2 C++语言的特点 50
2.2 C++程序结构 50
2.2.1 简单的C++程序 50
2.2.2 C++程序的基本结构 52
2.2.3 C++程序的开发过程 53
2.3.2 标识符和关键字 56
2.3.1 C++的字符集 56
2.3 C++的字符集、标识符和关键字 56
2.4 C++的基本数据类型与基本输入输出 57
2.4.1 C++的基本数据类型 57
2.4.2 常量 58
2.4.3 变量 61
2.4.4 基本输入输出 62
2.5 运算符与表达式 65
2.5.1 算术运算符与算术表达式 67
2.5.2 赋值运算符与赋值表达式 68
2.5.3 数据类型转换 69
2.5.4 增1和减1运算符 70
2.5.5 关系运算符与关系表达式 71
2.5.6 逻辑运算符与逻辑表达式 71
2.5.7 逗号运算符、条件运算符与sizeof运算符 72
2.5.8 位运算符 73
第3章 基本语句与控制结构 77
3.1 基本语句与顺序结构 77
3.1.1 基本语句 77
3.1.2 顺序结构 78
3.2 选择结构 78
3.2.1 if语句 78
3.2.2 switch语句 82
3.3 循环结构 84
3.3.1 while语句 84
3.3.2 do-while语句 85
3.3.3 for语句 86
3.4 转向语句 89
3.5 程序实例 92
第4章 构造类型 102
4.1 数组 102
4.1.1 一维数组 102
4.1.2 二维数组 105
4.1.3 多维数组 108
4.1.4 字符型数组与字符串 109
4.2 结构体 113
4.3 枚举 115
4.4 定义类型别名 116
4.5 程序实例 117
5.1 函数的定义和调用 129
5.1.1 函数的定义 129
第5章 函数 129
5.1.2 函数的调用 130
5.1.3 函数原型与函数声明 133
5.2 函数的递归调用 134
5.3 数组作为函数参数 137
5.3.1 一维数组作函数参数 137
5.3.2 二维数组作函数参数 138
5.4 作用域和存储类型 139
5.4.1 存储类型 139
5.4.2 作用域和生存期 139
5.4.3 全局变量 139
5.4.4 局部变量(自动变量) 140
5.4.5 静态局部变量 141
5.4.6 外部存储类型 142
5.4.7 静态全局变量和静态函数 143
5.5 带默认形参值的函数 143
5.5.1 指定默认参数值的位置 144
5.5.2 默认参数的指定顺序 144
5.5.3 默认值的限定 145
5.6 内联函数 145
5.6.1 内联函数的引用原因 145
5.6.2 内联函数的定义和使用 146
5.6.3 内联函数的有关说明 146
5.7 函数名重载 147
5.8 参数个数可变的函数 148
5.9 程序实例 150
6.1.1 无参宏定义 161
6.1.2 带参宏定义 161
6.1 宏定义 161
第6章 编译预处理 161
6.2 文件包含 162
6.3 条件编译 164
第7章 指针和引用 166
7.1 指针的基本概念 166
7.1.1 什么是指针 166
7.1.2 指针变量 166
7.1.3 指针数组 168
7.1.4 二级指针 169
7.2 指针运算 170
7.3 用指针操作数组 171
7.3.1 用指针操作一维数组 171
7.3.2 用指针操作二维数组 172
7.4 用指针操作字符串 175
7.4.1 用字符型指针变量操作字符串 175
7.4.2 用字符型指针数组操作多个字符串 176
7.5 堆内存分配(new与delete) 177
7.6 const指针 178
7.7 指针与函数 179
7.7.1 指针作为函数参数 179
7.7.2 指针函数 182
7.8 函数指针 183
7.8.1 函数指针变量的定义和引用 183
7.8.2 函数指针作为函数参数 184
7.9 带参数的主函数 185
7.10.2 引用的声明与特点 187
7.10.1 引用的概念 187
7.10 引用 187
7.10.3 用引用传递函数参数 188
7.10.4 返回引用的函数 189
7.11 程序实例 189
第8章 类与对象 195
8.1 对象和类的概念 195
8.1.1 什么是对象 195
8.1.2 什么是类 195
8.2 对象和类的定义 196
8.2.1 类的定义 196
8.2.2 成员函数的定义 197
8.2.3 对象的定义 199
8.2.4 访问类成员 200
8.2.5 类成员的访问控制 201
8.3 构造函数和析构函数 204
8.3.1 对象的初始化 204
8.3.2 构造函数 205
8.3.3 析构函数 209
8.3.4 拷贝构造函数 212
8.3.5 浅拷贝与深拷贝 214
8.4 静态成员 217
8.4.1 静态数据成员的需要性 217
8.4.2 静态数据成员的定义和访问 218
8.4.3 静态成员函数 224
8.5 友元函数 226
8.6 this指针 236
8.7.1 类的作用域 237
8.7 类的作用域和对象的生存期 237
8.7.2 对象的生存期 239
8.8 程序实例 241
第9章 继承 258
9.1 继承的概念 258
9.1.1 什么是继承 258
9.1.2 区别继承与合成 259
9.2 单继承 261
9.2.1 派生类的定义与访问 261
9.2.2 派生类的构造函数与析构函数 265
9.2.3 访问控制 269
9.3 类型兼容 271
9.4 多重继承 273
9.4.1 多重继承如何工作 274
9.4.2 多继承的模糊性 275
9.4.3 虚拟继承 276
9.5 程序实例 279
第10章 多态性与虚函数 284
10.1 多态性 284
10.2 虚函数 286
10.2.1 虚函数的工作方式 286
10.2.2 虚析构函数 288
10.2.3 错误地使用虚函数 288
10.3 抽象类 290
10.4 程序实例 293
11.1 运算符重载 309
11.1.1 重载操作符的名字 309
第11章 运算符重载 309
11.1.2 如何重载操作符 310
11.1.3 重载操作符的规则 312
11.1.4 类成员与非类成员 313
11.2 友元重载 314
11.3 重载赋值运算符 315
11.4 重载操作符++和-- 318
11.4.1 成员形式的重载 318
11.4.2 非成员形式的重载 319
11.5 程序实例 321
第12章 I/O流 331
12.1 C++流概述 331
12.1.1 I/O流类 331
12.1.2 标准输出流 332
12.1.3 标准输入流 333
12.2 文件操作 336
12.2.1 文件的打开与关闭 337
12.2.2 文本文件的读/写 338
12.2.3 二进制文件的读/写 340
12.2.4 文件的随机读/写 341
12.3 程序实例 343
第13章 模板 348
13.1 函数模板 348
13.1.1 函数模板的概念 348
13.1.2 函数模板的使用 350
13.2 类模板 355
13.2.1 类模板的概念 355
13.2.2 类模板的使用 357