| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 论坛
 上传资源
上传编程相关的资源,源源不断赚取资源分,以备将来下载之需
ghf794785671
文件大小:84.54 MB
文件类型:pdf
发布时间:2021-08-24 21:56:11
需资源分:2
下载次数:16
Tag:C++  程序设计  第8版  pdf
::资源简介::
C++程序设计[第8版]
目录
第1章 计算机和C++编程入门
1.1 计算机系统
1.1.1 硬件
1.1.2 软件
1.1.3 高级语言
1.1.4 编译器
1.1.5 历史回顾
1.2 编程和问题求解
1.2.1 算法
1.2.2 程序设计
1.2.3 面向对象编程
1.2.4 软件生命周期
1.3 C++入门
1.3.1 C++语言的起源
1.3.2 一个C++示范程序
1.3.3 陷阱:在\n中错误地使用斜杠
1.3.4 编程提示:输入和输出语法
1.3.5 简单C++程序的布局
1.3.6 陷阱:在include的文件名前错误地添加一个空格
1.3.7 编译和运行C++程序
1.3.8 编程提示:让程序运行起来
1.4 测试和调试
1.4.1 程序错误的分类
1.4.2 陷阱:错误地假定程序正确
小结
自测题答案
编程项目
第2章 C++基础知识
2.1 变量和赋值
2.1.1 变量
2.1.2 名称:标识符
2.1.3 变量声明
2.1.4 赋值语句
2.1.5 陷阱:未初始化的变量
2.1.6 编程提示:使用有意义的名称
2.2 输入和输出
2.2.1 使用cout进行输出
2.2.2 include预编译指令和命名空间
2.2.3 转义序列
2.2.4 编程提示:用\n或endl终止每一个程序
2.2.5 格式化带小数点的数字
2.2.6 用cin进行输入
2.2.7 设计输入和输出
2.2.8 编程提示:I/O中的换行
2.3 数据类型和表达式
2.3.1 int类型和double类型
2.3.2 其他数值类型
2.3.3 char类型
2.3.4 bool类型
2.3.5 string类简介
2.3.6 类型的兼容性
2.3.7 算术操作符和表达式
2.3.8 陷阱:除法中的整数
2.3.9 更多赋值语句
2.4 简单控制流程
2.4.1 一个简单的分支机制
2.4.2 陷阱:连续的不等式
2.4.3 陷阱:在该用==的时候错用了=
2.4.4 复合语句
2.4.5 简单的循环机制
2.4.6 递增操作符和递减操作符
2.4.7 编程实例:信用卡余额
2.4.8 陷阱:无限循环
2.5 程序风格
2.5.1 缩进
2.5.2 注释
2.5.3 为常量命名
小结
自测题答案
编程项目
第3章 更多的控制流程
3.1 使用布尔表达式
3.1.1 布尔表达式求值
3.1.2 陷阱:将布尔表达式转换成int值
3.1.3 枚举类型(选读)
3.2 多路分支
3.2.1 嵌套语句
3.2.2 编程提示:在嵌套语句中使用花括号
3.2.3 多路if-else语句
3.2.4 编程实例:州收入税
3.2.5 switch语句
3.2.6 陷阱:忘记在switch语句中添加break
3.2.7 为菜单使用switch语句
3.2.8 语句块
3.2.9 陷阱:疏忽局部变量
3.3 C++循环语句详解
3.3.1 while语句回顾
3.3.2 再论递增操作符和递减操作符
3.3.3 for语句
3.3.4 陷阱:for语句中多余的分号
3.3.5 应该使用哪种循环
3.3.6 陷阱:未初始化的变量和无限循环
3.3.7 break语句
3.3.8 陷阱:嵌套循环中的break语句
3.4 设计循环
3.4.1 求和与求乘积的循环
3.4.2 终止循环
3.4.3 嵌套循环
3.4.4 调试循环
小结
自测题答案
编程项目
第4章 过程抽象和返回值的函数
4.1 自顶向下设计
4.2 预定义函数
4.2.1 使用预定义函数
4.2.2 随机数生成
4.2.3 强制类型转换
4.2.4 强制类型转换的古老形式
4.2.5 陷阱:整数除法丢弃了小数部分
4.3 程序员自定义函数
4.3.1 函数定义
4.3.2 能返回布尔值的函数
4.3.3 另一种形式的函数声明
4.3.4 陷阱:实参顺序错误
4.3.5 函数定义语法总结
4.3.6 再论函数定义的位置
4.3.7 编程提示:在分支语句中使用函数调用
4.4 过程抽象
4.4.1 黑盒的比喻
4.4.2 编程提示:选择形参名称
4.4.3 编程提示:嵌套循环
4.4.4 案例分析:购买比萨
4.4.5 编程提示:使用伪代码
4.5 局部变量
4.5.1 函数如同小程序
4.5.2 编程实例:豌豆试验田
4.5.3 全局常量和全局变量
4.5.4 传值形参是局部变量
4.5.5 块作用域
4.5.6 再论命名空间
4.5.7 编程实例:阶乘函数
4.6 重载函数名称
4.6.1 重载入门
4.6.2 编程实例;购买比萨(修订版)
4.6.3 自动类型转换
小结
自测题答案
编程项目
第5章 所有子任务的函数
5.1 void函数
5.1.1 void函数的定义
5.1.2 编程实例:温度换算
5.1.3 void函数中的return语句
5.2 传引用形参
5.2.1 初探传引用调用
5.2.2 传引用调用详解
5.2.3 编程实例:swap_values函数
5.2.4 混合的参数列表
5.2.5 编程提示:应该使用哪种参数
5.2.6 陷阱:疏忽造成的局部变量
5.3 使用过程抽象
5.3.1 函数调用函数
5.3.2 前条件和后条件
5.3.3 案例分析:超市定价系统
5.4 测试和调试函数 192存根和驱动程序
5.5 常规调试技术
5.5.1 不抱成见
5.5.2 检查常见错误
5.5.3 定位错误
5.5.4 assert宏
小结
自测题答案
编程项目
第6章 I/O流——对象和类入门
6.1 流和基本文件I/O
6.1.1 文件之于I/O的重要性
6.1.2 文件I/O
6.1.3 类与对象入门
6.1.4 编程提示:检查文件是否成功打开
6.1.5 文件I/O技术
6.1.6 追加到文件(选读)
6.1.7 文件名作为输入(选读)
6.2 流I/O工具
6.2.1 用流函数格式化输出
6.2.2 操纵元
6.2.3 流作为函数实参
6.2.4 编程提示:检查文件尾
6.2.5 命名空间的问题
6.2.6 编程实例:整理文件格式
6.3 字符I/O
6.3.1 get和put成员函数
6.3.2 putback成员函数(选读)
6.3.3 编程实例:检查输入
6.3.4 陷阱:输入中不期而遇的'\n'
6.3.5 编程实例:另一个new_line函数
6.3.6 函数的默认实参(选读)
6.3.7 eof成员函数
6.3.8 编程实例:编辑文本文件
6.3.9 预定义字符函数
6.3.10 陷阱:toupper和tolower返回值
小结
自测题答案
编程项目
第7章 数组
7.1 数组入门
7.1.1 声明和引用数组
7.1.2 编程提示:为数组使用for循环
7.1.3 陷阱:数组索引总是从零开始
7.1.4 编程提示:为数组长度使用一个已定义常量
7.1.5 数组在内存中的表示
7.1.6 陷阱:数组索引越界
7.1.7 初始化数组
7.2 函数中的数组
7.2.1 索引变量作为函数参数
7.2.2 整个数组作为函数参数
7.2.3 const参数修饰符
7.2.4 陷阱:使用const参数修饰符的使用不一致
7.2.5 返回数组的函数
7.2.6 案例分析:产量图
7.3 数组编程
7.3.1 部分填充数组
7.3.2 编程提示:不要吝啬形参
7.3.3 编程实例:搜索数组
7.3.4 编程实例:数组排序
7.4 多 维 数 组
7.4.1 多维数组基础
7.4.2 多维数组参数
7.4.3 编程实例:二维打分程序
7.4.4 陷阱:在数组索引之间使用逗号
小结
自测题答案
编程项目
第8章 字符串和向量
8.1 字符串的数组类型
8.1.1 C字符串值和C字符串变量
8.1.2 陷阱:为C字符串使用=和==
8.1.3 <cstring>中的其他函数
8.1.4 C字符串输入和输出
8.1.5 C字符串到数值的转换和可靠输入
8.2 标准string类
8.2.1 标准类string简介
8.2.2 string类的I/O
8.2.3 编程提示:getline的其他版本
8.2.4 陷阱:混合使用“cin >> 变量;”和getline
8.2.5 用string类进行字符串处理
8.2.6 编程实例:回文测试
8.2.7 string对象和C字符串之间的转换
8.3 向量
8.3.1 向量基础知识
8.3.2 陷阱:使用方括号时超出向量长度
8.3.3 编程提示:向量赋值具有良好行为
8.3.4 效率问题
小结
自测题答案
编程项目
第9章 指针和动态数组
9.1 指针
9.1.1 指针变量
9.1.2 基本内存管理
9.1.3 陷阱:虚悬指针
9.1.4 静态变量和自动变量
9.1.5 编程提示:定义指针类型
9.2 动态数组
9.2.1 数组变量和指针变量
9.2.2 创建和使用动态数组
9.2.3 指针运算(选读)
9.2.4 多维动态数组(选读)
小结
自测题答案
编程项目
第10章 定义类
10.1 结构
10.1.1 用于异种数据的结构
10.1.2 陷阱:结构定义中忘记添加分号
10.1.3 结构作为函数参数
10.1.4 编程提示:使用层次化结构
10.1.5 对结构进行初始化
10.2 类
10.2.1 定义类和成员函数
10.2.2 公共成员和私有成员
10.2.3 编程提示:将所有成员变量设为私有
10.2.4 编程提示:定义取值函数和赋值函数
10.2.5 编程提示:将赋值操作符用于对象
10.2.6 编程实例:BankAccount类(版本1)
10.2.7 总结类的一些特征
10.2.8 用于初始化的构造函数
10.2.9 编程提示:总是包括默认构造函数
10.2.10 陷阱:无参数构造函数
10.3 抽象数据类型
10.3.1 用于生成抽象数据类型的类
10.3.2 编程实例:类的另一种实现
10.4 继承
10.4.1 派生类
10.4.2 定义派生类
小结
自测题答案
编程项目
第11章 类中的友元函数、重载操作符和数组
11.1 友元函数
11.1.1 编程实例:一个相等性函数
11.1.2 友元函数
11.1.3 编程提示:定义取值函数和友元函数
11.1.4 编程提示:同时使用成员函数和非成员函数
11.1.5 编程实例:Money类(版本1)
11.1.6 实现digit_to_int(选读)
11.1.7 陷阱:数字常量中的前置零
11.1.8 const参数修饰符
11.1.9 陷阱:修饰符const的用法不一致
11.2 重载操作符
11.2.1 重载操作符
11.2.2 用于自动类型转换的构造函数
11.2.3 重载一元操作符
11.2.4 重载>>和<<
11.3 数组和类
11.3.1 类数组
11.3.2 数组作为类成员
11.3.3 编程实例:用于部分填充数组的类
11.4 类和动态数组
11.4.1 编程实例:字符串变量类
11.4.2 析构函数
11.4.3 陷阱:指针作为传值参数
11.4.4 拷贝构造函数
11.4.5 重载赋值操作符
小结
自测题答案
编程项目
第12章 独立编译和命名空间
12.1 独立编译
12.1.1 ADT回顾
12.1.2 案例分析:独立编译的DigitalTime类
12.1.3 使用#ifndef
12.1.4 编程提示:定义其他库
12.2 命名空间
12.2.1 命名空间和using预编译指令
12.2.2 创建命名空间
12.2.3 限定名称
12.2.4 命名空间的微妙之处(选读)
12.2.5 无名命名空间
12.2.6 编程提示:为命名空间选择名称
12.2.7 陷阱:混淆全局命名空间和无名命名空间
小结
自测题答案
编程项目
第13章 指针和链表
13.1 节点和链表
13.1.1 节点
13.1.2 链表
13.1.3 在表头插入节点
13.1.4 陷阱:丢失节点
13.1.5 搜索链表
13.1.6 指针作为迭代器
13.1.7 在列表中插入和删除节点
13.1.8 陷阱:为动态数据结构使用赋值操作符
13.1.9 链表的变体
13.1.10 类构成的链表
13.2 栈和队列
13.2.1 栈
13.2.2 编程实例:栈类
13.2.3 队列
13.2.4 编程实例:队列类
小结
自测题答案
编程项目
第14章 递归
14.1 面向任务的递归函数
14.1.1 案例分析:垂直数字
14.1.2 深入递归
14.1.3 陷阱:无穷递归
14.1.4 用于递归的栈
14.1.5 陷阱:栈溢出
14.1.6 递归与迭代
14.2 面向值的递归函数
14.2.1 要返回值的递归函数的常规形式
14.2.2 编程实例:另一个求乘方函数
14.3 递归思想
14.3.1 递归设计技术
14.3.2 案例分析:二叉搜索(递归思想示例)
14.3.3 编程实例:递归成员函数
小结
自测题答案
编程项目
第15章 继承
15.1 继承基础
15.1.1 派生类
15.1.2 派生类中的构造函数
15.1.3 陷阱:使用来自基类的私有成员变量
15.1.4 陷阱:私有成员函数不会继承
15.1.5 protected限定符
15.1.6 重定义成员函数
15.1.7 重定义与重载的比较
15.1.8 访问重定义的基函数
15.2 继承细节
15.2.1 不继承的函数
15.2.2 派生类中的赋值操作符和拷贝构造函数
15.2.3 派生类中的析构函数
15.3 多态性
15.3.1 晚期绑定
15.3.2 C++虚函数
15.3.3 虚函数和扩展类型兼容性
15.3.4 陷阱:切割问题
15.3.5 陷阱:不使用虚成员函数
15.3.6 陷阱:试图对虚成员函数定义不齐全的类进行编译
15.3.7 编程提示:使析构函数成为虚函数
小结
自测题答案
编程项目
第16章 异常处理
16.1 异常处理基础
16.1.1 异常处理的简单例子
16.1.2 定义自己的异常类
16.1.3 多个throw块和catch块
16.1.4 陷阱:首先捕捉较具体的异常
16.1.5 编程提示:异常类可能很简单
16.1.6 在函数中抛出异常
16.1.7 异常规范
16.1.8 陷阱:派生类中的异常规范
16.2 用于异常处理的编程技术
16.2.1 抛出异常的时机
16.2.2 陷阱:未捕捉的异常
16.2.3 陷阱:嵌套try-catch块
16.2.4 陷阱:滥用异常
16.2.5 异常类层次结构
16.2.6 测试可用内存
16.2.7 重新抛出异常
小结
自测题答案
编程项目
第17章 模板
17.1 用于算法抽象的模板
17.1.1 函数模板
17.1.2 陷阱:编译器的复杂性
17.1.3 编程实例:泛化排序函数
17.1.4 编程提示:如何定义模板
17.1.5 陷阱:为不恰当的类型使用模板
17.2 用于数据抽象的模板
17.2.1 类模板的语法
17.2.2 编程实例:数组类
小结
自测题答案
编程项目
第18章 标准模板库
18.1 迭代器
18.1.1 using声明
18.1.2 迭代器的基础知识
18.1.3 陷阱:编译器问题
18.1.4 迭代器的种类
18.1.5 常量和可变迭代器
18.1.6 逆向迭代器
18.1.7 其他种类的迭代器
18.2 容器
18.2.1 顺序容器
18.2.2 陷阱:迭代器和删除元素
18.2.3 编程提示:容器中的类型定义
18.2.4 容器配接器stack和queue
18.2.5 关联容器set和map
18.2.6 效率问题
18.3 泛型算法
18.3.1 运行时间和大O表示法
18.3.2 容器访问运行时间
18.3.3 不修改容器的算法
18.3.4 会修改容器的算法
18.3.5 set算法
18.3.6 排序算法
小结
自测题答案
编程项目
附录1 C++关键字
附录2 操作符的优先级
附录3 ASCII字符集
附录4 部分库函数
附录5 内联函数
附录6 重载数组索引方括号
附录7 this指针
::下载地址::

BCCN本地下载 
开通VIP
可免资源分下载所有资源
::下载本资源的人也下载了::
::作者其它资源::
 
>> 评论
 
热门Tag:
 
编程中国 版权所有,并保留所有权利。
Powered by BCCN 1.020, Processed in 0.013327 second(s)
Copyright©2010-2024, BCCN.NET, All Rights Reserved