内容简介
第1章 绪论
1.1 计算机程序设计语言
1.1.1 程序设计语言的演变
1.1.2 C++程序设计语言的发展
1.2 程序设计方法
1.2.1 面向过程程序设计
1.2.2 面向对象程序设计
1.3 计算机信息的存储与表示
1.3.1 数据在计算机中的表示
1.3.2 数据单位
1.3.3 不同形式数据的表示方法
1.4 C++程序结构与开发过程
1.4.1 C++程序的开发流程
1.4.2 第一个C++程序
1.4.3 C++程序设计环境
1.4.4 带命令行参数的程序
1.5 C++的词和规则
1.5.1 C++的字符集
1.5.2 词与词法规则
1.6 编程实例——程序设计方法比较
习题1
第2章 数据类型、表达式与基本输入输出
2.1 数据类型基本概念
2.1.1 C++数据类型的种类
2.1.2 整型和实型
2.1.3 数值的范围
2.1.4 有符号数和无符号数
2.1.5 有符号数和无符号数的范围区别
2.1.6 本章用到的关键字
2.2 C++基本数据类型
2.2.1 整型、实型和字符型
2.2.2 布尔型和无类型
2.2.3 为数据类型起别名
2.2.4 sizeof的使用
2.3 变量
2.3.1 变量概述
2.3.2 变量的定义
2.3.3 赋值语句
2.3.4 变量的初始化
2.4 常量
2.4.1 整型常量
2.4.2 字符常量和字符串常量
2.4.3 逻辑常量
2.4.4 枚举常量
2.4.5 实型常量
2.4.6 地址常量
2.5 符号常量
2.5.1 为什么需要符号常量
2.5.2 const与#define的比较
2.6 基本输入输出
2.6.1 cout输出流
2.6.2 cin输入流
2.7 运算符和表达式
2.7.1 C++语言运算符的种类
2.7.2 算术运算符
2.7.3 赋值运算符
2.7.4 关系运算符
2.7.5 逻辑运算符
2.7.6 位运算符
2.7.7 条件运算符
2.7.8 逗号运算符
2.7.9 运算符的优先级及结合性
2.8 编程实例——获取IP地址并计算网络号等信息
2.8.1 背景
2.8.2 源代码及程序解释
习题2
第3章 语句和控制结构
3.1 顺序结构
3.1.1 表达式语句
3.1.2 函数调用语句
3.1.3 复合语句
3.1.4 空语句
3.1.5 赋值语句
3.2 选择结构
3.2.1 if…else语句和if语句
3.2.2 多路分支
3.2.3 程序应用举例
3.3 循环结构
3.3.1 while语句
3.3.2 do…while语句
3.3.3 for语句
3.3.4 3种循环语句的选用
3.3.5 循环的嵌套
3.4 控制转移
3.4.1 break语句
3.4.2 continue语句
3.4.3 goto语句
3.4.4 return语句
3.5 编程实例——凯撒加/解密和维吉尼亚加/解密
3.5.1 背景
3.5.2 源代码及程序解释
习题3
第4章 函数
4.1 函数概述
4.2 预定义函数
4.3 自定义函数
4.3.1 函数的定义
4.3.2 函数的返回值
4.3.3 函数参数和传值调用
4.3.4 函数定义和函数声明的区别
4.4 函数的重载
4.5 带默认参数的函数
4.6 内联函数
4.7 函数的嵌套调用
4.8 函数的递归调用
4.9 局部变量与全局变量
4.10 变量的存储类别
4.10.1 自动变量
4.10.2 静态局部变量
4.10.3 寄存器变量
4.10.4 外部变量和静态外部变量
4.11 预处理命令
4.11.1 文件包含
4.11.2 条件编译
4.12 编程实例——Hanoi(汉诺)塔问题
习题4
第5章 数组
5.1 一维数组
5.1.1 定义和引用一维数组
5.1.2 数组的初始化
5.1.3 数组下标越界
5.1.4 一维数组和循环
5.1.5 一维数组的应用
5.2 多维数组
5.2.1 定义和引用二维数组
5.2.2 二维数组的初始化
5.2.3 二维数组的应用
5.2.4 多维数组简单介绍
5.3 字符数组
5.3.1 定义和引用一维字符数组
5.3.2 一维字符数组的初始化
5.3.3 多维字符数组
5.3.4 字符数组的输入与输出
5.3.5 字符数组处理函数
5.4 string类型
5.4.1 定义和初始化string类型变量
5.4.2 string对象的使用
5.5 数组在函数中的应用
5.5.1 数组元素作为函数参数
5.5.2 整个数组作为函数参数
5.6 编程实例——大整数加减运算
5.6.1 设计思路
5.6.2 源代码和程序解释
习题5
第6章 指针和引用
6.1 指针与指针变量
6.1.1 指针的概念
6.1.2 定义指针变量
6.1.3 引用指针变量
6.1.4 无名变量
6.1.5 指针作为函数参数
6.2 数组与指针
6.2.1 指向数组元素的指针
6.2.2 指针变量作为函数参数接收数组地址
6.3 字符串与指针
6.4 const修饰指针
6.4.1 指向常量的指针
6.4.2 指针常量
6.5 引用
6.5.1 引用的基本概念
6.5.2 引用的应用
6.6 动态数组
6.7 其他指针
6.7.1 函数指针
6.7.2 指向指针的指针
6.7.3 指针数组
6.8 编程实例——选择法排序
习题6
第7章 自定义数据类型
7.1 结构体类型
7.1.1 结构体类型的声明
7.1.2 结构体变量的定义、初始化及使用
7.1.3 结构体数组的定义、初始化及使用
7.1.4 结构体作为函数参数
7.2 共用体
7.2.1 共用体变量的定义与初始化
7.2.2 共用体变量的使用
7.3 枚举类型
7.3.1 枚举类型变量的定义与初始化
7.3.2 枚举类型变量的使用
7.4 typedef声明
7.5 编程实例——递归下降语法分析器
7.5.1 算法介绍
7.5.2 程序源代码
习题7
第8章 类
8.1 类的声明
8.1.1 类类型的声明
8.1.2 对象的定义
8.1.3 类的访问属性
8.1.4 取值函数和赋值函数
8.1.5 内联成员函数
8.1.6 this指针
8.2 构造函数和析构函数
8.2.1 构造函数
8.2.2 拷贝构造函数
8.2.3 析构函数
8.3 组合对象
8.3.1 组合对象概述
8.3.2 构造函数和析构函数在组合对象中的使用
8.4 对象数组
8.4.1 对象数组的定义
8.4.2 对象数组的初始化
8.5 对象指针
8.5.1 对象指针的定义与使用
8.5.2 指向对象成员的指针
8.6 编程实例——学生成绩排名
8.6.1 算法介绍
8.6.2 程序源代码
习题8
第9章 静态成员与友元
9.1 变量的使用
9.1.1 作用域
9.1.2 可见性
9.1.3 生存期
9.2 类的静态成员
9.2.1 静态数据成员
9.2.2 静态成员函数
9.3 类的友元
9.3.1 友元函数
9.3.2 友元类
9.4 const修饰符
9.4.1 const修饰变量
9.4.2 const修饰引用
9.4.3 const修饰对象
9.4.4 const修饰类中的成员
9.5 编程实例——缓冲区溢出
9.5.1 背景
9.5.2 程序源代码
习题9
第10章 运算符重载
10.1 重载二元运算符
10.1.1 成员函数实现运算符重载
10.1.2 友元函数实现运算符重载
10.2 重载一元运算符
10.3 >>和<<运算符重载
10.3.1 <<运算符重载
10.3.2 >>运算符重载
10.4 重载运算符限制与设计规则
10.5 编程实例——矩阵及向量间的运算
10.5.1 背景
10.5.2 程序源代码
习题10
第11章 继承与派生
11.1 类的继承与派生
11.1.1 继承与派生的概念
11.1.2 派生类的声明
11.1.3 继承方式
11.1.4 派生类中的构造函数和析构函数
11.1.5 重定义成员函数
11.1.6 构造函数和析构函数的调用顺序
11.2 二义性问题
11.3 虚基类
11.3.1 虚基类的声明
11.3.2 虚基类的构造函数
11.4 编程实例——银行账户管理系统
11.4.1 需求分析与数据结构设计
11.4.2 程序源代码
习题11
第12章 多态
12.1 upcast
12.2 后期绑定与虚函数
12.3 重新定义和超载
12.4 VPTR和VTABLE
12.5 关于运算效率的考虑
12.6 纯虚函数与抽象类
12.7 纯虚函数的定义
12.8 编程实例——虚函数实现求不同图形的面积
习题12
第13章 输入输出流
13.1 流的概念
13.1.1 与I/O流类库有关的头文件
13.1.2 iostream头文件中的重载运算符
13.2 输入输出格式控制
13.2.1 ios类中的枚举常量
13.2.2 ios类中的成员函数
13.2.3 iomanip头文件中的控制符
13.3 字符I/O
13.3.1 get函数
13.3.2 put函数
13.3.3 getline函数
13.4 其他成员函数
13.4.1 ignore函数
13.4.2 eof函数
13.4.3 peek函数
13.4.4 putback函数
13.5 文件和文件I/O
13.5.1 文件的概念
13.5.2 文件流类与文件流对象
13.5.3 文件的打开与关闭
13.5.4 I/O对象的条件状态
13.5.5 ASCII文件的访问
13.5.6 二进制文件的访问(选读)
13.6 编程实例——ini文件的读/写
13.6.1 ini文件结构
13.6.2 源代码和程序解释
习题13
第14章 模板
14.1 函数模板
14.1.1 函数模板的定义
14.1.2 函数模板的应用
14.2 类模板
14.2.1 类模板的定义
14.2.2 类模板的应用
14.3 编程实例——复数类的定义和实现
习题14
第15章 链表
15.1 链表概述
15.2 单链表类的定义
15.3 链表结点的访问
15.4 链表结点的插入
15.5 链表结点的删除
15.6 链表实例——简单的链表操作
习题15
第16章 异常处理
16.1 C++错误处理
16.2 C++异常处理机制
16.2.1 异常处理机制的3个部分
16.2.2 异常处理的语法
16.2.3 自定义异常类
16.2.4 多个throw和catch
16.2.5 catch(…)
16.2.6 异常规范
16.3 编程实例——病毒的自我复制
习题16
第17章 项目开发指南
17.1 项目管理基础
17.1.1 项目与项目管理
17.1.2 项目流程
17.1.3 项目实施管理
17.2 项目开发团队
17.2.1 项目团队组成
17.2.2 项目团队要求
17.3 项目的研发
17.3.1 软件版本控制
17.3.2 程序编写规范
17.3.3 功能设计说明书的撰写
17.3.4 程序设计与实现
17.3.5 单元测试
17.3.6 提交代码
17.3.7 功能维护
习题17
参考文献