《C++工程程式设计》是2004年清华大学出版社出版的图书,作者是Jeanine A.Ingber、Deleres M.Etter。
基本介绍
- 书名:C++工程程式设计
- 作者:Jeanine A.Ingber、Deleres M.Etter
- ISBN:9787302081012
- 定价:54元
- 出版社:清华大学出版社
- 出版时间:2004-3-11
- 装帧:平装
- 印次:1-1
图书简介
本书的作者是畅销书作者Deleres M.Etter和计算机科学与工程教育家Jeanine A.Ingber。本书向读者介绍了如何利用ANSI C++ 程式语言以基于对象的编程方式来解决工程问题。作者运用简单易用的问题解决方法分析了科学界目前面临的各种巨大挑战,包括天气、气候和全球变化的预测;计算机化的语音识别;人类基因图的绘製;改进交通工具的性能;增强石油和天然气的回收能力;以及工程仿真等。
利用C++解决工程和科学问题是本书的核心部分。
图书目录
第1章 工程问题解决概述 1
1.1 巨大挑战 6
1.1.1 近年的工程成就 6
1.1.2 未来的巨大挑战 7
1.1.3 改变工程环境 9
1.2 计算系统 10
1.2.1 计算机硬体 10
1.2.2 计算机软体 11
1.2.3 术语 14
1.3 一种解决工程问题的方法 15
1.4 本章小结 17
第2章 简单的C++程式 21
2.1 基于对象编程概述 22
2.2 程式结构 23
2.3 常量和变数 26
2.3.1 科学计数法 28
2.3.2 数字数据类型 29
2.3.3 布尔数据类型 30
2.3.4 字元数据类型 31
2.3.5 字元串数据 32
2.3.6 符号常量 33
2.4 C++运算符 33
2.4.1 赋值运算符 33
2.4.2 算术运算符 35
2.4.3 运算符的优先权 37
2.4.4 上溢和下溢 39
2.4.5 自增和自减运算符 39
2.4.6 简化的赋值运算符 40
2.5 标準输入和输出 42
2.5.1 cout对象 42
2.5.2 流函式和操纵器 43
2.5.3 cin对象 46
2.6 数值技术:线性插值法 47
2.7 解决实际问题:风洞数据分析 51
2.8 基本函式 54
2.8.1 初等数学函式 55
2.8.2 三角函式 56
2.8.3 双曲线函式* 57
2.8.4 字元函式 59
2.9 解决实际问题:速度计算 59
2.10 系统限制 62
2.11 本章小结 63
第3章 控制结构 70
3.1 算法开发 70
3.1.1 自顶向下的设计 71
3.1.2 结构化编程 72
3.1.3 细化的伪代码 72
3.1.4 替代解决方案的判断 74
3.1.5 错误条件 74
3.1.6 生成测试数据 75
3.2 条件表达式 76
3.2.1 关係运算符 76
3.2.2 逻辑运算符 77
3.2.3 优先权和结合原则 77
3.3 选择语句 78
3.3.1 简单的if语句 78
3.3.2 if/else语句 80
3.3.3 switch语句 83
3.4 循环结构 86
3.4.1 while循环 86
3.4.2 do/while循环 88
3.4.3 for循环 89
3.4.4 break和continue语句 92
3.4.5 结构化输入循环 93
3.5 解决实际问题:探空气球 98
3.6 本章小结 102
第4章 处理数据档案 110
4.1 定义档案流 110
4.1.1 stream类继承 111
4.1.2 ifstream类 111
4.1.3 ofstream类 112
4.2 读取数据档案 113
4.2.1 指定数目的记录 114
4.2.2 尾部信号或者标记信号 117
4.2.3 档案末尾 119
4.3 生成数据档案 123
4.4 解决实际问题:数据过滤器-- 修改HTML档案 125
4.5 错误检查 129
4.6 数值技术:线性建模* 132
4.7 解决实际问题:臭氧测量 135
4.8 本章小结 140
第5章 利用函式的模组化编程 145
5.1 模组性 146
5.2 编程人员自定义的函式 148
5.2.1 函式定义 148
5.2.2 函式原型 153
5.3 参数传递 154
5.3.1 通过值调用 155
5.3.2 通过引用调用 157
5.3.3 存储器类和作用域 160
5.4 解决实际问题:计算重心 162
5.5 随机数 166
5.5.1 整数序列 166
5.5.2 浮点序列 170
5.6 解决实际问题:仪器的可靠性 171
5.7 数值技术:多项式的根 178
5.7.1 多项式的根 178
5.7.2 增量搜寻技术 180
5.8 解决实际问题:系统的稳定性 182
5.9 数值技术:积分法* 190
5.10 递归* 195
5.10.1 阶乘计算 195
5.10.2 斐波纳契序列 197
5.11 本章小结 199
第6章 一维数组 208
6.1 数组 209
6.1.1 定义和初始化 209
6.1.2 计算和输出 213
6.1.3 函式参数 215
6.2 统计度量 219
6.2.1 简单分析 219
6.2.2 方差和标準偏差 222
6.3 重新访问函式 224
6.3.1 函式重载 224
6.3.2 函式模板 225
6.3.3 自定义头档案 228
6.4 解决实际问题:语音信号分析 229
6.5 排序算法 235
6.5.1 选择排序 235
6.5.2 快速排序 237
6.6 搜寻算法 240
6.6.1 无序列表 240
6.6.2 有序列表 240
6.7 字元串 242
6.7.1 C样式字元串的定义和I/O 242
6.7.2 字元串函式 244
6.8 解决实际问题:回文 246
6.9 string类 250
6.10 vector类 251
6.11 本章小结 256
第7章 二维数组和矩阵 261
7.1 二维数组 261
7.1.1 定义和初始化 262
7.1.2 计算和输出 264
7.1.3 函式参数 267
7.2 解决实际问题:地域导航 270
7.3 重访的vector类 274
7.4 矩阵* 276
7.4.1 行列式 277
7.4.2 转置矩阵 277
7.4.3 矩阵的加法和减法 278
7.4.4 矩阵的乘法 279
7.5 数值技术:求解联立方程组* 281
7.5.1 图形解释 281
7.5.2 高斯消元法 283
7.6 解决实际问题:电路分析* 286
7.7 多维数组* 291
7.8 本章小结 293
第8章 类 298
8.1 利用类进行基于对象的编程 298
8.1.1 类的声明 299
8.1.2 类的实现 300
8.2 成员函式 303
8.2.1 构造函式 303
8.2.2 存取函式 305
8.2.3 用于输入和输出的成员函式 307
8.3 单独编译 309
8.4 UnitVector类 313
8.4.1 Private成员函式 315
8.4.2 把类对象作为成员函式的参数 317
8.5 解决实际问题:仿真 319
8.6 本章小结 325
第9章 指针 329
9.1 地址和指针 330
9.1.1 地址运算符 330
9.1.2 指针赋值 332
9.1.3 指针运算 334
9.2 数组元素的指针 337
9.2.1 一维数组 338
9.2.2 字元串 339
9.2.3 指针作为函式参数 341
9.3 动态记忆体分配 346
9.3.1 new运算符 347
9.3.2 动态分配的数组 348
9.3.3 delete运算符 349
9.4 解决实际问题:地震事件检测 350
9.5 使用new和delete的常见错误 356
9.6 数据结构* 357
9.6.1 link类 357
9.6.2 stack类 361
9.6.3 queue类 363
9.7 解决实际问题:文本档案的辞彙索引* 365
9.8 本章小结 371
第10章 利用类进行编程的其他主题 376
10.1 重载运算符 376
10.1.1 pixel类 378
10.1.2 算术运算符 380
10.1.3 friend函式 384
10.2 解决实际问题:彩色图像处理 388
10.3 继承 394
10.4 虚函式 402
10.5 解决实际问题:叠代的囚犯二难问题 404
10.6 本章小结 413
附录A C++标準库 419
附录B 利用MATLAB绘图表示ASCII 档案中的数据 427
B.1 生成数据档案的C++程式 427
B.2 C++程式生成的ASCII数据档案 428
B.3 利用MATLAB生成曲线 428
附录C 练习答案 430