《C++简明教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Brian Overland著;周靖,范文斌,王毅译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2005
  • ISBN:7302110816
  • 页数:342 页
图书介绍:本书深入C++的核心,通过深入浅出、通俗易懂的语言,丰富的范例,清楚的解释,大量练习,全方位地讨论了C++的关键主题(从一般的编程概念和技术到C++的具体特性)。通过本书的阅读,读者可迅速掌握C++编程。全书共17章,6个附录。本书适合高等院校的“程序设计”课程使用,也可供打算涉足程序设计领域的读者自学。

目录 1

第1章 第一个C++程序 1

1.1 像程序员那样思考 1

1.1.1 计算机只做你要求它做的事情 1

1.1.2 确定程序有何用途 1

1.1.3 写出等价的C++语句 2

1.1.4 一些重要定义 3

1.2 C++有何特点 5

1.3.1 输入程序语句 6

1.3 生成C++程序 6

1.3.2 生成程序(编译并链接) 7

1.3.3 测试程序 8

1.3.4 根据需要进行修订 8

1.4 安装C++编译器 9

1.5 示例1.1打印一条消息 9

1.5.1 如果使用RHIDE环境 9

1.5.2 如果使用Microsoft Visual Studio 10

1.5.3 幕后玄机 11

1.7 示例1.2:多行打印 13

1.6 换到下一行 13

1.7.1 幕后玄机 14

1.8 保存数据:C++变量 15

1.9 数据类型入门 16

1.10 示例1.3:温度转换 18

1.10.1 幕后玄机 19

1.10.2 优化的版本 21

1.11 变量名和关键字 22

1.12 小结 23

2.1 数据类型 25

第2章 决策,决策 25

2.2 在程序中进行决策 28

2.3 if和if-else 28

2.4 示例2.1:是奇数还是偶数 31

2.4.1 幕后玄机 31

2.4.2 优化代码 32

2.5 循环入门 33

2.6.1 幕后玄机 36

2.6 示例2.2:打印1~N 36

2.7 C++中的真和假 37

2.8 递增操作符(++) 38

2.9 语句和表达式 39

2.10 布尔(短路)逻辑入门 40

2.11 示例2.3:测试一个人的年龄 42

2.11.1 幕后玄机 42

2.12 math库入门 43

2.13 示例2.4:质数测试 43

2.13.1 幕后玄机 44

2.13.2 优化程序 45

2.14 小结 46

第3章 好用的、全功能的for语句 48

3.1 用于计数的循环 48

3.2 for循环入门 49

3.3 大量例子 50

3.4 示例3.1:用for循环来打印1~N 51

3.4.1 幕后玄机 52

3.6 动态声明循环变量 53

3.5 for的语句块 53

3.7 示例3.2:使用for执行质数测试 54

3.7.1 幕后玄机 55

3.8 for语句基础 57

3.9 小结 57

第4章 函数 59

4.1 函数的概念 59

4.2 函数调用和程序流程 60

4.3 函数使用基础知识 61

4.3.2 步骤2:定义函数 62

4.3.1 步骤1:声明函数 62

4.3.3 步骤3:调用函数 63

4.4 示例4.1:triangle数函数 64

4.4.1 幕后玄机 65

4.4.2 优化程序 66

4.5 示例4.2:质数函数 67

4.5.1 幕后玄机 68

4.6 局部变量和全局变量 70

4.7 递归函数 71

4.8 示例4.3:最大公因数 72

4.8.1 幕后玄机 74

4.9 示例4.4:素因子分解 75

4.9.1 幕后玄机 76

4.10 示例4.5:随机数生成器 79

4.10.1 幕后玄机 80

4.11 小结 81

5.1 C++数组入门 83

第5章 数组 83

5.2 初始化数组 84

5.3 基于零的索引 85

5.4 示例5.1:打印元素 86

5.4.1 幕后玄机 86

5.5 示例5.2:真的随机吗 87

5.5.1 幕后玄机 89

5.6 字符串和字符串数组 91

