图书介绍

问题求解与程序设计 C++语言版PDF|Epub|txt|kindle电子书版本网盘下载

问题求解与程序设计 C++语言版
  • (美)弗雷德曼,(美)科夫曼著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302245858
  • 出版时间:2011
  • 标注页数:609页
  • 文件大小:204MB
  • 文件页数:627页
  • 主题词:C语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

问题求解与程序设计 C++语言版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第0章 作为一种职业途径的计算机科学1

概述2

0.1 为什么计算机科学或许是适合你的正确领域2

0.1.1 选择计算机科学专业的理由2

0.1.2 计算机科学家的特质3

0.2 大学经验:可选择的计算机学科和专业4

0.2.1 计算机科学4

0.2.2 计算机工程5

0.2.2 信息系统5

0.2.3 信息技术5

0.2.4 软件工程6

0.2.5 多学科专业6

0.3 工作机会7

0.3.1 在美国和世界上的需求8

0.3.2 对代表性不足群体的需求8

0.3.3 依然在地平线上的新职业8

第1章 计算机、问题求解和编程引论10

1.1 计算机概述11

1.1.1 早期的计算机11

1.1.2 计算机分类12

1.1.3 共享计算机资源12

本节练习13

1.2 计算机硬件13

1.2.1 存储器14

1.2.2 主存储器15

1.2.3 辅助存储器15

1.2.4 中央处理器16

1.2.5 输入/输出设备17

1.2.6 计算机网络17

1.2.7 万维网18

本节练习19

1.3 计算机软件19

1.3.1 操作系统19

1.3.2 应用软件21

1.3.3 编程语言21

1.3.4 面向对象编程22

本节练习23

1.4 处理高级语言程序24

1.4.1 执行程序25

本节练习26

1.5 软件开发方法26

本节练习28

1.6 应用软件开发方法28

案例研究——将英里转换为千米28

本节练习31

1.7 计算机程序员的职业道德31

1.7.1 隐私与数据滥用31

1.7.2 计算机黑客31

1.7.3 抄袭和盗版软件32

1.7.4 计算机资源的滥用32

本节练习32

本章复习33

快速自测练习33

复习题34

快速自测练习答案35

第2章 C++概述36

2.1 C++语言元素37

2.1.1 注释37

2.1.2 编译器指令:#include38

2.1.3 名称空间std39

2.1.4 函数main39

2.1.5 声明语句40

2.1.6 可运行语句40

本节练习41

2.2 保留字和标识符42

2.2.1 保留字42

2.2.2 标识符42

2.2.3 大写和小写字母43

本节练习44

2.3 数据类型和声明44

2.3.1 数据类型44

2.3.2 string类46

2.3.3 数据类型的目的47

2.3.4 声明47

2.3.5 常量声明48

本节练习49

2.4 可运行语句50

2.4.1 内存中的程序50

2.4.2 赋值语句50

2.4.3 输入/输出操作51

2.4.5 输入语句52

2.4.6 程序提示53

2.4.7 return语句55

本节练习55

2.5 C++程序的通用格式56

2.5.1 程序中的注释57

本节练习58

2.6 算术表达式58

2.6.1 操作符/和%59

2.6.2 混合类型表达式的数据类型60

2.6.3 混合类型赋值语句61

2.6.4 使用多个操作符的表达式61

2.6.5 在C++中编写数学公式64

案例研究——超市硬币处理器64

本节练习67

2.7 交互模式、批模式和数据文件69

2.7.1 输入重定向69

2.7.2 输出重定向70

本节练习71

2.8 常见编程错误71

2.8.1 语法错误72

2.8.2 运行时错误73

2.8.3 未检测到的错误73

2.8.4 逻辑错误74

本章复习74

快速自测练习76

复习题76

编程项目77

快速自测练习答案80

第3章 使用函数和类做自顶向下设计81

3.1 依据现有信息构造程序82

案例研究——计算圆的面积和周长83

