第1章 C++语言基础知识 1
1.1 C++语言数据类型 1
1.1.1 变量 1
1.1.2 常量 3
1.1.3 数据类型转换 5
1.2 算术运算 6
1.2.1 运算符基础知识 6
1.2.2 算术运算符 7
1.2.3 算术表达式 9
1.2.4 常用函数 9
1.3 程序结构 9
1.3.1 文件包含命令 11
1.3.2 主函数结构 11
1.3.3 C++语言源程序基本结构 12
习题1 12
第2章 程序基本结构 15
2.1 顺序结构 15
2.1.1 赋值语句与赋值表达式 15
2.1.2 逗号表达式 16
2.1.3 数据输入与输出 17
2.1.4 数据输出格式控制 21
2.1.5 const语句 21
2.2 选择结构 22
2.2.1 关系运算 22
2.2.2 逻辑运算 22
2.2.3 复合语句、空语句及注释语句 24
2.2.4 if语句 25
2.2.5 条件表达式 31
2.2.6 switch语句 32
2.3 循环结构 35
2.3.1 while语句 35
2.3.2 do-while语句 37
2.3.3 for语句 38
2.3.4 break语句与continue语句 40
2.3.5 循环语句嵌套 42
2.3.6 goto语句 44
2.4 程序设计技术进阶 45
习题2 53
第3章 数组 55
3.1 一维数组 55
3.1.1 数组定义 55
3.1.2 数组元素引用与初始化 56
3.2 二维数组 58
3.2.1 数组定义 58
3.2.2 数组元素引用与初始化 58
3.3 字符数组 61
3.3.1 一维字符数组与字符串 61
3.3.2 二维字符数组与字符串数组 67
3.4 数据排序 68
3.4.1 冒泡排序 69
3.4.2 选择排序 72
3.4.3 插入排序 74
3.4.4 希尔排序 77
3.5 数据查找 79
3.5.1 顺序查找 79
3.5.2 二分查找 81
3.6 程序设计技术进阶 83
习题3 95
第4章 函数 97
4.1 函数基础知识 97
4.1.1 函数定义 97
4.1.2 函数调用与返回 99
4.1.3 函数原型 101
4.2 变量分类 105
4.2.1 局部变量与全局变量 105
4.2.2 静态变量 110
4.2.3 外部变量 11
4.3 外部函数与静态函数 113
4.3.1 外部函数 113
4.3.2 静态函数 113
4.4 函数间数据传递途径 114
4.5 递归函数 114
4.5.1 递归函数定义 114
4.5.2 递归函数设计方法 116
4.6 函数默认参数值 119
4.7 函数重载 120
4.8 函数模板 124
4.8.1 函数模板概念 125
4.8.2 函数模板定义 125
4.9 内联函数 127
4.10 程序设计技术进阶 129
习题4 148
第5章 指针与引用 150
5.1 指针概念与定义 150
5.2 指针运算 150
5.2.1 取变量地址运算 151
5.2.2 对象访问运算 152
5.2.3 指针移动运算 152
5.2.4 指针距离运算 153
5.2.5 指针关系运算 154
5.3 指针与函数 154
5.3.1 指针型参数 155
5.3.2 指针型函数 156
5.3.3 函数型指针 157
5.4 指针与数组 159
5.4.1 指针与一维数组 159
5.4.2 指针与二维数组 162
5.4.3 指针与字符串 168
5.4.4 指针数组 171
5.5 多级指针 172
5.6 动态内存分配 174
5.6.1 new运算符 174
5.6.2 delete运算符 175
5.7 引用 177
5.8 几种特殊类型的指针 179
5.8.1 不可改变对象之值的指针 179
5.8.2 只能指向一个对象的常指针 179
5.8.3 不可改变对象之值的常指针 179
5.8.4 void指针 180
5.9 程序设计技术进阶 181
习题5 192
第6章 构造数据类型 194
6.1 结构体 194
6.1.1 结构体类型定义 194
6.1.2 结构体变量定义与初始化 196
6.1.3 结构体成员访问 197
6.1.4 结构体与数组 199
6.1.5 结构体与函数 201
6.1.6 结构体与指针 202
6.1.7 结构体与引用 205
6.1.8 结构体与链表 206
6.2 联合体 211
6.2.1 联合体类型定义 211
6.2.2 联合体变量定义与初始化 212
6.2.3 联合体成员访问 214
6.3 枚举 217
6.3.1 枚举类型定义 217
6.3.2 枚举变量定义 217
6.4 数据类型别名定义 219
6.4.1 基本数据类型别名定义 219
6.4.2 构造数据类型别名定义 220
6.5 程序设计技术进阶 220
习题6 234
第7章 预处理与位运算 236
7.1 文件包含 236
7.1.1 固定路径查找 236
7.1.2 当前路径查找 237
7.1.3 指定路径查找 237
7.2 宏 237
7.2.1 无参宏 238
7.2.2 有参宏 239
7.2.3 宏终止 242
7.3 条件编译 243
7.3.1 #ifdef 243
7.3.2 #ifndef 243
7.3.3 #if常量表达式 244
7.4 位运算 245
7.4.1 原码、反码与补码 245
7.4.2 按位或运算 246
7.4.3 按位与运算 246
7.4.4 按位异或运算 247
7.4.5 按位取反运算 248
7.4.6 按位左移运算 248
7.4.7 按位右移运算 248
7.4.8 位运算符优先级 249
7.5 程序设计技术进阶 249
习题7 256
第8章 运算符重载 259
8.1 运算符重载基本概念 259
8.2 重载单目运算符 260
8.2.1 重载前缀++、--运算符 261
8.2.2 重载后缀++、--运算符 262
8.2.3 重载正负号+、-运算符 264
8.3 重载双目运算符 265
8.3.1 重载四则运算符 266
8.3.2 重载输入运算符 268
8.3.3 重载输出运算符 269
8.3.4 重载关系运算符 270
8.4 程序设计技术进阶 273
习题8 278
第9章 类 279
9.1 类基础知识 279
9.1.1 类与对象 279
9.1.2 成员访问属性 281
9.1.3 成员访问 281
9.1.4 对象与指针 283
9.1.5 this指针 285
9.2 构造函数 286
9.2.1 自定义构造函数 286
9.2.2 缺省构造函数 291
9.2.3 拷贝构造函数 292
9.2.4 构造函数初始化表 297
9.3 析构函数 299
9.3.1 缺省析构函数 299
9.3.2 自定义析构函数 299
9.4 对象运算重载 302
9.4.1 重载单目运算符 302
9.4.2 重载双目运算符 305
9.4.3 重载数组下标运算符 311
9.4.4 重载函数调用运算符 314
9.4.5 重载对象类型转换运算符 315
9.5 程序设计技术进阶 317
习题9 324
第10章 再谈类 326
10.1 友元 326
10.1.1 友元函数 326
10.1.2 友元类 329
10.2 常成员与常对象 329
10.3 静态成员 332
10.4 类模板 336
10.5 类的继承与派生 339
10.5.1 类继承基础知识 339
10.5.2 类的继承属性 340
10.5.3 基类与继承类对象初始化 343
10.6 类的多重继承 345
10.7 虚函数与抽象类 347
10.7.1 虚函数 347
10.7.2 抽象类 349
10.7.3 虚析构函数 350
10.8 程序设计技术进阶 351
习题10 354
第11章 文件 355
11.1 I/O流 355
11.1.1 输入流 355
11.1.2 输出流 356
11.1.3 标准I/O流与文件I/O流 357
11.2 文件概述 357
11.2.1 文件概念 357
11.2.2 文件分类 357
11.3 文件流 358
11.3.1 文件流对象 358
11.3.2 文件打开与关闭 358
11.3.3 顺序文件 361
11.3.4 随机文件 374
11.4 程序设计技术进阶 377
习题11 379
第12章 VisualC++程序设计基础 381
12.1 基础知识 381
12.1.1 VisualC++简介 381
12.1.2 Windows程序设计特点 381
12.1.3 VisualC++应用程序类型与编程方式 382
12.1.4 VisualC++常用数据类型 382
12.1.5 VisualC++常用句柄 383
12.2 对话框程序设计基础 383
12.2.1 对话框与工作空间 384
12.2.2 添加控件 386
12.2.3 设置对话框及控件的属性 386
12.2.4 为控件映射变量 387
12.2.5 为控件映射消息处理函数 388
12.2.6 控件禁用与启用 389
12.2.7 控件显示与隐藏 389
12.2.8 访问控件数据 390
12.2.9 访问控件标题 390
12.3 命令按钮控件 391
12.3.1 命令按钮控件常用属性 391
12.3.2 命令按钮控件常用消息 391
12.4 静态文本控件 392
12.4.1 静态文本控件常用属性 392
12.4.2 静态文本控件常用消息 392
12.4.3 自动改变静态文本控件标题 392
12.5 编辑框控件 394
12.5.1 编辑框控件常用属性 394
12.5.2 编辑框控件常用消息 395
12.5.3 访问编辑框控件 395
12.6 复选框控件 396
12.6.1 复选框控件常用属性 396
12.6.2 复选框控件常用消息 397
12.6.3 访问复选框控件 397
12.7 单选按钮控件 402
12.7.1 单选按钮控件常用属性 402
12.7.2 单选按钮控件常用消息 402
12.7.3 访问单选按钮控件 402
12.8 旋转按钮控件 404
12.8.1 旋转按钮控件常用属性 404
12.8.2 旋转按钮控件常用消息 405
12.8.3 访问旋转按钮控件 405
12.9 列表框控件 409
12.9.1 列表框控件常用属性 409
12.9.2 列表框控件常用消息 409
12.9.3 访问列表框控件 410
12.10 组合框控件 414
12.10.1 组合框控件类型 414
12.10.2 组合框控件常用属性 414
12.10.3 组合框控件常用消息 414
12.10.4 访问组合框控件 415
12.11 定时器 417
12.11.1 定时器基本概念 417
12.11.2 定时器使用方法 417
12.12 滑块控件 418
12.12.1 滑块控件常用属性 418
12.12.2 滑块控件常用消息 419
12.12.3 访问滑块控件 419
12.13 进展条控件 422
12.13.1 进展条控件常用属性 422
12.13.2 访问进展条控件 422
12.14 文档与视图 425
12.14.1 文档与视图基本概念 425
12.14.2 文档与视图应用程序分类 426
12.14.3 创建菜单资源 426
12.14.4 创建下级对话框 427
12.15 程序设计技术进阶 429
习题12 434
综合程序设计研究题 435
附录 ASCII码与字符对照表 439
参考文献 440