欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

C++程序设计 原理与实践 基础篇 原书第2版 (美)本贾尼 斯特劳斯特鲁普(Bjarne Stroustrup)著 2017年版

收藏
  • 大小:86.6 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
C++程序设计 原理与实践 基础篇 原书第2版
作者: (美)本贾尼 斯特劳斯特鲁普(Bjarne Stroustrup)著
出版时间:2017年版
丛编项: 计算机科学丛书
内容简介
  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 简介 1
1.2 软件 1
1.3 人 3
1.4 计算机科学 5
1.5 计算机已无处不在 6
1.5.1 有屏幕和无屏幕 6
1.5.2 船舶 6
1.5.3 电信 7
1.5.4 医疗 9
1.5.5 信息领域 10
1.5.6 一种垂直的视角 11
1.5.7 与C++程序设计有何联系 12
1.6 程序员的理想境界 12
思考题 14
术语 15
习题 15
附言 16
第2章 Hello, World! 17
2.1 程序 17
2.2 经典的第一个程序 17
2.3 编译 20
2.4 链接 22
2.5 编程环境 22
简单练习 23
思考题 24
术语 25
习题 25
附言 26
第3章 对象、类型和值 27
3.1 输入 27
3.2 变量 28
3.3 输入和类型 29
3.4 运算和运算符 31
3.5 赋值和初始化 33
3.5.1 实例:检测重复单词 34
3.6 复合赋值运算符 36
3.6.1 实例:重复单词计数 36
3.7 命名 37
3.8 类型和对象 39
3.9 类型安全 40
3.9.1 安全转换 40
3.9.2 不安全转换 41
简单练习 43
思考题 44
术语 45
习题 45
附言 46
第4章 计算 47
4.1 简介 47
4.2 目标和工具 48
4.3 表达式 50
4.3.1 常量表达式 51
4.3.2 运算符 52
4.3.3 类型转换 53
4.4 语句 54
4.4.1 选择语句 55
4.4.2 循环语句 59
4.5 函数 62
4.5.1 为什么使用函数 64
4.5.2 函数声明 65
4.6 vector 65
4.6.1 遍历一个vector 66
4.6.2 vector空间增长 67
4.6.3 一个数值计算实例 67
4.6.4 一个文本实例 69
4.7 语言特性 70
简单练习 71
思考题 71
术语 72
习题 72
附言 74
第5章 错误 75
5.1 简介 75
5.2 错误的来源 76
5.3 编译时错误 77
5.3.1 语法错误 77
5.3.2 类型错误 78
5.3.3 警告 78
5.4 链接时错误 79
5.5 运行时错误 79
5.5.1 调用者处理错误 80
5.5.2 被调用者处理错误 81
5.5.3 报告错误 82
5.6 异常 83
5.6.1 参数错误 84
5.6.2 范围错误 85
5.6.3 输入错误 86
5.6.4 窄化错误 88
5.7 逻辑错误 89
5.8 估计 91
5.9 调试 92
5.9.1 实用调试建议 93
5.10 前置条件和后置条件 95
5.10.1 后置条件 97
5.11 测试 98
简单练习 98
思考题 99
术语 100
习题 100
附言 102
第6章 编写一个程序 103
6.1 一个问题 103
6.2 对问题的思考 103
6.2.1 程序设计的几个阶段 104
6.2.2 策略 104
6.3 回到计算器问题 106
6.3.1 第一步尝试 106
6.3.2 单词 108
6.3.3 实现单词 109
6.3.4 使用单词 110
6.3.5 重新开始 111
6.4 文法 112
6.4.1 英文文法 116
6.4.2 设计一个文法 117
6.5 将文法转换为程序 117
6.5.1 实现文法规则 118
6.5.2 表达式 118
6.5.3 项 121
6.5.4 基本表达式 123
6.6 试验第一个版本 123
6.7 试验第二个版本 126
6.8 单词流 128
6.8.1 实现Token_stream 129
6.8.2 读单词 130
6.8.3 读数值 131
6.9 程序结构 131
简单练习 133
思考题 133
术语 134
习题 134
附言 135
第7章 完成一个程序 136
7.1 简介 136
7.2 输入和输出 136
7.3 错误处理 138
7.4 处理负数 141
7.5 模运算% 142
7.6 清理代码 143
7.6.1 符号常量 143
7.6.2 使用函数 145
7.6.3 代码布局 145
7.6.4 注释 146
7.7 错误恢复 148
7.8 变量 150
7.8.1 变量和定义 150
7.8.2 引入name单词 154
7.8.3 预定义名字 156
7.8.4 我们到达目的地了吗 156
简单练习 157
思考题 157
术语 158
习题 158
附言 159
第8章 函数相关的技术细节 160
8.1 技术细节 160
8.2 声明和定义 161
8.2.1 声明的类别 164
8.2.2 变量和常量声明 164
8.2.3 默认初始化 165
8.3 头文件 165
8.4 作用域 167
8.5 函数调用和返回 171
8.5.1 声明参数和返回类型 171
8.5.2 返回一个值 172
8.5.3 传值 173
8.5.4 传常量引用 174
8.5.5 传引用 176
8.5.6 传值与传引用的对比 178
8.5.7 参数检查和转换 179
8.5.8 实现函数调用 180
8.5.9 constexpr函数 183
8.6 计算顺序 184
8.6.1 表达式计算 185
8.6.2 全局初始化 186
8.7 名字空间 187
8.7.1 using声明和using指令 188
简单练习 189
思考题 190
术语 191
习题 191
附言 192
第9章 类相关的技术细节 193
9.1 用户自定义类型 193
9.2 类和成员 194
9.3 接口和实现 194
9.4 演化一个类 196
9.4.1 结构和函数 196
9.4.2 成员函数和构造函数 197
9.4.3 保持细节私有性 199
9.4.4 定义成员函数 200
9.4.5 引用当前对象 202
9.4.6 报告错误 202
9.5 枚举类型 203
9.5.1 “平坦”枚举 205
9.6 运算符重载 205
9.7 类接口 206
9.7.1 参数类型 207
下载地址