5.7 示例5.3:发牌程序#1 92

5.7.1 幕后玄机 93

5.8 示例5.4:发牌程序#2 94

5.8.1 幕后玄机 95

5.9 示例5.5:发牌程序#3 96

5.9.1 幕后玄机 98

5.9.2 优化程序 99

5.10 一些忠告 100

5.11 二维数组:矩阵 101

5.12 小结 102

6.1 指针的概念 103

第6章 指针 103

6.2 声明和使用指针 105

6.3 例6.1:倍增函数 107

6.3.1 幕后玄机 107

6.4 交换:另一个使用指针的函数 109

6.5 示例6.2:数组排序器 110

6.5.1 幕后玄机 113

6.6 指针算术 114

6.7 指针和数组处理 115

6.8.1 幕后玄机 117

6.8 示例6.3:数组清零 117

6.8.2 优化程序 118

6.9 小结 119

第7章 字符串:分析文本 121

7.1 计算机上的文本存储 121

7.2 获取正确的字符串 122

7.3 字符串处理函数 123

7.4 示例7.1:构建字符串 125

7.4.1 幕后玄机 126

7.5 读取字符串输入 128

7.6 示例7.2:获取数字 130

7.6.1 幕后玄机 130

7.7 示例7.3:转换成大写 132

7.7.1 幕后玄机 132

7.8 单独字符与字符串的比较 133

7.9 示例7.4:分析输入 134

7.9.1 幕后玄机 135

7.10 新的C++ string类 138

7.10.2 声明和初始化string类型的变量 139

7.10.1 添加string类支持 139

7.10.4 输入和输出 140

7.10.3 处理string类型的变量 140

7.11 示例7.5:使用string类型来构建字符串 141

7.11.1 幕后玄机 141

7.12 对string类型的其他操作 142

7.13 小结 144

第8章 文件:电子存储 146

8.1 文件流对象入门 146

8.3 示例8.1:将文本写入一个文件 148

8.2 引用磁盘文件 148

8.3.1 幕后玄机 149

8.4 示例8.2:显示一个文本文件 151

8.4.1 幕后玄机 152

8.5 文本文件与二进制文件的比较 153

8.6 二进制运算入门 155

8.7 示例8.3:随机写入 157

8.7.1 幕后玄机 158

8.8 示例8.4:随机读取 159

8.8.1 幕后玄机 160

8.9 小结 161

第9章 一些高级编程技术 163

9.1 命令行参数 163

9.2 示例9.1:从命令行显示文件内容 164

9.2.1 幕后玄机 165

9.3 函数重载 166

9.4 示例9.2:打印不同类型的数组 168

9.4.1 幕后玄机 169

9.5 do-while循环 169

9.6 switch-case语句 171

9.7 多个模块 172

9.8 异常处理 174

9.8.1 入门 174

9.8.2 处理异常:第一次尝试 175

9.8.3 try-catch异常处理 176

9.9.1 幕后玄机 178

9.9 示例9.3:为gcf添加异常处理 178

9.10 小结 180

第10章 面向对象入门 182

10.1 为什么要面向对象 182

10.2 字符串解析器 183

10.3 对象和类 184

10.4 另一个例子:Fraction类 185

10.6 继承或子类化 186

10.5 对象构造和析构 186

10.7 创建共享接口 188

10.8 多态性:真正的对象独立性 189

10.9 多态性和虚函数 190

10.10 重用性 191

10.11 小结 193

第11章 Fraction类 194

11.1 Point:一个简单的类 194

11.2 private:仅成员可用(保护数据) 196

11.3 示例11.1:测试Point类 198

11.4 Fraction类入门 199

11.3.1 幕后玄机 199

11.5 内联函数 202

11.6 查找最大公因数 203

11.7 查找最小公倍数 205

11.8 示例11.2:Fraction的支持函数 205

11.8.1 幕后玄机 206

11.9 示例11.3:测试Fraction类 208

11.9.1 幕后玄机 210

