C++现代大学教程(第3版)

C++现代大学教程(第3版)
作 者: 亚当斯 尼霍夫 陈志刚
出版社: 清华大学出版社
丛编项: 国外经典教材·计算机科学与技术
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C语言 程序设计 高等学校 教材
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C++现代大学教程(第3版)》作者简介

内容简介

本书是一本c++的入门教程,从简单的类型、操作与表达式,到引入函数的实现、文件和流,再到较难掌握的类和对象知识,循序渐进地让读者掌握c++的精髓。 与其他书籍相比,本书具有让读者轻松入门并深入学习的特色。首先本书着眼于培养大局观,从计算机科学的学科角度来介绍语言的发展和应用,同时从软件工程的原则出发,讲解编程的方法和思路;其次本书注重用实际例子来引导读者思考,从解决方案中建立概念和分析问题,强调了语言的应用和实践;最后本书提供了丰富的练习,穿插了许多面向对象的方法指南,为教师和学生进行枯燥的语言学习和深入研究提供了帮助。 本书通俗易懂、由浅入深、内容丰富。可作为大专院校相关专业的c++教材,亦可供编程爱好者和程序开发人员作为参考用书。

图书目录

第0章 计算机科学概貌 1

0.1 什么是计算机科学 1

0.2 计算科学的历史 2

0.3 计算机系统介绍 12

第1章 问题解决与软件工程 16

1.1 欢迎来到C++世界 17

1.2 用软件工程解决问题 19

1.3 实例分析:收入计算 28

1.4* 对象化思维:作为对象的球 28

相关知识:计算机伦理 31

1.5 本章小结 32

1.6 编程练习 32

第2章 类型 34

2.1 入门例子:学生工资的计算 34

2.2 类型和声明 37

相关知识:数据表示 48

2.3* 对象化思维:属性变量 51

2.4 本章小结 56

2.5 编程指南 58

2.6 编程练习 61

第3章 操作与表达式 63

3.1 入门例子:爱因斯坦质能方程 63

3.2 数值表达式 66

3.3 布尔表达式 73

3.4 字符表达式 78

3.5 赋值表达式 80

3.6 输入/输出表达式 90

3.7 例子:卡车队的账目 96

3.8* 对象化思维:初始化和构造函数 102

3.9 本章小结 108

3.10 编程指南 110

3.11 编程练习 111

第4章 函数 113

4.1 入门例子:用表达式进行温度转换 113

4.2 入门例子:用函数实现温度转换 115

4.3 使用选择的函数 126

4.4 使用循环的函数 135

相关知识:可计算性理论 145

4.5 实例分析:八功能计算器 146

4.6 库简介 146

4.7* 对象化思维:类方法 153

4.8 本章小结 158

4.9 编程指南 160

4.10 编程练习 164

第5章 使用类 168

5.1 介绍性例子:山谷中的农场主 169

5.2 类的介绍 173

5.3 类istream和ostream 178

5.4 使用string对象计算 189

5.5 实例研究:电话号码解码 203

相关知识:模拟 203

5.6* 对象化思维:实例方法 207

5.7 本章小结 214

5.8 编程指南 215

5.9 编程练习 216

第6章 选择 220

6.1 入门例子:校园吉祥物 220

6.2 if选择语句 224

6.3 switch选择语句 230

6.4 例子:计算评分等级 240

6.5 选择结构的条件表达式 246

相关知识:布尔逻辑与数字设计 248

相关知识:计算机系统结构 252

6.6* 对象化思维:修改器方法 252

6.7 本章小结 258

6.8 编程指南 259

6.9 编程练习 263

第7章 循环 268

7.1 入门例子:高斯的惩罚 268

7.2 for循环 271

7.3 while循环 279

7.4 do循环 284

7.5 输入循环 294

7.6 选择正确的循环 304

7.7 实例研究:计算贬值 306

相关知识:算法分析入门 308

7.8* 对象化思维:通过继承重用代码 309

7.9 本章小结 317

7.10 编程指南 318

7.11 编程练习 321

第8章 深入理解函数 324

8.1 范例介绍:一步整型除法 324

8.2 深入理解参数 328

8.3 参数使用示例 335

8.4 内联函数 346

8.5 作用域、重载和模板 348

8.6 递归简介 361

相关知识:数值方法简介 372

8.7* 对象化思维:类变量、成员变量和作用域 373

8.8 本章小结 380

8.9 编程指南 382

8.10 编程练习 383

第9章 文件和流 386

9.1 示例介绍:天气数据分析 387

9.2 ifstream对象和ofstream对象 391

9.3 实例:扫描病毒 407

9.4 其他的流特性 409

相关知识:数据库系统 422

9.5* 对象化思维:对象和流 424

9.6 本章小结 431

9.7 编程指南 432

9.8 编程练习 435

第10章 数组、向量和标准模板库 439

10.1 示例介绍:质量控制 439

10.2 C风格数组 443

10.3 排序 458

10.4 查找 462

10.5 示例:处理雇员信息 464

10.6 vector<T>(向量)类模板 467

10.7 标准模板库(STL)概要 482

10.8 实例分析:处理考试成绩 485

相关知识:部件编程 486

10.9* 对象化思维:对象与序列 488

10.10 本章小结 493

10.11 编程指南 495

10.12 编程练习 496

第11章 创建类 499

11.1 介绍性实例:温度建模 500

11.2 设计一个类 504

11.3 类属性的实现 506

11.4 类操作的实现 509

11.5 实例分析:学生信息的获取 528

11.6* 对象化思维:操作符重载和友元 534

相关知识:人工智能 541

11.7 本章小结 541

11.8 编程指南 542

11.9 编程练习 545

第12章 类和枚举 548

12.1 介绍性实例:颜色的波长 549

12.2 C风格的枚举 551

12.3 对象化枚举 561

12.4 实例分析:地质分类 574

相关知识:C++类型层次 578

12.5* 对象化思维:继承和多态 578

12.6 本章小结 588

12.7 编程指南 588

12.8 编程练习 589

第13章 多维数组及向量 591

13.1 介绍性实例:城市之间的里程 591

13.2 C风格的多维数组 594

13.3 多维向量vector<T>对象 608

13.4 实例分析:基于vector<T>的矩阵 616

相关知识:计算机图形学 619

13.5* 对象化思维:类Matrix的回顾 626

13.6 本章小结 631

13.7 编程指南 632

13.8 编程练习 633

第14章 指针、动态分配与链表 641

14.1 指针变量介绍 642

14.2 使用new和delete动态分配内存 652

14.3 链表介绍 666

14.4 STL list<T>类模板 674

14.5 指针和命令行参数 680

相关知识:算法效率 685

14.6* 对象化思维:指针和多态性 687

14.7 本章小结 696

14.8 编程指南 698

14.9 编程练习 700

第15章 数据结构 703

15.1 介绍性实例:整数的二进制表示——栈 703

15.2 队列、双端队列及优先队列 711

15.3 递归 717

15.4 树的介绍 721

相关知识:专家系统 735

15.5 本章小结 739

15.6 编程指南 740

15.7 编程练习 741

附录A ASCII字符集 743

附录B C++关键词 745

附录C C++操作符 747

附录D 函数库与类 749

附录E 小测验答案 758