当前位置:首页 > 工业技术
面向工程与科学的C++程序设计
面向工程与科学的C++程序设计

面向工程与科学的C++程序设计PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(美)奈霍夫著;张长富等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302327172
  • 页数:606 页
图书介绍:本书以与工程和计算机科学密切相关程序为示例来介绍C++程序设计。作者以问题求解的方式来讲解C++的使用,着重介绍对工程可计算机科学来说最为重要的C++特性,每章的示例都是作者精心挑选设计的,按先易后难,循序渐进的方式进行讲解,每章最后还给出了关键术语、重点内容、设计风格建议以及常见的编程陷阱等。
《面向工程与科学的C++程序设计》目录

第1章 计算引论 1

1.1计算机系统 1

1.1.1做算术的机器 1

1.1.2存储程序概念 2

1.1.3系统软件 7

1.1.4图形用户界面 8

1.1.5网络 9

1.1.6 C+++简要历史 9

1.2计算机组织 10

1.2.1计算系统 10

1.2.2存储 11

1.2.3输入和输出 12

1.2.4操作系统 12

1.2.5编程 13

练习题 14

第2章 编程与问题求解——软件工程 16

2.1 C++抢先看 16

2.2编程和问题求解概览 18

2.2.1问题:温度转换 18

2.2.2程序设计 18

2.2.3在C+++中编码 21

2.2.4测试、执行和调试 24

2.2.5维护 26

本章小结 26

自测题 26

练习题 27

编程题 27

第3章 C+中的类型 29

3.1入门示例:放射性衰变 29

3.1.1问题 29

3.1.2对象中心设计 29

3.2类型、文字量、变量及常量 31

3.2.1基本类型 32

3.2.2标识符 35

3.2.3变量 36

3.2.4常量 37

3.3数据表示 39

3.3.1整数 39

3.3.2实数 40

3.3.3字符和字符串 41

3.3.4布尔值 42

本章小结 42

自测题 43

练习题 44

编程题 46

第4章 表达式入门 47

4.1入门示例:爱因斯坦方程 47

4.1.1问题 47

4.1.2对象中心设计 47

4.2数值表达式 50

4.2.1操作符 50

4.2.2类型强制转换 53

4.3赋值表达式 54

4.3.1赋值是一种运算 57

4.3.2快捷赋值 58

4.3.3增量和减量操作 59

4.4输入输出表达式 61

4.4.1 I/O流 61

4.4.2输入表达式 61

4.4.3输出表达式 64

4.4.4输出格式化 66

4.5基本C++函数和库 68

4.5.1库 69

4.5.2数值函数 69

本章小结 71

自测题 73

练习题 75

编程题 81

第5章 控制结构 83

5.1入门示例:空气质量指数(AQI) 83

5.1.1问题 83

5.1.2对象中心设计 84

5.2布尔表达式 86

5.2.1简单布尔表达式 86

5.2.2复合布尔表达式 88

5.2.3操作符优先级 89

5.2.4短路求值 90

5.2.5前置条件和assert()机制 91

5.2.6布尔字符函数 93

5.3示例:数字电路——二进制半加器 93

5.4选择:if语句 95

5.4.1块语句 98

5.4.2示例:二次方程求解程序 99

5.4.3风格 100

5.5重复:for和while语句 102

5.5.1示例:计算阶乘 102

5.5.2处理几个输入值 104

5.5.3重复执行:while语句 106

本章小结 107

自测题 109

练习题 112

编程题 115

第6章 函数和库 120

6.1入门示例:使用表达式的温度转换 120

6.1.1问题:温度转换 120

6.1.2对象中心设计 120

6.2入门示例:使用函数的温度转换 123

6.3程序员定义函数 124

6.3.1函数设计 125

6.3.2函数原型 128

6.3.3调用函数 129

6.3.4局部变量 130

6.3.5函数中的控制结构 131

6.3.6不返回值的函数 132

6.3.7小结 135

6.4函数库简介 136

6.4.1构造库 137

6.4.2在程序中使用库 140