案例研究——计算一批平面垫圈的重量85

本节练习88

3.2 库函数89

C++库函数90

展望未来92

本节练习92

3.3 自顶向下设计和结构图93

案例研究——画简单图形93

本节练习94

3.4 无参数函数94

3.4.1 函数原型95

3.4.2 函数定义96

3.4.3 程序中函数的位置97

3.4.4 函数执行顺序97

3.4.5 使用函数子程序的优点99

本节练习100

3.5 带输入参数的函数101

3.5.1 带输入参数的无返回值函数102

3.5.2 带输入参数和单返回值的函数103

3.5.3 带有多个参数的函数106

3.5.4 参数/参量列表对应关系107

3.5.5 函数数据区107

3.5.6 使用驱动模块测试函数108

本节练习108

3.6 名称的作用域109

本节练习110

3.7 借助类扩展C++:使用类string111

3.7.1 string类111

3.7.2 声明string对象112

3.7.3 读取和显示string对象112

3.7.4 字符串赋值和拼接113

3.7.5 操作符重载113

3.7.6 点表示法:调用函数length和at113

3.7.7 用于单词处理操作的成员函数114

3.7.8 将子字符串赋值给string对象114

本节练习115

3.8 计算机图形简介(选读)116

3.8.1 窗口的组成116

3.8.2 绘制矩形119

3.8.3 绘制圆、椭圆和弧线120

3.8.4 饼图和填充椭圆124

3.8.5 在绘图上添加文本126

本节练习127

3.9 常见编程错误127

分别测试函数子程序129

本章复习129

快速自测练习131

复习题131

编程项目132

快速自测练习答案135

第4章 选择结构:if和switch语句137

4.1 控制结构138

4.2 逻辑表达式138

4.2.1 使用关系和相等操作符的逻辑表达式139

4.2.2 使用逻辑操作符的逻辑表达式140

4.2.3 操作符优先级141

4.2.4 在C++中编写条件143

4.2.5 比较字符和字符串144

4.2.6 布尔赋值144

4.2.7 书写bool值145

4.2.8 使用整数表示逻辑值145

本节练习146

4.3 if控制语句简介147

4.3.1 带有两个备选方案的if语句147

4.3.2 带有从属语句的if语句147

4.3.3 使用字符和字符串的if语句条件148

4.3.4 if语句的格式149

本节练习150

4.4 使用复合备选语句的if语句151

4.4.1 跟踪if语句152

本节练习153

4.5 算法中的决策步骤154

案例研究——使用函数解决工资发放问题154

4.5.1 有关标识符作用域的提醒160

4.5.2 在结构图中添加数据流信息160

4.5.3 述评——软件开发方法160

本节练习161

4.6 检查算法的正确性161

本节练习162

4.7 嵌套if语句和多项备选抉择162

4.7.1 嵌套if语句和一系列if语句的比较163

4.7.2 编写嵌套if作为多个备选抉择164

4.7.3 条件的顺序165

4.7.4 逻辑表达式的短路计算167

本节练习168

4.8 switch控制语句169

4.8.1 适宜地使用break171

4.8.2 嵌套if语句与switch语句的比较171

4.8.3 使用switch语句选择备选函数171

本节练习172

4.9 常见编程错误173

本章复习174

快速自测练习176

复习题177

编程项目178

快速自测练习答案182

第5章 重复和循环语句184

5.1 计数循环和while语句185

5.1.1 while语句186

5.1.2 while语句语法187

本节练习188

5.2 使用循环累加和与乘积189

5.2.1 数字连乘191

5.2.2 复合赋值运算符192

本节练习192

5.3 for语句193

5.3.1 增量和减量操作符195

5.3.2 异于一的增量和减量197

5.3.3 显示值表198

本节练习198

5.4 条件循环200

5.4.1 使用减量控制变量的循环200

案例研究——监视石油供应201

5.4.2 零迭代循环203

5.4.3 更通用的条件循环204