11.10 示例11.4:Fraction算术(加法和乘法) 211

11.10.1 幕后玄机 213

11.11 小结 214

第12章 构造函数 216

12.1 构造函数入门 216

12.2 多个构造函数(重载) 217

12.3 默认构造函数 218

12.4 示例12.1:Point类的构造函数 220

12.4.1 幕后玄机 221

12.5 示例12.2:Fraction类的构造函数 222

12.6 引用变量和参数(&) 224

12.5.1 幕后玄机 224

12.7 拷贝构造函数 226

12.8 示例12.3:Fraction类的拷贝构造函数 228

12.8.1 幕后玄机 229

12.9 小结 230

第13章 操作符函数 232

13.1 类操作符函数入门 232

13.2 操作符函数作为全局函数 234

13.3 利用引用来提高效率 236

13.4 示例13.1:Point类的操作符 238

13.4.1 幕后玄机 239

13.5 示例13.2:Fraction类的操作符 240

13.5.1 幕后玄机 242

13.6 使用其他类型 243

13.7 类赋值函数(=) 244

13.8 测试相等性函数(==) 245

13.9 类的“打印”函数 246

13.10 示例13.3:完整的Fraction类 247

13.10.1 幕后玄机 249

13.11 小结 251

第14章 new操作符和StringParser类 253

14.1 new操作符 253

14.2 对象和new 254

14.3 为数组数据分配空间 256

14.4 示例14.1:动态内存 257

14.4.1 幕后玄机 258

14.5 解析器设计(词法分析器) 258

14.6 示例14.2:StringParser类 262

14.6.1 幕后玄机 264

14.6.2 改进代码 265

14.7 小结 267

第15章 this关键字和string类 268

15.1 string类入门 268

15.2 类析构函数入门 269

15.3 示例15.1:一个简单的String类 270

15.3.1 幕后玄机 271

15.4 深拷贝和拷贝构造函数 273

15.5 this关键字 275

15.6 赋值操作符 276

15.7 写一个连接函数 278

15.8 示例15.2:完整的String类 279

15.8.1 幕后玄机 281

15.9 小结 282

第16章 继承 284

16.1 子类化 284

16.2 示例16.1:FloatFraction类 287

16.2.1 幕后玄机 289

16.3 FloatFraction类的问题 290

16.3.1 子类的默认构造函数 291

16.3.2 子类的拷贝构造函数 291

16.3.3 子类的赋值函数 292

16.3.4 添加遗漏的构造函数 292

16.3.5 解决与基类的类型冲突 292

16.4 示例16.2:最终的FloatFraction类 293

16.4.1 幕后玄机 294

16.5 示例16.3:ProperFraction类 294

16.5.1 幕后玄机 296

16.6 private成员和protected成员 298

16.7 示例16.4:包含的成员(FractionUnits) 299

16.7.1 幕后玄机 300

16.8 小结 302

第17章 多态性:对象独立性 304

17.1 FloatFraction类的另一个思路 304

17.2 虚函数 305

17.3 示例17.1:修订的FloatFraction类 307

17.3.1 幕后玄机 309

17.3.2 改进代码 310

17.4 “纯virtual”和其他难点 311

17.5 抽象类和接口 312

17.6 cout为什么不是真正多态的 313

17.7 示例17.2:真正多态的printable类 314

17.7.1 幕后玄机 315

17.8 关于面向对象 317

17.9 写在最后 318

17.10 小结 318

附录A C++操作符 320

附录B 基本数据类型 323

附录C C++语法总结 324

C.1 直接量 324

C.2 基本表达式 324

C.3 基本语句 325

C.4 控制结构 325

C.5 特殊控制语句 327

C.7 函数声明 328

C.6 数据声明 328

C.8 类声明 329

附录D ASCII码 331

附录E 公共库函数 332

E.1 字符串函数 332

E.2 数据转换函数 333

E.3 单字符函数 333

E.4 数学函数 334

E.5 随机处理函数 334

附录F 术语表 335