6.4.3翻译库 142

6.4.4对象中心设计:合并函数和库 143

6.4.5使用库的优点 143

6.5数值方法简介 144

6.5.1解方程——二分法 144

6.5.2数值积分——逼近区域的面积 147

6.5.3微分方程的数值解 150

本章小结 153

自测题 155

练习题 156

编程题 158

第7章 使用类 167

7.1入门示例:Internet地址 167

7.1.1问题 168

7.1.2对象中心设计 168

7.2类简介 170

7.2.1数据封装 172

7.2.2封装操作 174

7.3 istream和ostream类 176

7.3.1 istream类 176

7.3.2 ostream类 181

7.3.3格式控制 182

7.4 string类 185

7.4.1声明string对象 185

7.4.2字符串操作 186

7.5 C++complex类 189

7.5.1复数表示 189

7.5.2复数操作 190

7.5.3示例:解二次方程 192

7.5.4应用:交流电路 193

7.6随机数模拟:防护核反应堆 195

7.6.1随机数生成器——Randomint类 196

7.6.2问题 197

7.6.3解决方案 197

7.6.4正态分布 199

本章小结 200

自测题 202

练习题 204

编程题 209

第8章 更多选择控制结构 213

8.1入门示例:再探空气质量指数 213

8.2 if语句深入 215

8.2.1陷阱:悬空else问题 217

8.2.2陷阱:混淆=和== 217

8.3 switch语句 220

8.3.1示例:温度转换 220

8.3.2 switch语句格式 224

8.3.3 break语句 225

8.3.4直通行为 225

8.3.5示例:将工程课程编码转换为名称 227

8.4条件表达式 229

本章小结 231

自测题 234

练习题 235

编程题 239

第9章 更多重复控制结构 242

9.1两个入门示例:求和与计算折旧 242

9.1.1示例:高斯的惩罚——计算求和 242

9.1.2示例2:计算折旧 245

9.2 for循环 248

9.2.1嵌套for循环 251

9.2.2忠告 254

9.2.3无限循环 255

9.3 while循环 257

9.3.1示例:模拟反弹球 258

9.3.2 while语句 259

9.4 do语句 261

9.4.1示例:多少个数字 261

9.4.2后置测试循环 263

9.5输入循环 264

9.5.1运行示例:平均无故障工作时间 264

9.5.2计数方法 265

9.5.3输入循环:哨兵方法 266

9.5.4输入循环:查询方法 271

9.6选择正确的循环 274

本章小结 276

自测题 280

练习题 282

编程题 286

第10章 深入函数 293

10.1两个入门示例:以度为单位显示角度和变换坐标 293

10.1.1示例1:以度为单位显示角度 293

10.1.2示例2:转换坐标 295

10.2深入参数 298

10.2.1值参 299

10.2.2引用参数 300

10.2.3常量引用参数 302

10.2.4使用参数 304

10.3参数用法示例 305

10.3.1自动售货机 305

10.3.2示例2:交换两个变量的值 309

10.3.3示例3:处理IP地址 311

10.4作用域规则 313

10.4.1作用域:标识符的可访问性 314

10.4.2名称冲突 317

10.4.3名称空间 319

10.5递归简介 319

10.5.1示例1:再探阶乘问题 319

10.5.2街道网络 324

10.6内联、重载和模板 326

10.6.1内联函数 327

10.6.2重载函数 329

10.6.3函数模板 330

本章小结 333

自测题 335

练习题 337

编程题 341

第11章 文件和流 344

11.1入门示例:环境数据分析 344

11.1.1问题:处理环境数据文件 344

11.1.2对象中心设计 345

11.2 ifstream和ofstream类 351

11.2.1声明文件流 351

11.2.2基本的文件流操作 352

11.2.3小结 358

11.3其他流特性 358

11.3.1 seekg()、tellg()、seekp()、tellp()方法 359

11.3.2 peek()和putback()方法 363

11.2.2 setstate()方法 365

11.3.4字符串流 368

本章小结 370

自测题 372