本节练习205

5.5 循环设计和循环模式205

5.5.1 哨兵控制循环206

5.5.2 计算平均值209

5.5.3 标志控制循环209

本节练习210

5.6 do-while语句211

本节练习214

5.7 while、for、do-while循环复习215

本节练习216

5.8 嵌套循环217

本节练习218

5.9 调试和测试程序220

5.9.1 使用调试器221

5.9.2 无调试器的调试221

5.9.3 差一错误222

5.9.4 测试222

本节练习222

5.10 图形程序中的循环(选读)223

5.10.1 动画224

本节练习227

5.11 常见编程错误227

本章复习229

快速自测练习232

复习题233

编程项目234

快速自测练习答案239

第6章 模块化编程240

6.1 值参和引用参数241

6.1.1 传值调用和引用调用参数243

6.1.2 void函数能够返回结果244

6.1.3 什么时候使用引用参数或值参244

6.1.4 值参与引用参数的对比245

6.1.5 值参提供的保护245

6.1.6 再谈参量/参数列表的对应关系245

本节练习247

6.2 使用输出和输入参数的函数248

本节练习253

6.3 函数的逐步设计254

案例研究——通用和与平均值问题254

6.3.1 程序中标识符的多次声明260

本节练习261

6.4 与函数一起使用对象261

本节练习263

6.5 调试和测试程序系统263

6.5.1 自顶向下测试和桩模块263

6.5.2 自底向上测试和驱动程序263

6.5.3 程序系统调试技巧264

6.5.4 标识符作用域和观察窗口变量265

6.5.5 黑盒与白盒测试265

本节练习266

6.6 递归函数(选读)266

本节练习268

6.7 常见编程错误269

本章复习269

快速自测练习270

复习题271

编程项目272

快速自测练习答案278

第7章 简单数据类型279

7.1 常量再探讨280

7.1.1 #define编译器指令280

本节练习281

7.2 数值数据类型的内部表示281

7.2.1 定点和浮点数据类型281

7.2.2 整数类型282

7.2.3 浮点类型282

7.2.4 数值文字量的类型282

7.2.5 整数类型和浮点类型的取值范围282

7.2.6 数值的不精确性283

7.2.7 混合类型:提升284

7.2.8 类型转换284

7.2.9 类型强制转换284

本节练习285

7.3 字符数据和函数286

7.3.1 一些有用的字符函数287

本节练习289

7.4 bool类型数据和逻辑表达式289

7.4.1 求逻辑表达式的反289

7.4.2 bool类型函数290

7.4.3 bool类型数据的输入和输出291

本节练习292

7.5 枚举类型293

7.5.1 字符与枚举成员值294

7.5.2 包含枚举类型的比较294

7.5.3 整数类型之间的区别295

7.5.4 读和写枚举类型值295

7.5.5 枚举类型声明的位置297

7.5.6 作为强制转换操作符的枚举类型297

本节练习298

7.6 迭代逼近299

7.6.1 函数参数299

案例研究——求解根的二分法300

本节练习304

7.7 使用char类型数据控制图形程序(选读)305

7.7.1 生成随机数307

7.7.2 为随机数生成器提供种子307

本节练习308

7.8 常见编程错误308

本章复习310

快速自测练习310

复习题311

编程项目312

快速自测练习答案318

第8章 流和文件319

8.1 标准输入/输出流320

8.1.1 一次读取一个字符325

本节练习325

8.2 外部文件326

8.2.1 交互式处理与批处理326

8.2.2 外部文件的目录名称326

8.2.3 将流附加到外部文件上327

8.2.4 函数copyLine329

8.2.5 换行字符细解329

8.2.6 在文件流中使用getline330

本节练习331

8.3 将外部文件用于程序间的通信332

案例研究——准备工资单文件332

本节练习336

8.4 深入探讨读取字符串数据336

8.4.1 使用ignore跳过换行字符337

本节练习338

8.5 输入/输出操作算子339

