像计算机科学家一样思考:C++

像计算机科学家一样思考:C++
作 者: Allen Downey
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C C++ C# VC VC++ 程序设计 计算机/网络
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者简介Allen B. Downey 是美国Olin工程学院的计算机科学副教授。他曾经在Wellesley College、Colby College和U.C. Berkeley教授计算机科学课程。他基于自己教授计算机程序设计课程的经验,开创了“像计算机科学家一样思考”(How to ThinkLike a Computer Scientist)的教学理念和方法,并由此编写了几本程序设计语言的图书。译者简介黄鑫 毕业于西安交通大学。有多年软件开发经验,对设计大型分布式系统有独到的见解。对将更多的开源项目引入Windows平台有浓厚的兴趣。目前致力于推广持续交付这一实践。夏思雨 毕业于华中科技大学和北京邮电大学。现就职于ThoughtWorks(西安)有限公司,从事软件开发。

内容简介

《像计算机科学家一样思考C++》作者基于自己在美国各所大学和学院讲授计算机程序设计课程的经验,开创了“像计算机科学家一样思考(How to Think Like a Computer Scientist)”的教学理念和方法。《像计算机科学家一样思考C++》正是基于这样的方法,用全新的角度、丰富的实例全面讲解了C++语言。全书共15章。第1章介绍了编程的基本知识,即什么是编程以及如何编程。第2章到第9章介绍了C++的基本元素与基本语法,包括变量、类型、函数、迭代、字符串、结构体等等;第10章到第15章介绍了C++的高级功能,包括Vectors、成员函数、类和不变式、文件输入输出等。《像计算机科学家一样思考C++》适合C++的初学者和初级程序员阅读,也可以作为相关专业或培训的教程使用。通过学习《像计算机科学家一样思考C++》,读者不仅可以在C++方面达到初窥门径的效果,同时对计算机编程这门技艺也会有一个全面而科学的认识。

图书目录

目 录

第1章 编程方式 1

1.1 什么是编程语言 2

1.2 什么是程序 4

1.3 什么是调试 5

1.3.1 编译时错误 5

1.3.2 运行时错误 6

1.3.3 逻辑和语义错误 6

1.3.4 实验调试 6

1.4 形式语言和自然语言 7

1.5 第一个程序 9

1.6 术语 12

第2章 变量和类型 14

2.1 输出更多 14

2.2 值 15

2.3 变量 16

2.4 赋值 17

2.5 输出变量 19

2.6 关键字 20

2.7 运算符 20

2.8 计算顺序 22

2.9 字符类型的运算符 22

2.10 组合 23

2.11 术语 24

第3章 函数 26

3.1 浮点数 26

3.2 从double转换为int 28

3.3 数学函数 28

3.4 复合表达式 30

3.5 添加新的函数 30

3.6 定义和用法 33

3.7 多函数程序 34

3.8 形参和实参 35

3.9 形参和局部变量 36

3.10 多参数函数 37

3.11 带返回值的函数 38

3.12 术语 39

第4章 条件和递归 40

4.1 模运算符 40

4.2 条件执行 40

4.3 选择执行 41

4.4 链式条件 42

4.5 嵌套条件 43

4.6 return语句 44

4.7 递归 44

4.8 无限递归 47

4.9 递归函数的调用栈图 47

4.10 术语 48

第5章 带返回值的函数 49

5.1 返回值 49

5.2 程序开发 52

5.3 复合用法 54

5.4 重载 55

5.5 布尔值 57

5.6 布尔型变量 57

5.7 逻辑操作符 58

5.8 布尔函数 59

5.9 main函数返回值 60

5.10 多重递归 61

5.11 信心的跳跃 64

5.12 更多的例子 64

5.13 术语 66

第6章 迭代 67

6.1 多次赋值 67

6.2 迭代 68

6.3 while语句 69

6.4 表格 71

6.5 二维表 74

6.6 封装和广义化 74

6.7 函数 76

6.8 更多封装 77

6.9 局部变量 77

6.10 更多广义化 78

6.11 术语 80

第7章 字符串和其他 82

7.1 字符串容器 82

7.2 apstring变量 83

7.3 字符串中的字符 83

7.4 长度 84

7.5 遍历 85

7.6 运行时错误 86

7.7 find函数 86

7.8 自定义find函数 87

7.9 循环和计数 88

7.10 递增和递减操作符 88

7.11 字符串拼接 89

7.12 apstring的可变性 91

7.13 apstrings的可比较性 91

7.14 字符分类 92

7.15 其他apstring函数 93

7.16 术语 93

第8章 结构体 95

8.1 复合值 95

8.2 Point对象 95

8.3 访问实例变量 97

8.4 操作结构体 98

8.5 将结构体作为参数 99

8.6 值传递 99

8.7 引用传递 100

8.8 矩形 102

8.9 返回结构体类型 104

8.10 将其他类型按引用传递 104

8.11 获取用户输入 105

8.12 术语 108

第9章 更多结构体 109

9.1 Time 109

9.2 printTime 110

9.3 对象函数 110

9.4 纯函数 111

9.5 const参数 113

9.6 修改器 114

9.7 填写函数 115

9.8 哪个最好 115

9.9 增量式开发VS规划 116

9.10 普遍化 117

9.11 算法 118

9.12 术语 119

第10章 vector 120

10.1 访问元素 121

10.2 复制vector 123

10.3 for循环 123

10.4 vector的长度 124

10.5 随机数 125

10.6 统计 126

10.7 随机数的vector 127

10.8 计数 128

10.9 检查其他值 129

10.10 直方图 131

10.11 单次遍历的解决方案 132

10.12 随机种子 132

10.13 术语 133

第11章 成员函数 135

11.1 对象和方法 135

11.2 print 136

11.3 隐式变量访问 138

11.4 另一个例子 139

11.5 第三个例子 140

11.6 更复杂的例子 140

11.7 结构体 141

11.8 初始化还是构造 142

11.9 最后一个例子 143

11.10 头文件 144

11.11 术语 147

第12章 包含对象的vector 149

12.1 复合形式 149

12.2 Card对象 149

12.3 printCard函数 151

12.4 equals函数 154

12.5 isGreater函数 155

12.6 包含Card对象的vector 157

12.7 printDeck函数 159

12.8 搜索 160

12.9 二分查找 161

12.10 vector和子vector 164

12.11 术语 166

第13章 向量对象 167

13.1 枚举类型 167

13.2 switch语句 169

13.3 Deck 170

13.4 另一个构造函数 172

13.5 Deck成员函数 172

13.6 洗牌 174

13.7 排序 175

13.8 subdeck 176

13.9 洗牌和处理 177

13.10 合并排序 177

13.11 术语 180

第14章 类和不变式 181

14.1 私有数据和私有类 181

14.2 什么是类 182

14.3 复数 183

14.4 访问器函数 187

14.5 输出 188

14.6 支持复数运算的函数 189

14.7 支持复数运算的其他函数 190

14.8 不变式 191

14.9 先验条件 192

14.10 私有函数 195

14.11 术语 196

第15章 文件输入/输出和apmatrix 197

15.1 流 197

15.2 文件输入 198

15.3 文件输出 200

15.4 输入解析 200

15.5 数字解析 202

15.6 Set数据结构 203

15.7 apmatrix 207

15.8 距离矩阵 209

15.9 合适的距离矩阵 210

15.10 术语 212

附录A AP类的快速参考 213