注重体验与质量的电子书资源下载网站
分类于: 人工智能 云计算&大数据
简介
C++程序设计(原理与实践基础篇原书第2版)/计算机科学丛书: 原理与实践(基础篇) 豆 0.0分
资源最后更新于 2020-11-25 04:17:35
作者:[美] Bjarne Stroustrup
译者:任明明
出版社:机械工业出版社
出版日期:2017-01
ISBN:9787111562252
文件格式: pdf
标签: C++ 计算机 C/C++ 编程 程序设计 计算机科学 *C++ 计算机/互联网
简介· · · · · ·
C++之父BjarneStroustrup的经典著作《C++程序设计:原理与实践(原书第2版)》基于新的C++11和C++14,广泛地介绍了程序设计的基本概念和技术,包括类型系统、算术运算、控制结构、错误处理等;介绍了从键盘和文件获取数值和文本数据的方法以及以图形化方式表示数值数据、文本和几何图形;介绍了C++标准库中的容器(如向量、列表、映射)和算法(如排序、查找和内积)的设计和使用。同时还对C++思想和历史进行了详细的讨论,很好地拓宽了读者的视野。为方便读者循序渐进地学习,加上篇幅所限,《C++程序设计:原理与实践(原书第2版)》分为基础篇和进阶篇两册出版,基础篇包括第1~11章、第17~19章和附录A、C,进阶篇包括第12~16章、第20~27章和附录B、D、E。本书是基础篇。本书通俗易懂、实例丰富,可作为大学计算机、电子工程、信息科学等相关专...
目录
出版者的话
译者序
前言
引言
作者简介
第1章计算机、人与程序设计
1.1简介
1.2软件
1.3人
1.4计算机科学
1.5计算机已无处不在
1.5.1有屏幕和无屏幕
1.5.2船舶
1.5.3电信
1.5.4医疗
1.5.5信息领域
1.5.6一种垂直的视角
1.5.7与C++程序设计有何联系
1.6程序员的理想境界
思考题
术语
习题
附言
第2章Hello,World!
2.1程序
2.2经典的第一个程序
2.3编译
2.4链接
2.5编程环境
简单练习
思考题
术语
习题
附言
第3章对象、类型和值
3.1输入
3.2变量
3.3输入和类型
3.4运算和运算符
3.5赋值和初始化
3.5.1实例:检测重复单词
3.6复合赋值运算符
3.6.1实例:重复单词计数
3.7命名
3.8类型和对象
3.9类型安全
3.9.1安全转换
3.9.2不安全转换
简单练习
思考题
术语
习题
附言
第4章计算
4.1简介
4.2目标和工具
4.3表达式
4.3.1常量表达式
4.3.2运算符
4.3.3类型转换
4.4语句
4.4.1选择语句
4.4.2循环语句
4.5函数
4.5.1为什么使用函数
4.5.2函数声明
4.6VeCtor
4.6.1遍历一个vector
4.6.2vector空间增长
4.6.3一个数值计算实例
4.6.4一个文本实例
4.7语言特性
简单练习
思考题
术语
习题
附言
第5章错误
5.1简介
5.2错误的来源
5.3编译时错误
5.3.1语法错误
5.3.2类型错误
5.3.3警告
5.4链接时错误
5.5运行时错误
5.5.1调用者处理错误
5.5.2被调用者处理错误
5.5.3报告错误
5.6异常
5.6.1参数错误
5.6.2范围错误
5.6.3输入错误
5.6.4窄化错误
5.7逻辑错误
5.8估计
5.9调试
5.9.1实用调试建议
5.10前置条件和后置条件
5.10.1后置条件
5.11测试
简单练习
思考题
术语
习题
附言
第6章编写一个程序
6.1一个问题
6.2对问题的思考
6.2.1程序设计的几个阶段
6.2.2策略
6.3回到计算器问题
6.3.1第一步尝试
6.3.2单词
6.3.3实现单词
6.3.4使用单词
6.3.5重新开始
6.4文法
6.4.1英文文法
6.4.2设计一个文法
6.5将文法转换为程序
6.5.1实现文法规则
6.5.2表达式
6.5.3项
6.5.4基本表达式
6.6试验第一个版本
6.7试验第二个版本
6.8单词流
6.8.1实现Tbken—stream
6.8.2读单词
6.8.3读数值
6.9程序结构
简单练习
思考题
术语
习题
附言
第7章完成一个程序
7.1简介
7.2输入和输出
7.3错误处理
7.4处理负数
7.5模运算%
7.6清理代码
7.6.1符号常量
7.6.2使用函数
7.6.3代码布局
7.6.4注释
7.7错误恢复
7.8变量
7.8.1变量和定义
7.8.2引入name单词
7.8.3预定义名字
7.8.4我们到达目的地了吗
简单练习
思考题
术语
习题
附言
第8章函数相关的技术细节
8.1技术细节
8.2声明和定义
8.2.1声明的类别
8.2.2变量和常量声明
8.2.3默认初始化
8.3头文件
8.4作用域
8.5函数调用和返回
8.5.1声明参数和返回类型
8.5.2返回一个值
8.5.3传值
8.5.4传常量引用
8.5.5传引用
8.5.6传值与传引用的对比
8.5.7参数检查和转换
8.5.8实现函数调用
8.5.9constexpr函数
8.6计算顺序
8.6.1表达式计算
8.6.2全局初始化
8.7名字空间
8.7.1using声明和using指令
简单练习
思考题
术语
习题
附言
第9章类相关的技术细节
9.1用户白定义类型
9.2类和成员
9.3接口和实现
9.4演化一个类
9.4.1结构和函数
9.4.2成员函数和构造函数
9.4.3保持细节私有性
9.4.4定义成员函数
9.4.5引用当前对象
9.4.6报告错误
9.5枚举类型
9.5.1“平坦”枚举
9.6运算符重载
9.7类接口
9.7.1参数类型
9.7.2拷贝
9.7.3默认构造函数
9.7.4const成员函数
9.7.5类成员和“辅助函数”
9.8Date类
简单练习
思考题
术语
习题
附言
第10章输入输出流
10.1输入和输出
10.2I/O流模型
10.3文件
10.4打开文件
10.5读写文件
10.6I/O错误处理
10.7读取单个值
10.7.1将程序分解为易管理的子模块
10.7.2将人机对话从函数中分离
10.8用户自定义输出运算符
10.9用户自定义输入运算符
10.10一个标准的输入循环
10.11读取结构化的文件
10.11.1在内存中的表示
10.11.2读取结构化的值
10.11.3改变表示方法
练习
思考题
术语
习题
附言
第11章定制输入输出
11.1有规律的与无规律的输入和输出
11.2格式化输出
11.2.1输出整数
11.2.2输入整数
11.2.3输出浮点数
11.2.4精度
11.2.5域
11.3打开和定位文件
11.3.1文件打开模式
11.3.2二进制文件
11.3.3在文件中定位
11.4字符串流
11.5面向行的输入
11.6字符分类
11.7使用非标准分隔符
11.8更多未讨论内容
简单练习
思考题
术语
习题
附言
第12章向量和自由空间
12.1简介
12.2vector的基本知识
12.3内存、地址和指针
12.3.1sizeof运算符
12.4自由空间和指针
12.4.1自由空间分配
12.4.2通过指针访问数据
12.4.3指针范围
12.4.4初始化
12.4.5空指针
12.4.6自由空间释放
12.5析构函数
12.5.1生成的析构函数
12.5.2析构函数和自由空间
12.6访问元素
12.7指向类对象的指针
12.8类型混用:void*和类犁转换
12.9指针和引用
12.9.1指针参数和引用参数
12.9.2指针、引用和继承
12.9.3实例:链表
12.9.4链表操作
12.9.5链表的使用
12.10this指针
12.10.1关于链表使用的更多讨论
简单练习
思考题
术语
习题
附言
第13章向量和数组
13.1简介
13.2初始化
13.3拷贝
13.3.1拷贝构造函数
13.3.2拷贝赋值
13.3.3拷贝术语
13.3.4移动
13.4必要的操作
13.4.1显式构造函数
13.4.2调试构造函数和析构函数
13.5访问vector元素
13.5.1对const向量重载运算符
13.6数组
13.6.1指向数组元素的指针
13.6.2指针和数组
13.6.3数组初始化
13.6.4指针问题
13.7实例:回文
13.7.1使用string实现回文
13.7.2使用数组实现回文
13.7.3使用指针实现回文
简单练习
思考题
术语
习题
附言
第14章向量、模板和异常
14.1问题
14.2改变大小
14.2.1表示方式
14.2.2reserve和capaclty
14.2.3resize
14.2.4push_back
14.2.5赋值
14.2.6到目前为止的vector类
14.3模板
14.3.1类型作为模板参数
14.3.2泛型编程
14.3.3概念
14.3.4容器和继承
14.3.5整数作为模板参数
14.3.6模板实参推断
14.3.7泛化vector
14.4范围检查和异常
14.4.1旁白:设计上的考虑
14.4.2坦白:使用宏
14.5资源和异常
14.5.1潜在的资源管理问题
14.5.2资源获取即初始化
14.5.3保证
14.5.4unique_ptr
14.5.5以移动方式返回结果
14.5.6vector类的RAⅡ
简单练习
思考题
术语
习题
附言
附录AC++语言概要
附录BVisual Studio简要入门教程
术语表
参考文献
译者序
前言
引言
作者简介
第1章计算机、人与程序设计
1.1简介
1.2软件
1.3人
1.4计算机科学
1.5计算机已无处不在
1.5.1有屏幕和无屏幕
1.5.2船舶
1.5.3电信
1.5.4医疗
1.5.5信息领域
1.5.6一种垂直的视角
1.5.7与C++程序设计有何联系
1.6程序员的理想境界
思考题
术语
习题
附言
第2章Hello,World!
2.1程序
2.2经典的第一个程序
2.3编译
2.4链接
2.5编程环境
简单练习
思考题
术语
习题
附言
第3章对象、类型和值
3.1输入
3.2变量
3.3输入和类型
3.4运算和运算符
3.5赋值和初始化
3.5.1实例:检测重复单词
3.6复合赋值运算符
3.6.1实例:重复单词计数
3.7命名
3.8类型和对象
3.9类型安全
3.9.1安全转换
3.9.2不安全转换
简单练习
思考题
术语
习题
附言
第4章计算
4.1简介
4.2目标和工具
4.3表达式
4.3.1常量表达式
4.3.2运算符
4.3.3类型转换
4.4语句
4.4.1选择语句
4.4.2循环语句
4.5函数
4.5.1为什么使用函数
4.5.2函数声明
4.6VeCtor
4.6.1遍历一个vector
4.6.2vector空间增长
4.6.3一个数值计算实例
4.6.4一个文本实例
4.7语言特性
简单练习
思考题
术语
习题
附言
第5章错误
5.1简介
5.2错误的来源
5.3编译时错误
5.3.1语法错误
5.3.2类型错误
5.3.3警告
5.4链接时错误
5.5运行时错误
5.5.1调用者处理错误
5.5.2被调用者处理错误
5.5.3报告错误
5.6异常
5.6.1参数错误
5.6.2范围错误
5.6.3输入错误
5.6.4窄化错误
5.7逻辑错误
5.8估计
5.9调试
5.9.1实用调试建议
5.10前置条件和后置条件
5.10.1后置条件
5.11测试
简单练习
思考题
术语
习题
附言
第6章编写一个程序
6.1一个问题
6.2对问题的思考
6.2.1程序设计的几个阶段
6.2.2策略
6.3回到计算器问题
6.3.1第一步尝试
6.3.2单词
6.3.3实现单词
6.3.4使用单词
6.3.5重新开始
6.4文法
6.4.1英文文法
6.4.2设计一个文法
6.5将文法转换为程序
6.5.1实现文法规则
6.5.2表达式
6.5.3项
6.5.4基本表达式
6.6试验第一个版本
6.7试验第二个版本
6.8单词流
6.8.1实现Tbken—stream
6.8.2读单词
6.8.3读数值
6.9程序结构
简单练习
思考题
术语
习题
附言
第7章完成一个程序
7.1简介
7.2输入和输出
7.3错误处理
7.4处理负数
7.5模运算%
7.6清理代码
7.6.1符号常量
7.6.2使用函数
7.6.3代码布局
7.6.4注释
7.7错误恢复
7.8变量
7.8.1变量和定义
7.8.2引入name单词
7.8.3预定义名字
7.8.4我们到达目的地了吗
简单练习
思考题
术语
习题
附言
第8章函数相关的技术细节
8.1技术细节
8.2声明和定义
8.2.1声明的类别
8.2.2变量和常量声明
8.2.3默认初始化
8.3头文件
8.4作用域
8.5函数调用和返回
8.5.1声明参数和返回类型
8.5.2返回一个值
8.5.3传值
8.5.4传常量引用
8.5.5传引用
8.5.6传值与传引用的对比
8.5.7参数检查和转换
8.5.8实现函数调用
8.5.9constexpr函数
8.6计算顺序
8.6.1表达式计算
8.6.2全局初始化
8.7名字空间
8.7.1using声明和using指令
简单练习
思考题
术语
习题
附言
第9章类相关的技术细节
9.1用户白定义类型
9.2类和成员
9.3接口和实现
9.4演化一个类
9.4.1结构和函数
9.4.2成员函数和构造函数
9.4.3保持细节私有性
9.4.4定义成员函数
9.4.5引用当前对象
9.4.6报告错误
9.5枚举类型
9.5.1“平坦”枚举
9.6运算符重载
9.7类接口
9.7.1参数类型
9.7.2拷贝
9.7.3默认构造函数
9.7.4const成员函数
9.7.5类成员和“辅助函数”
9.8Date类
简单练习
思考题
术语
习题
附言
第10章输入输出流
10.1输入和输出
10.2I/O流模型
10.3文件
10.4打开文件
10.5读写文件
10.6I/O错误处理
10.7读取单个值
10.7.1将程序分解为易管理的子模块
10.7.2将人机对话从函数中分离
10.8用户自定义输出运算符
10.9用户自定义输入运算符
10.10一个标准的输入循环
10.11读取结构化的文件
10.11.1在内存中的表示
10.11.2读取结构化的值
10.11.3改变表示方法
练习
思考题
术语
习题
附言
第11章定制输入输出
11.1有规律的与无规律的输入和输出
11.2格式化输出
11.2.1输出整数
11.2.2输入整数
11.2.3输出浮点数
11.2.4精度
11.2.5域
11.3打开和定位文件
11.3.1文件打开模式
11.3.2二进制文件
11.3.3在文件中定位
11.4字符串流
11.5面向行的输入
11.6字符分类
11.7使用非标准分隔符
11.8更多未讨论内容
简单练习
思考题
术语
习题
附言
第12章向量和自由空间
12.1简介
12.2vector的基本知识
12.3内存、地址和指针
12.3.1sizeof运算符
12.4自由空间和指针
12.4.1自由空间分配
12.4.2通过指针访问数据
12.4.3指针范围
12.4.4初始化
12.4.5空指针
12.4.6自由空间释放
12.5析构函数
12.5.1生成的析构函数
12.5.2析构函数和自由空间
12.6访问元素
12.7指向类对象的指针
12.8类型混用:void*和类犁转换
12.9指针和引用
12.9.1指针参数和引用参数
12.9.2指针、引用和继承
12.9.3实例:链表
12.9.4链表操作
12.9.5链表的使用
12.10this指针
12.10.1关于链表使用的更多讨论
简单练习
思考题
术语
习题
附言
第13章向量和数组
13.1简介
13.2初始化
13.3拷贝
13.3.1拷贝构造函数
13.3.2拷贝赋值
13.3.3拷贝术语
13.3.4移动
13.4必要的操作
13.4.1显式构造函数
13.4.2调试构造函数和析构函数
13.5访问vector元素
13.5.1对const向量重载运算符
13.6数组
13.6.1指向数组元素的指针
13.6.2指针和数组
13.6.3数组初始化
13.6.4指针问题
13.7实例:回文
13.7.1使用string实现回文
13.7.2使用数组实现回文
13.7.3使用指针实现回文
简单练习
思考题
术语
习题
附言
第14章向量、模板和异常
14.1问题
14.2改变大小
14.2.1表示方式
14.2.2reserve和capaclty
14.2.3resize
14.2.4push_back
14.2.5赋值
14.2.6到目前为止的vector类
14.3模板
14.3.1类型作为模板参数
14.3.2泛型编程
14.3.3概念
14.3.4容器和继承
14.3.5整数作为模板参数
14.3.6模板实参推断
14.3.7泛化vector
14.4范围检查和异常
14.4.1旁白:设计上的考虑
14.4.2坦白:使用宏
14.5资源和异常
14.5.1潜在的资源管理问题
14.5.2资源获取即初始化
14.5.3保证
14.5.4unique_ptr
14.5.5以移动方式返回结果
14.5.6vector类的RAⅡ
简单练习
思考题
术语
习题
附言
附录AC++语言概要
附录BVisual Studio简要入门教程
术语表
参考文献