本节练习340

8.6 常见编程错误341

本章复习342

快速自测练习343

复习题343

编程项目344

快速自测练习答案349

第9章 数据结构:数组和结构350

9.1 数组数据类型351

9.1.1 数组声明351

9.1.2 数组初始化353

9.1.3 数组下标354

本节练习356

9.2 顺序访问数组元素356

9.2.1 字符串和字符数组359

本节练习360

9.3 数组参数361

9.3.1 数组元素作参数361

9.3.2 传递数组参数362

本节练习364

9.4 读取部分数组365

本节练习367

9.5 搜索和排序数组367

9.5.1 找到数组中的最小值367

9.5.2 数组搜索369

9.5.3 以升序排序数组370

本节练习371

9.6 分析算法:大O表示法372

9.6.1 搜索算法分析373

9.6.2 排序算法分析373

本节练习374

9.7 多维数组374

9.7.1 声明二维数组375

9.7.2 初始化二维数组376

9.7.3 处理二维数组的嵌套循环376

9.7.4 二维数组用作函数参数376

9.7.5 拥有多个维的数组377

本节练习378

9.8 结构数据类型379

9.8.1 声明结构类型和结构类型变量379

9.8.2 访问结构成员380

本节练习381

9.9 作操作数和参数使用的结构382

9.9.1 结构复制或赋值382

9.9.2 作为参数传递结构382

9.9.3 读取结构383

9.9.4 结构用作函数结果384

9.9.5 引用参数的效率384

本节练习384

9.10 结构数组385

本节练习387

9.11 作为字符数组的字符串(选读)388

9.11.1 声明和初始化字符数组388

9.11.2 读取和写入字符数组388

9.11.3 用于字符数组的一些有用函数389

本节练习390

9.12 使用数组的图形程序(选读)390

9.12.1 绘制多边形390

9.12.2 绘制网格392

本节练习395

9.13 常见编程错误396

本章复习397

快速自测练习398

复习题399

编程项目401

快速自测练习答案405

第10章 用户自定义类408

10.1 类定义和使用409

10.1.1 counter类409

10.1.2 counter类的类定义410

10.1.3 文件counter.h中的编译器指令412

10.1.4 使用counter类412

10.1.5 文件CounterTest.cpp中的编译器指令413

本节练习414

10.2 类的实现415

10.2.1 构造函数416

10.2.2 访问器和修改器函数416

10.2.3 文件counter.cpp中的编译器指令417

本节练习417

10.3 类和对象使用规则小结418

10.3.1 对象是类的实例418

10.3.2 公有与私有访问的对比418

10.3.3 类和成员函数定义语法418

10.3.4 结构和类的比较420

10.3.5 项目文件和单独编译420

10.3.6 数据、结构和类的结合421

10.3.7 函数重载和多态421

本节练习421

10.4 类用作操作数和参数422

本节练习423

10.5 分数类424

10.5.1 fraction类的设计424

10.5.2 使用类fraction425

10.5.3 类fraction的实现文件426

本节练习428

10.6 circle类429

10.6.1 设计circle类429

10.6.2 使用circle类431

10.6.3 类circle的实现文件431

本节练习433

10.7 一个简单的字符串类433

10.7.1 类simpleString的设计433

10.7.2 类simpleString的定义434

10.7.3 测试类simpleString的成员函数435

10.7.4 类simpleString的实现文件436

本节练习438

10.8 一个存款账户类439

案例研究——使用存款账户类439

本节练习444

10.9 常见编程错误444

本章复习446

快速自测练习447

习题447

编程项目448

快速自测练习答案451

第11章 数据抽象与面向对象设计452

11.1 模版类453

11.1.1 模版类的定义453

11.1.2 模版类的实现456

11.1.3 支持单独编译的编译器指令458

本节练习458

11.2 索引列表458

11.2.1 索引列表类的需要458

11.2.2 索引列表类的分析与设计459

11.2.3 使用indexList类461

