第1章 C++简介 1
1.1 C++语言的发展及特点 2
1.1.1 C语言的出现与发展 2
1.1.2 面向对象程序设计 3
1.1.3 C++语言的特点 3
1.2 C++程序的设计风格 4
1.2.1 简单程序示例 4
1.2.2 C++程序的书写格式 7
1.2.3 main()函数 9
1.2.4 C++程序的基本结构 9
1.3 基本符号、标识符和关键字 11
1.3.1 基本符号 11
1.3.2 标识符 11
1.3.3 关键字 12
1.4 程序设计中的几个基本概念 13
1.5.1 Visual C++ 6.0简介 14
1.5 使用Visaul C++ 6.0 14
1.5.2 安装和启动 15
1.5.3 输入、编辑、连接和运行C++程序 15
1.5.4 错误处理 21
1.5.5 存盘和打开 22
1.5.6 退出Visual C++ 6.0系统 23
1.6 本章小结 23
1.7 上机练习 24
1.8 习题 24
第2章 基本数据类型 25
2.1 常量与变量 26
2.1.1 常量 26
2.1.2 变量 26
2.2 整数类型 27
2.2.1 整数类型的取值 27
2.2.3 整型变量的使用 28
2.2.2 整型常量 28
2.3 浮点数类型 29
2.3.1 浮点数类型的取值 29
2.3.2 浮点型常量 30
2.3.3 浮点型变量的使用 30
2.4 字符类型 31
2.4.1 字符类型的取值 31
2.4.2 字符型常量 31
2.4.3 字符串常量 33
2.4.4 字符型变量的使用 33
2.5 cout输出和cin输入 34
2.5.1 cout输出 34
2.5.2 cin输入 39
2.6 本章小结 41
2.7 上机练习 41
2.8 习题 42
第3章 基本运算 45
3.1 算术运算 46
3.1.1 二元算术运算 46
3.1.2 一元算术运算 48
3.1.3 自增和自减运算 49
3.2 赋值运算 51
3.3 关系运算 52
3.4 逻辑运算 54
3.5 位运算 56
3.6 复合赋值运算 60
3.7 其他基本运算 62
3.7.1 sizeof运算 62
3.7.2 条件运算 64
3.7.3 顺序运算 65
3.8 类型转换 65
3.8.1 表达式类型转换 66
3.8.2 赋值类型转换 66
3.8.3 强制类型转换 66
3.9 运算符的优先级与结合性 67
3.10 本章小结 69
3.11 上机练习 70
3.12 习题 73
第4章 程序结构及语句 75
4.1 顺序结构及其语句 76
4.1.1 声明语句 76
4.1.2 表达式语句 76
4.1.3 函数调用语句 77
4.1.4 输入输出语句 78
4.2 选择结构及其语句 79
4.2.1 条件语句 79
4.2.2 多路分支语句 84
4.3 循环结构及其语句 87
4.3.1 for循环语句 87
4.3.2 while循环语句 90
4.3.3 do_while循环语句 92
4.4 辅助控制语句 94
4.4.1 无条件转向语句 94
4.4.2 跳出语句 96
4.4.3 继续语句 97
4.5 本章小结 98
4.6 上机练习 98
4.7 习题 101
第5章 数组 103
5.1 一维数组 104
5.1.1 一维数组的声明 104
5.1.2 一维数组的使用 105
5.2 二维数组 111
5.2.1 二维数组的声明 111
5.2.2 二维数组的使用 112
5.3 字符数组 117
5.3.1 字符数组的声明 117
5.3.2 字符数组的使用 118
5.4 本章小结 122
5.5 上机练习 123
5.6 习题 125
第6章 指针 127
6.1 变量与指针 128
6.2 指针变量的声明 129
6.3 取地址和取内容运算 130
6.3.1 取地址运算 130
6.3.2 取内容运算 131
6.4 指针变量与数组 132
6.4.1 指针变量与一维数组 133
6.4.2 指针变量与多维数组 135
6.4.3 指针变量的运算 137
6.5 字符型指针变量 142
6.5.1 字符型指针的声明 142
6.5.2 字符型指针变量的操作 143
6.6 指针数组 146
6.7 本章小结 148
6.8 上机练习 149
6.9 习题 151
第7章 结构 153
7.1 结构的基本概念 154
7.2 结构类型的定义与结构变量的声明 154
7.2.1 结构类型的定义 154
7.2.2 结构变量的声明和初始化 156
7.3 结构变量的使用 157
7.3.1 引用结构变量成员 157
7.3.2 结构变量的运算和输入输出 158
7.4 结构数组 159
7.4.1 结构数组的声明 159
7.4.2 结构数组的使用 160
7.5 结构指针与结构数组 162
7.6 new和delete运算、递归结构和链表 165
7.6.1 new和delete运算 166
7.6.2 递归结构 168
7.6.3 链表 171
7.7 本章小结 173
7.8 上机练习 174
7.9 习题 176
第8章 联合、枚举和自定义类型 177
8.1 联合类型 178
8.1.1 联合类型的定义 178
8.1.2 联合变量的声明和初始化 179
8.1.3 联合变量的使用 180
8.1.4 联合与结构的比较 181
8.2 枚举类型 183
8.2.1 枚举类型的定义 184
8.2.2 枚举变量的声明 185
8.2.3 枚举变量的使用 186
8.3 自定义类型 187
8.5 上机练习 189
8.4 本章小结 189
8.6 习题 190
第9章 函数 193
9.1 函数的定义与调用 194
9.1.1 函数的定义 194
9.1.2 函数的调用 196
9.1.3 返回语句与返回值 198
9.2 函数的参数传递 201
9.2.1 值传递方式 202
9.2.2 指针传递方式 202
9.2.3 引用传递方式 207
9.3 void类型参数 208
9.3.1 void返回类型 208
9.3.2 void参数类型 208
9.4 递归函数设计 209
9.5 带默认值参数的函数 210
9.6 内联函数 212
9.7 重载函数 213
9.8 分程序 215
9.9 main()函数参数的使用 217
9.10 C++库函数 218
9.10.1 数学计算函数 218
9.10.2 字符分类函数 219
9.10.3 字符串处理函数 220
9.11 本章小结 221
9.12 上机练习 222
9.13 习题 225
第10章 存储类别 227
10.1 存储类别的概念 228
10.2 变量的存在性和可见性 228
10.3 变量的存储类别 230
10.3.1 自动变量 230
10.3.2 寄存器变量 231
10.3.3 静态变量 233
10.3.4 外部变量 234
10.3.5 只读变量 235
10.4 函数的存储类别 237
10.5 在Visual C++ 6.0中调试多个源程序文件组成的C++程序 238
10.6 本章小结 242
10.7 上机练习 243
10.8 习题 244
第11章 类与对象 245
11.1 类的定义 246
11.2 用类建立对象 248
11.3 内联成员函数 253
11.4 构造函数和析构函数 254
11.4.1 构造函数 254
11.4.2 带参数的构造函数 255
11.4.3 析构函数 258
11.5 类的封装与访问性控制 260
11.4.4 构造和析构函数的调用 260
11.5.1 类的访问性控制 261
11.5.2 类的封装性 264
11.6 类的静态数据成员 264
11.7 空类 268
11.8 类的嵌套 268
11.9 成员函数的重载 269
11.10 运算符的重载 271
11.11 友元类和友元函数 275
11.11.1 友元类 275
11.11.2 友元函数 277
11.12 对象指针 282
11.13 本章小结 283
11.14 上机练习 284
11.15 习题 287
第12章 类的继承 289
12.1 类的继承性 290
12.2 单一继承 292
12.2.1 单一继承派生类的定义 292
12.2.2 继承模式 293
12.2.3 构造函数的调用顺序 297
12.2.4 构造函数的参数传递 299
12.2.5 析构函数的调用顺序 301
12.2.6 保护成员的继承性 302
12.3 多继承 303
12.4 成员函数的覆盖 307
12.4.1 虚函数 308
12.4.2 纯虚函数与抽象类 310
12.5 本章小结 312
12.6 上机练习 313
12.7 习题 316
第13章 输入输出处理 317
13.1.1 数据输入 318
13.1 标准设备的输入输出函数scanf()和printf() 318
13.1.2 数据输出 322
13.2 文件与流式文件的概念 327
13.3 流式文件的打开和关闭 328
13.3.1 打开文件 328
13.3.2 关闭文件 329
13.4 流式文件的读写 330
13.4.1 字符串读/写操作 330
13.4.2 字符读/写操作 333
13.4.3 整数读/写操作 335
13.4.4 格式化读/写操作 337
13.4.5 数据块读/写操作 339
13.5 流式文件的定位 342
13.6 流式文件与设备文件 346
13.7 流式文件的错误检测 347
13.8 本章小结 349
13.9 上机练习 350
13.10 习题 353
第14章 预处理指令 355
14.1 预处理指令简介 356
14.2 宏替换指令 356
14.2.1 简单宏替换 356
14.2.2 带参数宏替换 358
14.3 文件嵌入指令 359
14.4 条件编译指令 360
14.7 习题 362
14.5 本章小结 362
14.6 上机练习 362
附录A C++常用库函数 363
A1 字符分类函数 364
A2 数学运算和类型转换函数 365
A3 串和内存操作函数 372
A4 输入输出函数 376
附录B Visual C++ 6.0的安装和启动 387