内容简介
第1章 计算引论
1.1计算机系统
1.1.1做算术的机器
1.1.2存储程序概念
1.1.3系统软件
1.1.4图形用户界面
1.1.5网络
1.1.6 C+++简要历史
1.2计算机组织
1.2.1计算系统
1.2.2存储
1.2.3输入和输出
1.2.4操作系统
1.2.5编程
练习题
第2章 编程与问题求解——软件工程
2.1 C++抢先看
2.2编程和问题求解概览
2.2.1问题:温度转换
2.2.2程序设计
2.2.3在C+++中编码
2.2.4测试、执行和调试
2.2.5维护
本章小结
自测题
练习题
编程题
第3章 C+中的类型
3.1入门示例:放射性衰变
3.1.1问题
3.1.2对象中心设计
3.2类型、文字量、变量及常量
3.2.1基本类型
3.2.2标识符
3.2.3变量
3.2.4常量
3.3数据表示
3.3.1整数
3.3.2实数
3.3.3字符和字符串
3.3.4布尔值
本章小结
自测题
练习题
编程题
第4章 表达式入门
4.1入门示例:爱因斯坦方程
4.1.1问题
4.1.2对象中心设计
4.2数值表达式
4.2.1操作符
4.2.2类型强制转换
4.3赋值表达式
4.3.1赋值是一种运算
4.3.2快捷赋值
4.3.3增量和减量操作
4.4输入输出表达式
4.4.1 I/O流
4.4.2输入表达式
4.4.3输出表达式
4.4.4输出格式化
4.5基本C++函数和库
4.5.1库
4.5.2数值函数
本章小结
自测题
练习题
编程题
第5章 控制结构
5.1入门示例:空气质量指数(AQI)
5.1.1问题
5.1.2对象中心设计
5.2布尔表达式
5.2.1简单布尔表达式
5.2.2复合布尔表达式
5.2.3操作符优先级
5.2.4短路求值
5.2.5前置条件和assert()机制
5.2.6布尔字符函数
5.3示例:数字电路——二进制半加器
5.4选择:if语句
5.4.1块语句
5.4.2示例:二次方程求解程序
5.4.3风格
5.5重复:for和while语句
5.5.1示例:计算阶乘
5.5.2处理几个输入值
5.5.3重复执行:while语句
本章小结
自测题
练习题
编程题
第6章 函数和库
6.1入门示例:使用表达式的温度转换
6.1.1问题:温度转换
6.1.2对象中心设计
6.2入门示例:使用函数的温度转换
6.3程序员定义函数
6.3.1函数设计
6.3.2函数原型
6.3.3调用函数
6.3.4局部变量
6.3.5函数中的控制结构
6.3.6不返回值的函数
6.3.7小结
6.4函数库简介
6.4.1构造库
6.4.2在程序中使用库
6.4.3翻译库
6.4.4对象中心设计:合并函数和库
6.4.5使用库的优点
6.5数值方法简介
6.5.1解方程——二分法
6.5.2数值积分——逼近区域的面积
6.5.3微分方程的数值解
本章小结
自测题
练习题
编程题
第7章 使用类
7.1入门示例:Internet地址
7.1.1问题
7.1.2对象中心设计
7.2类简介
7.2.1数据封装
7.2.2封装操作
7.3 istream和ostream类
7.3.1 istream类
7.3.2 ostream类
7.3.3格式控制
7.4 string类
7.4.1声明string对象
7.4.2字符串操作
7.5 C++complex类
7.5.1复数表示
7.5.2复数操作
7.5.3示例:解二次方程
7.5.4应用:交流电路
7.6随机数模拟:防护核反应堆
7.6.1随机数生成器——Randomint类
7.6.2问题
7.6.3解决方案
7.6.4正态分布
本章小结
自测题
练习题
编程题
第8章 更多选择控制结构
8.1入门示例:再探空气质量指数
8.2 if语句深入
8.2.1陷阱:悬空else问题
8.2.2陷阱:混淆=和==
8.3 switch语句
8.3.1示例:温度转换
8.3.2 switch语句格式
8.3.3 break语句
8.3.4直通行为
8.3.5示例:将工程课程编码转换为名称
8.4条件表达式
本章小结
自测题
练习题
编程题
第9章 更多重复控制结构
9.1两个入门示例:求和与计算折旧
9.1.1示例:高斯的惩罚——计算求和
9.1.2示例2:计算折旧
9.2 for循环
9.2.1嵌套for循环
9.2.2忠告
9.2.3无限循环
9.3 while循环
9.3.1示例:模拟反弹球
9.3.2 while语句
9.4 do语句
9.4.1示例:多少个数字
9.4.2后置测试循环
9.5输入循环
9.5.1运行示例:平均无故障工作时间
9.5.2计数方法
9.5.3输入循环:哨兵方法
9.5.4输入循环:查询方法
9.6选择正确的循环
本章小结
自测题
练习题
编程题
第10章 深入函数
10.1两个入门示例:以度为单位显示角度和变换坐标
10.1.1示例1:以度为单位显示角度
10.1.2示例2:转换坐标
10.2深入参数
10.2.1值参
10.2.2引用参数
10.2.3常量引用参数
10.2.4使用参数
10.3参数用法示例
10.3.1自动售货机
10.3.2示例2:交换两个变量的值
10.3.3示例3:处理IP地址
10.4作用域规则
10.4.1作用域:标识符的可访问性
10.4.2名称冲突
10.4.3名称空间
10.5递归简介
10.5.1示例1:再探阶乘问题
10.5.2街道网络
10.6内联、重载和模板
10.6.1内联函数
10.6.2重载函数
10.6.3函数模板
本章小结
自测题
练习题
编程题
第11章 文件和流
11.1入门示例:环境数据分析
11.1.1问题:处理环境数据文件
11.1.2对象中心设计
11.2 ifstream和ofstream类
11.2.1声明文件流
11.2.2基本的文件流操作
11.2.3小结
11.3其他流特性
11.3.1 seekg()、tellg()、seekp()、tellp()方法
11.3.2 peek()和putback()方法
11.2.2 setstate()方法
11.3.4字符串流
本章小结
自测题
练习题
编程题
第12章 数组和vector类模板
12.1入门示例:质量控制
12.1.1问题:平均故障时间
12.1.2对象中心设计
12.2 C风格数组
12.2.1数组初始化
12.2.2下标操作
12.2.3数组处理函数
12.2.4 typedef
12.2.5警告/数组的限制
12.2.6现代替代品:valarray〈T〉和vector〈T〉
12.3排序
12.3.1简单选择排序
12.3.2其他排序
12.4搜索
12.4.1线性搜索
12.4.2二叉搜索
12.5示例:搜索化学数据库
12.5.1问题
12.5.2解决方案
12.6 vector 〈T〉类模板
12.6.1函数模板快速概览
12.6.2 vector〈T〉类模板
12.7标准模板库概览
12.7.1 STL的组织
本章小结
自测题
练习题
编程题
第13章 多维数组和向量
13.1入门示例:里程图
13.1.1问题
13.1.2对象中心设计
13.2多维数组
13.2.1定义二维数组操作
13.2.2高维数组
13.3应用:海洋数据分析
13.4矩阵处理
13.4.1矩阵运算
13.4.2示例:产品成本
13.5线性系统和电路
13.5.1问题:求电路中的电流
13.5.2解决方案
13.5.3高斯消元法
13.6多维vector〈T〉对象
13.6.1二维vector〈T〉对象
13.6.2二维vector〈T〉操作
13.6.3基于vector〈T〉的矩阵
本章小结
自测题
练习题
编程题
第14章 构建类
14.1入门示例:建立温度模型
14.1.1创建新类型
14.2设计类
14.2.1外部和内部观点
14.2.2 Temperature类的操作
14.2.3 Temperature类的数据
14.3实现类
14.3.1类数据成员
14.3.2类操作——函数成员
14.3.3重载操作符
14.4其他类特性
14.4.1友元函数
14.4.2条件编译和类“包装器”
本章小结
自测题
练习题
编程题
第15章 指针和链表结构
15.1指针和间接访问
15.1.1声明和初始化指针
15.1.2基本指针操作
15.2运行时数组
15.2.1 new操作
15.2.2 delete操作
15.3链表简介
15.3.1链表是什么
15.3.2链表类
15.4 STL list〈T〉类模板
15.4.1一些list〈T〉操作
15.4.2应用:Internet网关
15.4.3算法效率
15.5指针和命令行参数
15.5.1 main函数的参数
15.5.2示例:平方根计算器
本章小结
自测题
练习题
编程题
第16章 数据结构
16.1入门示例:整数的二进制表示——栈
16.1.1问题:显示数值的二进制表示
16.1.2 stack容器
16.1.3 stack〈T〉适配器
16.1.4 stack〈T〉方法
16.2再论递归
16.3队列、双端队列和优先队列
16.3.1队列的应用
16.3.2 queue〈T〉适配器
16.3.3 deque〈T〉容器
16.3.4 priority_queue〈T〉适配器
16.4树简介
16.4.1树的术语和示例
16.4.1二叉树示例
16.4.3实现二叉树
16.4.4二叉搜索树
16.4.5树的遍历
16.4.6构造BST
16.4.7 STL中的树
本章小结
自测题
练习题
编程题
自测题答案
附录A ASCII字符编码
附录B C++关键字
附录C C++操作符
附录D 其他C++特征