本节练习463

11.3 实现索引列表类464

本节练习468

11.4 面向对象设计469

11.4.1 面向对象设计方法论469

案例研究——E-mail提供商的地址簿469

本节练习480

11.5 操作符重载与友元481

11.5.1 操作符重载481

11.5.2 友元482

本节练习483

11.6 vector类484

11.6.1 向量与数组485

11.6.2 向量函数485

11.6.3 通过迭代器访问向量486

11.6.4 标准算法487

11.6.5 在E-mail地址簿案例中使用向量487

本节练习490

11.7 常见编程错误491

本章复习492

快速自测练习492

复习题493

编程项目494

快速自测练习答案497

第12章 递归499

12.1 递归的本质500

12.1.1 递归问题与解答的性质501

本节练习501

12.2 跟踪递归函数502

12.2.1 跟踪一个递归函数502

12.2.2 以反序显示字符503

12.2.3 用于函数调用的栈505

12.2.4 C++中的参数栈实现507

本节练习507

12.3 递归的数学函数507

本节练习511

12.4 以数组为参数的递归函数512

案例研究——二叉搜索513

本节练习516

12.5 问题的递归求解516

案例研究——汉诺塔516

12.5.1 迭代函数与递归函数的比较520

本节练习521

12.6 常见编程错误521

本章复习522

快速自测练习522

复习题522

编程项目523

快速自测练习答案524

第13章 指针与动态数据结构526

13.1 指针与new操作符527

13.1.1 用指针来访问数据528

13.1.2 指针操作529

13.1.3 数组指针529

13.1.4 指向结构体的指针530

本节练习532

13.2 操纵堆532

13.2.1 作用于堆上的new操纵结果532

13.2.2 把内存单元返回给堆533

本节练习534

13.3 链表与list类534

13.3.1 结点声明534

13.3.2 结点连接535

13.3.3 在链表中插入结点535

13.3.4 在链表头插头结点536

13.3.5 在链表尾插入结点537

13.3.6 删除结点537

13.3.7 遍历链表537

13.3.8 环形链表与双向链表(可选)539

13.3.9 list类539

本节练习541

13.4 抽象数据类型——栈542

13.4.1 C++的stack类542

13.4.2 实现stack模版类544

13.4.3 实现栈操作546

13.4.4 测试栈547

本节练习548

13.5 抽象数据类型——队列548

13.5.1 C++的queue类549

13.5.2 实现队列549

本节练习553

13.6 二叉树553

13.6.1 二叉搜索树554

13.6.2 搜索二叉搜索树554

13.6.3 构建二叉搜索树555

13.6.4 显示二叉搜索树556

本节练习557

13.7 二叉搜索树抽象数据结构557

13.7.1 二叉树类的设计557

13.7.2 二叉树类的实现559

本节练习562

13.8 二叉搜索树的效率563

本节练习564

13.9 常见编程错误564

本章复习565

快速自测练习565

复习题567

编程项目568

快速自测练习答案570

第14章 使用进程和线程的多处理572

14.1 多任务处理573

14.1.1 线性与并行编程573

14.1.2 共享时间的多任务处理574

14.1.3 抢占多任务处理574

14.1.4 时间片与并行性575

14.1.5 并发编程576

本节练习576

14.2 进程576

14.2.1 创建一个进程577

14.2.2 等待进程579

14.2.3 从一个进程中运行另一个程序579

本节练习581

14.3 进程间通信与管道581

14.3.1 管道581

14.3.2 使用管道582

14.3.3 使用标准输入进行进程间通信583

14.3.4 演示父进程与子进程之间的通信584

本节练习587

14.4 线程587

14.4.1 创建一个线程587

14.4.2 线程同步化589

14.4.3 互斥锁590

14.4.4 死锁593

本节练习595

案例研究——线程演示595

14.5 常见编程错误604

本章复习605

快速自测练习606

复习题607

编程项目607

快速自测练习答案608

热门推荐