练习题 373

编程题 374

第12章 数组和vector类模板 378

12.1入门示例:质量控制 378

12.1.1问题:平均故障时间 378

12.1.2对象中心设计 379

12.2 C风格数组 383

12.2.1数组初始化 385

12.2.2下标操作 387

12.2.3数组处理函数 387

12.2.4 typedef 388

12.2.5警告/数组的限制 388

12.2.6现代替代品:valarray〈T〉和vector〈T〉 390

12.3排序 391

12.3.1简单选择排序 391

12.3.2其他排序 393

12.4搜索 393

12.4.1线性搜索 393

12.4.2二叉搜索 394

12.5示例:搜索化学数据库 395

12.5.1问题 395

12.5.2解决方案 395

12.6 vector 〈T〉类模板 400

12.6.1函数模板快速概览 400

12.6.2 vector〈T〉类模板 400

12.7标准模板库概览 407

12.7.1 STL的组织 407

本章小结 410

自测题 411

练习题 414

编程题 419

第13章 多维数组和向量 422

13.1入门示例:里程图 422

13.1.1问题 422

13.1.2对象中心设计 422

13.2多维数组 425

13.2.1定义二维数组操作 427

13.2.2高维数组 428

13.3应用:海洋数据分析 431

13.4矩阵处理 435

13.4.1矩阵运算 435

13.4.2示例:产品成本 436

13.5线性系统和电路 438

13.5.1问题:求电路中的电流 439

13.5.2解决方案 439

13.5.3高斯消元法 441

13.6多维vector〈T〉对象 442

13.6.1二维vector〈T〉对象 442

13.6.2二维vector〈T〉操作 444

13.6.3基于vector〈T〉的矩阵 445

本章小结 445

自测题 447

练习题 449

编程题 452

第14章 构建类 462

14.1入门示例:建立温度模型 462

14.1.1创建新类型 463

14.2设计类 465

14.2.1外部和内部观点 465

14.2.2 Temperature类的操作 466

14.2.3 Temperature类的数据 467

14.3实现类 467

14.3.1类数据成员 467

14.3.2类操作——函数成员 469

14.3.3重载操作符 482

14.4其他类特性 488

14.4.1友元函数 488

14.4.2条件编译和类“包装器” 490

本章小结 491

自测题 493

练习题 494

编程题 495

第15章 指针和链表结构 497

15.1指针和间接访问 497

15.1.1声明和初始化指针 498

15.1.2基本指针操作 500

15.2运行时数组 507

15.2.1 new操作 507

15.2.2 delete操作 510

15.3链表简介 511

15.3.1链表是什么 512

15.3.2链表类 513

15.4 STL list〈T〉类模板 514

15.4.1一些list〈T〉操作 514

15.4.2应用:Internet网关 516

15.4.3算法效率 519

15.5指针和命令行参数 521

15.5.1 main函数的参数 521

15.5.2示例:平方根计算器 523

本章小结 525

自测题 527

练习题 528

编程题 532

第16章 数据结构 535

16.1入门示例:整数的二进制表示——栈 535

16.1.1问题:显示数值的二进制表示 535

16.1.2 stack容器 536

16.1.3 stack〈T〉适配器 541

16.1.4 stack〈T〉方法 542

16.2再论递归 542

16.3队列、双端队列和优先队列 546

16.3.1队列的应用 546

16.3.2 queue〈T〉适配器 547

16.3.3 deque〈T〉容器 548

16.3.4 priority_queue〈T〉适配器 548

16.4树简介 550

16.4.1树的术语和示例 552

16.4.1二叉树示例 553

16.4.3实现二叉树 555

16.4.4二叉搜索树 556

16.4.5树的遍历 557

16.4.6构造BST 560

16.4.7 STL中的树 560

本章小结 560

自测题 561

练习题 564

编程题 566

自测题答案 568

附录A ASCII字符编码 589

附录B C++关键字 593

附录C C++操作符 595

附录D 其他C++特征 597

相关图书
作者其它书籍
返回顶部