c++程序设计的图书目录
第1章 计算机基础知识1
1.1 本章导读1
1.2 计算机系统结构及工作原理1
1.2.1 计算机的体系结构--冯·诺依曼结构2
1.2.2 计算机中的数据存储体系5
1.2.3 计算机的工作原理8
1.3 数制转换、字符编码10
1.3.1 进位计数制10
1.3.2 不同数制之间的转换11
1.3.3 计算机中的数据表示和存储15
1.3.4 非数值数据的编码19
1.4 程序设计语言23
1.5 操作系统25
1.5.1 操作系统的组成和功能26
1.5.2 人与计算机的交互28
1.5.3 Windows的文件系统30
1.6 算法与算法设计基础34
1.6.1 算法34
1.6.2 算法的表示37
1.6.3 算法设计基本方法38
1.7 数据结构基础41
1.7.1 数据结构的基本概念41
1.7.2 数据结构的表示43
1.7.3 抽象数据类型46
1.7.4 栈和队列47
1.7.5 几个典型的基本算法48
习题49
C++程序设计目录 第2章 C++基本概念53
2.1 本章导读53
2.2 C语言与C++语言简介54
2.2.1 C语言与C++的起源54
2.2.2 第一个C++源程序55
2.2.3 编译、调试、运行程序56
2.2.4 Visual C++集成开发环境57
2.3 基本词法单位58
2.3.1 关键字58
2.3.2 标识符58
2.3.3 标点符号59
2.3.4 分隔符59
2.4 数据类型59
2.5 变量61
2.5.1 变量的定义和初始值61
2.5.2 变量与引用61
2.6 常量62
2.6.1 整型常量63
2.6.2 实型常量63
2.6.3 字符常量63
2.6.4 转义字符64
2.6.5 字符串常量65
2.6.6 const常变量65
2.6.7 宏定义常量65
2.7 运算符和表达式66
2.7.1 运算符和运算符优先级66
2.7.2 算术运算符与算术表达式67
2.7.3 赋值运算符和赋值表达式71
2.7.4 关系运算符和关系表达式72
2.7.5 逻辑运算符和逻辑表达式73
2.7.6 字位运算符74
2.7.7 其他常用运算符75
2.7.8 类型转换76
2.8 C++语句78
2.9 简单输入、输出78
2.9.1 cin78
2.9.2 cout81
习题83
第3章 流程控制语句87
3.1 本章导读87
3.2 选择结构语句88
3.2.1 if语句88
3.2.2 switch语句95
3.2.3 if与switch之间的转换98
3.3 循环结构99
3.3.1 while循环100
3.3.2 do-while循环101
3.3.3 for循环102
3.3.4 三种循环的等价性和区别104
3.3.5 循环的嵌套104
3.4 控制执行顺序的语句107
3.4.1 break语句107
3.4.2 continue语句109
3.5 算法与算法设计方法109
3.5.1 枚举法(穷举法)110
3.5.2 迭代与递推法111
习题113
第4章 函数和编译预处理119
4.1 本章导读119
4.2 函数的定义120
4.2.1 有参函数定义120
4.2.2 无参函数121
4.2.3 函数的返回和返回值122
4.3 函数的调用123
4.3.1 形参与实参123
4.3.2 函数的原型说明124
4.4 函数的参数传递方式125
4.4.1 值传递125
4.4.2 引用传递126
4.5 函数的递归调用128
4.6 存储类别和作用域131
4.6.1 作用域131
4.6.2 变量的存储类别134
4.7 函数的重载、内联、缺省参数137
4.7.1 函数的重载137
4.7.2 函数的内联138
4.7.3 缺省参数的函数139
4.8 预处理指令与编译预处理141
4.8.1 文件包含指令141
4.8.2 宏定义指令142
4.8.3 条件编译指令145
4.9 程序的多文件组织146
4.10 C++库函数148
4.11 函数调用与栈149
4.11.1 参数传递与栈149
4.11.2 自动变量与栈150
4.11.3 函数递归调用和栈151
习题153
第5章 构造数据类型159
5.1 本章导读159
5.2 一维数组160
5.2.1 一维数组的定义160
5.2.2 一维数组的初始化162
5.2.3 数组元素的引用163
5.2.4 一维数组的应用163
5.3 二维数组168
5.3.1 二维数组的定义168
5.3.2 二维数组的初始化169
5.3.3 二维数组的应用170
5.4 数组和函数174
5.4.1 数组元素用作函数参数174
5.4.2 数组名用为函数参数175
5.5 字符数组178
5.5.1 字符数组的定义和初始化178
5.5.2 字符数组的赋值、输入和输出179
5.5.3 字符串与字符数组180
5.5.4 字符数组的应用181
5.6 字符串函数183
5.6.1 常用字符串处理函数183
5.6.2 字符串类变量及其应用186
5.7 数组应用187
5.7.1 选择法排序187
5.7.2 矩阵运算190
习题191
第6章 其他构造数据类型--结构、联合、枚举和类197
6.1 本章导读197
6.2 结构体类型198
6.2.1 结构体类型定义198
6.2.2 结构体类型变量的定义及其初始化199
6.2.3 结构体类型变量的引用201
6.2.4 结构体与数组202
6.2.5 结构体类型与函数203
6.3 共同体类型205
6.4 枚举类型206
6.4.1 枚举类型数据的定义206
6.4.2 枚举类型的应用208
6.5 类型定义语句typedef210
6.6 类211
6.6.1 类类型的定义211
6.6.2 类的成员函数213
6.6.3 inline成员函数214
6.6.4 类与结构体的异同215
6.6.5 类的对象及其定义216
6.6.6 类和对象的简单应用218
习题221
第7章 指针227
7.1 本章导读227
7.2 指针228
7.2.1 指针变量的定义229
7.2.2 指针变量的引用230
7.2.3 多级指针及其定义231
7.3 指针与数组232
7.3.1 指针与一维数组232
7.3.2 指针的运算233
7.3.3 指针与二维数组236
7.3.4 指针数组238
7.3.5 指向数组的指针239
7.4 指针与函数240
7.4.1 指针作为函数参数240
7.4.2 返回值为指针的函数243
7.4.3 指向函数的指针245
7.4.4 用函数指针调用函数246
7.5 const指针247
7.6 void指针249
7.7 指针与字符串250
7.7.1 字符串的表示形式250
7.7.2 字符串指针与函数252
7.7.3 字符串指针与数组253
7.8 引用254
7.8.1 引用的定义254
7.8.2 引用和函数255
7.9 内存的动态分配和撤销255
7.9.1 new运算符256
7.9.2 delete运算符257
7.10 指针应用258
7.10.1 链表258
7.10.2 约瑟夫环(Josephus)问题265
习题266
第8章 类和对象273
8.1 本章导读273
8.2 面向对象的程序设计方法274
8.3 构造函数与析构函数276
8.3.1 构造函数的定义与使用277
8.3.2 默认构造函数278
8.3.3 构造函数和new运算符282
8.3.4 析构函数的定义与使用283
8.3.5 构造函数与类型转化286
8.4 复制构造函数286
8.5 对象成员和类的嵌套定义289
8.5.1 对象成员289
8.5.2 类的嵌套定义290
8.6 友元函数和友元类291
8.6.1 友元函数292
8.6.2 友元类293
8.7 静态成员296
8.7.1 静态数据成员296
8.7.2 静态函数成员297
8.8 共用数据的保护299
8.8.1 常对象299
8.8.2 常成员299
8.8.3 指向对象的常指针和对象的常引用300
8.9 this指针301
习题302
第9章 继承与派生307
9.1 本章导读307
9.2 继承与派生的概念307
9.2.1 类的继承与派生概念307
9.2.2 派生类的定义308
9.2.3 基类成员的访问控制309
9.3 派生类的构造与析构函数313
9.4 冲突、支配与赋值兼容规则316
9.5 虚基类320
习题323
第10章 多态325
10.1 本章导读325
10.2 虚函数326
10.2.1 虚函数的定义及实现过程326
10.2.2 虚函数实现过程327
10.2.3 纯虚函数和抽象类330
10.3 运算符重载332
10.3.1 成员函数实现运算符重载及方法333
10.3.2 友元函数实现运算符重载及方法336
10.3.3 类型转换函数340
10.3.4 一些特殊运算符的重载341
10.3.5 实现字符串类的运算符重载346
习题349
第11章 输入输出流类库353
11.1 本章导读353
11.2 流概述354
11.3 C++的基本流类体系354
11.4 标准输入输出流355
11.4.1 标准输入流355
11.4.2 标准输出流356
11.4.3 流的格式控制357
11.4.4 输入输出的其他成员函数361
11.4.5 提取和插入运算符重载364
11.4.6 重定向概念365
11.5 文件流366
11.5.1 文件概述366
11.5.2 文件流类体系366
11.5.3 文件的使用方法366
11.6 文本文件的使用370
11.7 二进制文件的使用374
11.7.1 二进制文件的打开和关闭374
11.7.2 二进制文件的读写374
11.7.3 文件的随机访问376
习题378
第12章 模板381
12.1 本章导读381
12.2 函数模板和类模板381
12.2.1 函数模板的定义和使用381
12.2.2 类模板的定义和使用383
12.3 标准模板库简介387
12.4 模板简单应用实例388
习题393
附录A 标准ASCII码表395
附录B 常用系统函数397
参考文献403