计算机书店 | 医学书店 | 外语书店 | 少儿书店 | 法律书店 | 生活书店 | 经管书店 | 小说书店 | 文学书店 | 动漫幽默 | 在线阅读 | 更多
首页 | 励志图书 | 编辑推荐 | 销售排行 | 关注排行 | 上架新书 | 名家名作 | 名社精品 | 分类浏览 |  在线阅读 | 专题汇总
购物搜索: 当当 卓越 蔚蓝
所有图书类目>> 计算机书店>> 程序设计>>图书详情

| 本类热销图书TOP10
 
国外计算机科学经典教材
计算机科学——C++软件工程方法(第2版)Computer Science:A Structured Approach Using C++     
 
计算机科学——C++软件工程方法(第2版)Computer
原价: ¥85.00(以下报价瞬息万变,建议您点击全部站点比对)
|通过以下方式购买,或许更便宜:
卓越网: 运费0元 去看看
当当网: 运费2元 去看看
蔚蓝网: 专业图书 去看看
【卓越网】340个城市送货上门货到付款,免送货费
【当当网】145个城市送货上门货到付款,送货费2元
【作 者】 Forouzan
【开 本】16   【版 次】1次
【分 类】 计算机书店>>程序设计
【页 数】 734   【字 数】 0
【日 期】 2006年1月
【装 帧】 简装
【出版社】 清华大学出版社
【ISBN】 0
【关注程度】已有2112人关注该图书
【版本状态】『全图版』  
 
| 图书大类分区
我要购书网的承诺:本网上购书中心所出售的"计算机科学——C++软件工程方法(第2版)Computer Science:A Structured Approach Using C++"图书保证正版,您在本购书中心享有收到图书七天内无条件退货!收到商品15日之内换货的待遇!
  退货规定:从本网上书店所购买的图书如有质量问题(字迹模糊/缺页/倒装/开线/开胶/折页/封皮破损/缺少随书赠品),可在收到商品7日之内可退货
  换货规定:从本购书中心所购买"计算机科学——C++软件工程方法(第2版)Computer Science:A Structured Approach Using C++"图书如有质量问题(字迹模糊/缺页/倒装/开线/开胶/折页/封皮破损/缺少随书赠品),可在收到商品15日之内换货
编辑推荐
 
本书采用结构化、循序渐进方法讲解编程基本原理。基于较早培养良好习惯的原则,本书通过强调结构化编程原则和软件工程原理介绍了计算机科学知识。本书所有完整的程序都采用连贯的风格,作者详细分析了这些程序,深入解释了编程风格和标准,在介绍具体的C++语言实现之前,通常都会总结相关的原理和原则,便于读者理解和掌握核心概念。本书的几个特色使本书别具一格,易于初学者学习。
结构和格式
  我们的一个基本原则是尽早养成良好的习惯。不良习惯很难再更改。因此,我们一贯强调结构化编程和软件工程原则。每一个完整的程序都使用一致的格式。在分析程序时,进一步解释了格式和标准。我们并不是说其他的格式不好,但是我们的经验证明,如果学生学会了良好的格式并实现这种格式,他们就会更容易适应其他的良好格式。另一方面,很难改变随意的习惯。
实践的原则
  我们尽可能地首先介绍某个主题的原则,然后再介绍语言的实现。例如,在第5章,我们首先介绍了逻辑数据和选择的概念,然后才介绍if…else和switch语句。这种方法在介绍语言的细微差别之前,能先使学生理解选择的概念。
可视化方法
  简单浏览一下本书就可以发现我们的方法是可视化的。本书有440多幅图、110个表和325个程序示例。虽然这些内容增加了本书的篇幅,但是可视化方法却使学生易于学习。
示例
  虽然编程示例的复杂性各不相同,但是每个示例使用的格式都一致。我们拥有长达10~20年使用生产程序的经验,使我们确信易读和易于理解的程序比以简洁、隐含方式编写的程序更易于使用。我们始终如一地坚持这样的格式,即在文档中穿插注释和易于理解的数据名称;我们还规定各代码行上的声明、定义和语句最多为一个。学生不仅可以运行这些程序,还可以通过修改和实验来学习一些相关的主题。
软件工程
  在各章结束时,我们讨论了软件工程的原理。我们的目的并不是代替专门的软件工程课程。相反,我们坚信,通过早早地学习基本的软件工程原理。学生可以为正式学习该课程做好准备。更重要的是,通过从头开始编写设计良好的程序,学生就不会再忘了学,学了忘。
  虽然每章结束时都介绍一些软件工程原理,但是将它们作为章节说明可以更好地掌握它们。因此,在各章结束时简短回顾可以总结本章所讲述的原理。本书的其余部分不包含软件工程原理的内容。你可以把它们作为课外阅读材料来学习,也可以完全不理会这些内容。
练习题
  练习题包括3部分,复杂程序依次增大。
“复习题”以简短的正确/错误问答,以及多项选择题来测试学生对所学内容的理解。
“练习”是包含本章所讲内容的简短问题。所选问题的答案可以从Brooks/Cole站点得到。
“项目”是较长、较大的任务,它可能平均需要花费6~9个小时来完成。
  Instructor’s Solution Manual(联机可得)包含所有复习题、练习的完整答案。

内容简介
 
图书目录
 
目 录
第1章 计算机导论 1
1.1 计算机系统 1
1.2 计算机硬件 1
1.3 计算机软件 2
1.3.1 系统软件 2
1.3.2 应用软件 3
1.4 计算环境 3
1.4.1 个人计算环境 3
1.4.2 分时环境 4
1.4.3 客户机/服务器环境 4
1.4.4 分布式计算 4
1.5 计算机语言 5
1.5.1 机器语言 5
1.5.2 符号语言 6
1.5.3 高级语言 7
1.5.4 自然语言 7
1.6 编写、编辑、编译和连接程序 8
1.6.1 编写和编辑程序 8
1.6.2 编译程序 8
1.6.3 连接程序 8
1.7 程序的执行 9
1.8 系统开发 9
1.8.1 系统开发生存周期 10
1.8.2 程序开发 10
1.9 软件工程和编程风格 14
1.10 要点和常见的编程错误 15
1.11 练习题 16
1.11.1 复习题 16
1.11.2 练习 17

第2章 C++语言简介 18
2.1 背景知识 18
2.2 C++程序 19
2.2.1 C++程序的结构 19
2.2.2 一个简单的程序 19
2.2.3 第一个程序 20
2.2.4 注释 22
2.3 标识符 23
2.4 数据类型 24
2.4.1 空型数据 25
2.4.2 整型数据 25
2.4.3 字符型数据 26
2.4.4 浮点型数据 26
2.4.5 C++中的逻辑数据 27
2.5 变量 28
2.5.1 变量声明和定义 28
2.5.2 变量初始化 29
2.6 常量 30
2.6.1 整型常量 30
2.6.2 浮点常量 31
2.6.3 字符常量 31
2.6.4 字符串常量 32
2.6.5 布尔常量 32
2.7 编码常量 33
2.7.1 字面量常量 33
2.7.2 定义常量 33
2.7.3 内存常量 33
2.7.4 小结 34
2.8 读写数据 34
2.8.1 数据源和目标 35
2.8.2 标准流 35
2.8.3 往标准输出中写数据(cout) 36
2.8.4 写入错误(cerr和clog) 37
2.8.5 格式化输出 37
2.8.6 从标准输入中读数据(cin) 45
2.9 编程举例 46
2.9.1 打印“Nothing!” 46
2.9.2 打印字符值 47
2.9.3 计算面积和周长 48
2.10 软件工程和编程风格 50
2.10.1 程序文档 50
2.10.2 数据名称 51
2.10.3 数据隐匿 52
2.11 提示和常见的编程错误 53
2.12 练习题 53
2.12.1 复习题 53
2.12.2 练习 54
2.12.3 项目 55

第3章 C++程序的结构 57
3.1 表达式 57
3.1.1 基本表达式 58
3.1.2 二元表达式 59
3.1.3 赋值表达式 61
3.1.4 后缀表达式 63
3.1.5 一元表达式 64
3.2 优先级和结合性 66
3.2.1 优先级 67
3.2.2 结合性 68
3.3 副作用 69
3.4 表达式求值 70
3.4.1 没有副作用的表达式 70
3.4.2 有副作用的表达式 70
3.4.3 警告 72
3.5 混合型表达式 72
3.5.1 隐式类型转换 73
3.5.2 显式类型转换(强制转换) 74
3.6 语句 76
3.6.1 表达式语句 76
3.6.2 复合语句 77
3.6.3 语句和定义常量 77
3.7 示例程序 78
3.7.1 示例:计算商和余数 78
3.7.2 示例:显示整数右边的数字 79
3.7.3 示例:计算平均数 79
3.7.4 示例:把弧度转换为角度 80
3.7.5 示例:将华氏温度转换为
摄氏温度 81
3.7.6 示例:计算销售总额 82
3.7.7 示例:计算学生分数 83
3.8 软件工程和编程风格 85
3.8.1 KISS 86
3.8.2 括弧 86
3.8.3 用户通信 86
3.9 提示与常见的编程错误 87
3.10 练习题 88
3.10.1 复习题 88
3.10.2 练习 89
3.10.3 项目 90

第4章 函数 92
4.1 设计结构化程序 92
4.2 C++中的函数 93
4.3 用户定义函数 95
4.3.1 没有参数的void函数 95
4.3.2 带有参数的void函数 96
4.3.3 返回值的函数 97
4.3.4 函数定义 99
4.3.5 原型声明 100
4.3.6 函数调用 101
4.3.7 函数示例 102
4.3.8 参数传递 107
4.4 默认参数变元 112
4.5 标准库函数 113
4.5.1 用于数学运算的标准函数 113
4.5.2 一般库函数 115
4.5.3 换算随机数字 117
4.6 作用域 119
4.6.1 一般规则 119
4.6.2 全局作用域 119
4. 6.3 局部作用域 120
4.7 编程示例——计算器程序 121
4.8 软件工程和编程风格 122
4.8.1 结构图 122
4.8.2 结构图规则和符号 123
4.8.3 函数内聚性 125
4.8.4 自上至下的开发 126
4.9 提示和常见的编程错误 128
4.10 练习题 129
4.10.1 复习题 129
4.10.2 练习 130
4.10.3 项目 131

第5章 选择——决策 134
5.1 逻辑数据和操作符 134
5.1.1 C++中的逻辑数据 134
5.1.2 逻辑操作符 134
5.1.3 逻辑表达式求值 136
5.1.4 关系操作符 138
5.2 双向选择 139
5.2.1 if...else语句 140
5.2.2 无效的else语句 141
5.2.3 嵌套if语句 142
5.2.4 悬挂else问题 143
5.2.5 简化if语句 144
5.2.6 条件表达式 145
5.2.7 处理主要错误 146
5.2.8 双向选择示例 147
5.3 多向选择 151
5.3.1 switch语句 151
5.3.2 else-if语句 156
5.4 其他标准库函数 157
5.5 菜单程序 159
5.6 软件工程和编程风格 162
5.6.1 从属语句 162
5.6.2 否定逻辑 163
5.6.3 选择语句规则 163
5.6.4 结构图中的选择 164
5.7 提示及常见的编程错误 165
5.8 练习题 166
5.8.1 复习题 166
5.8.2 练习 167
5.8.3 项目 169

第6章 循环 173
6.1 循环的概念 173
6.2 前测型循环与后测型循环 173
6.3 初始化与更新 175
6.3.1 循环初始化 175
6.3.2 循环更新 175
6.4 事件控制循环与计数器控制循环 175
6.4.1 事件控制循环 176
6.4.2 计数器控制循环 176
6.4.3 循环对比 177
6.5 C++中的循环 177
6.5.1 while循环 177
6.5.2 for循环 181
6.5.3 do...while循环 184
6.5.4 逗号表达式 186
6.6 循环示例 188
6.6.1 for循环 188
6.6.2 while循环 193
6.6.3 do...while循环 194
6.7 与循环相关的其他语句 197
6.7.1 break语句 197
6.7.2 continue语句 198
6.8 循环应用 200
6.8.1 求和 200
6.8.2 求积 201
6.8.3 最小数与最大数 201
6.8.4 查询 202
6.9 递归 203
6.9.1 迭代定义 203
6.9.2 递归定义 204
6.9.3 阶乘——迭代的解决方法 204
6.9.4 阶乘——递归的解决方法 205
6.9.5 设计递归函数 205
6.9.6 Fibonacci数字 206
6.9.7 递归的限制 208
6.9.8 河内塔 209
6.9.9 河内塔递归解决方法 209
6.10 编程示例——计算器程序 212
6.11 软件工程与编程风格 214
6.11.1 结构图中的循环 214
6.11.2 确定算法的效率 215
6.11.3 线性循环 215
6.11.4 对数循环 216
6.11.5 嵌套循环 216
6.11.6 效率的标准度量 219
6.12 提示与常见的编程错误 219
6.13 练习题 220
6.13.1 复习题 220
6.13.2 练习 222
6.13.3 项目 224

第7章 文本I/O 228
7.1 输入实体和输出实体 228
7.1.1 文件 228
7.1.2 标准输入 229
7.1.3 标准输出 229
7.1.4 标准错误 229
7.2 流 229
7.2.1 创建流与连接流 230
7.2.2 标准流 230
7.2.3 文件流 231
7.3 标准库输入/输出函数 231
7.4 格式化输入与格式化输出 234
7.4.1 输入输出操作符 234
7.4.2 格式化数据 235
7.4.3 小结 244
7.5 文件示例 245
7.6 字符输入/输出函数 248
7.6.1 get 248
7.6.2 put 248
7.7 字符输入/输出示例 249
7.7.1 创建文本文件 249
7.7.2 复制文本文件 249
7.7.3 计算字符和行数 250
7.7.4 计算文件中的字数 251
7.8 检测文件错误 253
7.8.1 流状态 253
7.8.2 错误恢复 255
7.9 软件工程与编程风格 257
7.10 提示与常见的编程错误 260
7.11 练习题 260
7.11.1 复习题 260
7.11.2 练习 261
7.11.3 项目 262

第8章 数组 264
8.1 概念 264
8.2 在C++中使用数组 266
8.2.1 声明和定义 266
8.2.2 在数组中存取元素 267
8.2.3 在数组中存储值 267
8.2.4 索引操作符的优先级 270
8.2.5 索引范围检查 270
8.3 数组和函数 273
8.3.1 传递个体元素 273
8.3.2 传递整个数组 274
8.4 数组应用 275
8.4.1 频率数组 275
8.4.2 直方图 276
8.4.3 随机数序列 279
8.5 排序 281
8.5.1 选择排序法 282
8.5.2 选择排序算法 282
8.5.3 上推(冒泡)排序法 283
8.5.4 上推(冒泡)排序算法 284
8.5.5 插入排序法 285
8.5.6 插入排序算法 285
8.5.7 重新编写的插入排序法 287
8.5.8 排序总结 288
8.6 搜索 288
8.6.1 顺序搜索 289
8.6.2 对分搜索 291
8.7 二维数组 293
8.7.1 声明与定义二维数组 294
8.7.2 把二维数组传递到函数 298
8.7.3 数组示例 299
8.8 多维数组 301
8.9 编程示例——计算行和列的平均数 302
8.10 软件工程与编程风格 304
8.10.1 测试排序 305
8.10.2 测试搜索 305
8.10.3 分析排序算法 305
8.10.4 分析搜索算法 307
8.11 提示和常见的编程错误 308
8.12 练习题 309
8.12.1 复习题 309
8.12.2 练习 310
8.12.3 项目 311

第9章 指针 315
9.1 概念 315
9.1.1 指针常量 315
9.1.2 指针值 316
9.2 指针变量 318
9.3 通过指针存取变量 318
9.4 指针声明和定义 320
9.5 指针变量的初始化 321
9.5.1 示例:指针游戏 322
9.5.2 示例:添加两个数字 323
9.5.3 示例:指针弹性 324
9.5.4 示例:一个变量的多个指针 324
9.6 指针和函数 325
9.6.1 作为形参的指针 325
9.6.2 返回指针函数 326
9.7 指针的指针 327
9.8 兼容性 329
9.8.1 兼容性和void指针 330
9.8.2 强制转换指针 330
9.9 读写指针值 331
9.10 左值和右值 332
9.11 指针应用 334
9.11.1 把秒转换为小时 334
9.11.2 二次方程 335
9.12 数组和指针 339
9.13 指针运算和数组 341
9.13.1 指针和一维数组 341
9.13.2 指针和其他操作符 343
9.13.2 指针和二维数组 344
9.14 把数组传递给函数 345
9.15 内存配置函数 347
9.16 指针数组 353
9.17 编写应用 354
9.17.1 再研究选择排序法 354
9.17.2 动态数组 356
9.18 软件工程和编程格式 360
9.18.1 指针和函数调用 361
9.18.2 指针和数组 361
9.18.3 数组索引交换性 361
9.18.4 动态内存:理论和实践 361
9.19 要点和常见的编程错误 362
9.20 练习题 364
9.20.1 复习题 364
9.20.2 练习 366
9.20.3 项目 371

第10章 类 375
10.1 基本的类概念 375
10.1.1 存取说明符 375
10.1.2 创建类 377
10.2 类对象 380
10.2.1 实例化 380
10.2.2 访问对象成员 380
10.2.3 使用类 381
10.2.4 this指针 384
10.3 管理器函数 384
10.3.1 构造函数 384
10.3.2 复制构造函数 390
10.3.3 析构函数 393
10.4 增变器和存取器 394
10.4.1 增变器函数 394
10.4.2 存取器函数 394
10.5 类常量 394
10.5.1 最大公约数 395
10.5.2 构造函数 395
10.5.3 改变存储函数 396
10.5.4 修订的分数类 397
10.6 复杂的类函数 399
10.6.1 一元类函数 399
10.6.2 二元类函数 401
10.6.3 比较分数 405
10.7 编写应用程序 405
10.7.1 account类 405
10.7.2 time类 407
10.8 软件工程和编程风格 410
10.8.1 UML:类图 410
10.8.2 类之间的关系 411
10.8.3 UML:对象 412
10.9 提示和常见编程错误 413
10.10 练习题 413
10.10.1 复习题 413
10.10.2 练习 414
10.10.3 项目 416

第11章 更多类功能和其他类型 417
11.1 内联函数 417
11.1.1 非成员内联函数 418
11.1.2 内联成员函数 418
11.2 初始化列表 419
11.3 重载 420
11.3.1 操作符重载 420
11.3.2 最终的分数类头文件 425
11.4 静态成员 429
11.4.1 静态数据成员 430
11.4.2 静态函数成员 431
11.4.3 静态成员的示例 431
11.5 友元类 433
11.6 类和指针 433
11.6.1 包含指针的类 433
11.6.2 对象的指针 435
11.7 对象数组 436
11.7.1 对象的初始化 436
11.7.2 访问对象 437
11.8 结构 438
11.8.1 结构应用程序 439
11.8.2 初始化 439
11.8.3 小结 440
11.9 联合 440
11.9.1 引用联合 441
11.9.2 初启程序 441
11.10 枚举类型 442
11.10.1 声明一个枚举类型 442
11.10.2 为枚举类型赋值 443
11.10.3 枚举类型的转换 443
11.10.4 初始化枚举常量 444
11.10.5 匿名的枚举:常量 444
11.11 类型定义(typedef) 445
11.11.1 typedef和移植式程序 445
11.11.2 typedef和数组声明 446
11.12 编写应用程序 446
11.12.1 升降机的设计 446
11.12.2 升降机类 447
11.13 软件工程和编程风格 453
11.13.1 耦合 453
11.13.2 数据隐藏 456
11.13.3 小结 456
11.14 提示和常见的编程错误 456
11.15 练习题 457
11.15.1 复习题 457
11.15.2 练习 458
11.15.3 项目 460

第12章 继承和聚集 462
12.1 继承 462
12.2 私有、保护和公有继承类型 465
12.2.1 私有继承类型 465
12.2.2 保护继承类型 466
12.2.3 公有继承类型 466
12.2.4 继承示例 466
12.2.5 多边形——三角形的实现 466
12.2.6 重写继承访问说明符 470
12.3 继承期间的管理器函数 470
12.3.1 构造函数 470
12.3.2 复制构造函数 471
12.3.3 析构函数 472
12.3.4 员工类示例 472
12.3.5 员工类程序 474
12.4 重写成员函数 475
12.4.1 重写方法示例 475
12.4.2 重写与重载 477
12.5 多态性 477
12.5.1 静态绑定 478
12.5.2 动态绑定和虚函数 479
12.6 纯虚函数:抽象类 481
12.6.1 纯虚函数 481
12.6.2 抽象类 481
12.7 分层类中的类型转换 486
12.7.1 强制转换对象 486
12.7.2 强制转换指向对象的指针 488
12.8 多重继承 489
12.9 聚集 491
12.9.1 示例:学生类 491
12.9.2 聚集与组合 494
12.10 软件工程和编程风格 495
12.10.1 程序设计概念 495
12.10.2 信息隐藏 495
12.10.3 内聚度 495
12.10.4 小结 498
12.11 提示和常见编程错误 498
12.12 练习题 498
12.12.1 复习题 498
12.12.2 练习 500
12.12.3 项目 501

第13章 模板 503
13.1 函数模板 503
13.1.1 模板格式 505
13.1.2 重载函数模板 507
13.1.3 混合参数类型 507
13.1.4 多重通用参数类型 508
13.1.5 函数模板与其他解决方案 510
13.2 类模板 511
13.2.1 类模板的语法 511
13.2.2 定义类 512
13.2.3 对象的实例化 513
13.2.4 数组类 513
13.2.5 专用成员函数 517
13.2.6 类模板继承 517
13.3 软件工程和编程风格 519
13.3.1 原子和复合数据 520
13.3.2 数据结构 520
13.3.3 抽象数据类型 521
13.3.4 抽象数据类型的模型 522
13.3.5 ADT和模板 522
13.4 提示和常见的编程错误 522
13.5 练习题 523
13.5.1 复习题 523
13.5.2 练习 523
13.5.3 项目 524

第14章 字符串 526
14.1 字符串的概念 526
14.1.1 固定长度字符串 526
14.1.2 可变长度字符串 527
14.2 C++字符串 527
14.3 C++字符串输入/输出 529
14.3.1 字符串输出(<<) 529
14.3.2 字符串输入(>>) 530
14.3.3 赋值操作符 532
14.3.4 C++字符串示例 533
14.4 字符串数组 536
14.5 字符串操作函数 536
14.5.1 字符串长度(length和size) 537
14.5.2 字符串比较 537
14.5.3 连接和附加 539
14.5.4 提取子字符串 541
14.5.5 搜索子字符串 542
14.5.6 搜索字符 543
14.5.7 访问和修改字符 546
14.5.8 字符串插入 547
14.5.9 替换字符串 548
14.5.10 删除字符串 549
14.5.11 交换字符串 550
14.5.12 转换为C字符串 551
14.6 程序设计示例:莫尔斯电码 551
14.7 C字符串 557
14.7.1 C字符串的基本概念 557
14.7.2 C字符串输入/输出 558
14.7.3 C字符串函数库 559
14.7.4 把C字符串转换成
C++字符串 562
14.8 C字符串和C++字符串的比较 563
14.9 软件工程和编程风格 563
14.9.1 工资单案例分析 563
14.9.2 程序设计步骤 564
14.9.3 结构图设计 565
14.10 提示和常见的编程错误 568
14.11 练习题 569
14.11.1 复习题 569
14.11.2 练习 570
14.11.3 项目 572

第15章 异常处理 574
15.1 处理错误 574
15.1.1 传统的错误处理 574
15.1.2 使用异常处理机制 575
15.1.3 多重错误 578
15.1.4 通用处理程序 579
15.2 异常处理类 580
15.3 异常规范 583
15.3.1 抛出指定的异常 584
15.3.2 不抛出异常 584
15.3.3 抛出任何异常 585
15.3.4 unexpected异常 585
15.4 类中的异常 585
15.4.1 构造函数中的异常 586
15.4.2 析构函数中的异常 586
15.5 标准异常 587
15.5.1 逻辑错误 588
15.5.2 内存分配故障 589
15.5.3 I/O(文件)异常 589
15.5.4 将新类添加到标准异常类中 590
15.6 软件工程和编程风格 593
15.6.1 修改程序故障 593
15.6.2 人工调试 594
15.6.3 测试驱动程序 596
15.6.4 修改无效输出 596
15.7 提示和常见的编程错误 597
15.8 练习题 597
15.8.1 复习题 597
15.8.2 练习 598
15.8.3 项目 599

第16章 高级I/O概念 600
16.1 输入/输出类 600
16.2 文件状态 601
16.2.1 在读状态下打开文件 602
16.2.2 在写状态下打开文件 602
16.2.3 I/O系统标志符 603
16.2.4 测试文件是否打开 604
16.2.5 打开和重载构造函数 604
16.3 文本文件和二进制文件 605
16.4 文件的标准库函数 605
16.4.1 块输入/输出函数 606
16.4.2 定位函数 609
16.4.3 块I/O示例:附加文件 612
16.5 转换文件类型 613
16.5.1 从文本文件创建二进制文件 614
16.5.2 从二进制文件创建文本文件 616
16.6 字符串流 619
16.6.1 写入字符串 619
16.6.2 读取字符串 620
16.7 文件程序示例 621
16.7.1 随机文件存取 621
16.7.2 合并文件 623
16.8 软件工程和编程风格 626
16.8.1 更新文件 626
16.8.2 顺序文件更新 627
16.8.3 更新程序设计 627
16.8.4 更新错误 628
16.8.5 更新结构图 629
16.8.6 更新逻辑 629
16.8.7 小结 630
16.9 提示和常见的编程错误 630
16.10 练习题 631
16.10.1 复习题 631
16.10.2 练习 632
16.10.3 项目 636

第17章 链表 638
17.1 链表结构 638
17.1.1 节点 638
17.1.2 链表的声明 639
17.1.3 链接列表的顺序 640
17.1.4 指向链表的指针 640
17.2 基本的链表函数 640
17.2.1 添加节点 641
17.2.2 删除节点 644
17.2.3 搜索链表 646
17.2.4 遍历链表 647
17.3 链表设计 649
17.3.1 节点类 649
17.3.2 列表类 649
17.3.3 类的迭代器 654
17.4 编程示例——链表平均值 657
17.4.1 构建链表 658
17.4.2 打印列表 659
17.4.3 打印列表的平均值 660
17.5 软件工程和编程风格 662
17.5.1 质量的定义 662
17.5.2 质量要素 662
17.5.3 质量周期 664
17.5.4 小结 665
17.6 提示和常见的编程错误 665
17.7 练习题 666
17.7.1 复习题 666
17.7.2 练习 667
17.7.3 项目 668

附录A 流程图编制 671
A.1 辅助符号 671
A.1.1 流程线 672
A.1.2 连接符 672
A.2 主要符号 672
A.2.1 顺序语句 672
A.2.2 选择语句 674
A.2.3 循环语句 675

附录B 预处理器指令 678
B.1 文件包含 678
B.2 宏定义 679
B.2.1 简单的命令 679
B.2.2 参数化的宏 680
B.2.3 嵌套的宏 681
B.2.4 宏语句的延续 682
B.2.5 字符串命令(#) 683
B.2.6 合并命令(# #) 683
B.2.7 取消定义命令 683
B.3 条件编译 683
B.3.1 if...else命令 684
B.3.2 有条件多向选择 684
B.3.3 排除代码 685
B.3.4 如果已定义(ifdef/ifndef)
命令 685
B.4 防止重复的库文件包含 686

附录C 与输入输出有关的类 688
C.1 ios类 688
C.1.1 错误状态标志位 688
C.1.2 ios标志位 689
C.1.3 定位标志位 689
C.1.4 格式标志位 689
C.1.5 格式参数 690
C.2 ios的派生类 690
C.2.1 输入流 691
C.2.2 输出流 691
C.3 istream和ostream的派生类 691
C.3.1 输入文件流 691
C.3.2 输入/输出流 692
C.3.3 输出文件流 692
C.3.4 I/O字符串流 692
C.4 iostream的派生类 692
C.4.1 文件流 692
C.4.2 字符串流 692

附录D C语言的I/O 693
D.1 标准库的输入/输出函数 693
D.1.1 C的文件和流 693
D.1.2 文件表 694
D.1.3 标准的C文件 694
D.1.4 用户文件 694
D.2 文件打开和关闭 694
D.2.1 文件打开(fopen) 694
D.2.2 文件模式 695
D.2.3 文件关闭(fclose) 696
D.3 格式化输入/输出函数 696
D.3.1 输入格式化 696
D.3.2 输出格式化 697
D.3.3 格式化字符串 697
D.4 字符输入/输出函数 702
D.4.1 getchar 702
D.4.2 putchar 702
D.4.3 getc和fgetc 703
D.4.4 putc和fputc 703
D.5 字符串输入/输出函数 703
D.5.1 读字符串(gets/fgets) 703
D.5.2 写字符串(puts/fputs) 704
D.6 块输入/输出函数 705
D.6.1 文件读(fread) 705
D.6.2 文件写(fwrite) 706
D.7 文件状态函数 706
D.7.1 测试EOF(feof) 706
D.7.2 测试错误(ferror) 706
D.7.3 清除错误(clearerr) 706
D.8 定位函数 707
D.8.1 当前位置(ftell) 707
D.8.2 设定位置(fseeD) 707



D.9 C的I/O函数汇总 708

附录E 命名空间 709
E.1 背景 709
E.2 使用命名空间的名称 711
E.2.1 全称 711
E.2.2 使用命令 711
E.2.3 使用声明 712
E.2.4 命令和声明之间的区别 712
E.3 声明命名空间 713
E.3.1 声明 714
E.3.2 扩展 714
E.3.3 嵌套 714
E.4 命名空间的类型 716
E.4.1 命名的命名空间 716
E.4.2 全局命名空间 716
E.4.3 未命名的命名空间 716

附录F 标准模板库 718
F.1 容器 718
F.1.1 顺序容器 718
F.1.2 列表 721
F.1.3 关联容器 722
F.2 容器适配器 728
F.2.1 堆栈 728
F.2.2 队列 728
F.2.3 优先队列 729
F.3 迭代器 730
F.3.1 输入迭代器 730
F.3.2 输出迭代器 730
F.3.3 正向迭代器 731
F.3.4 双向迭代器 731
F.3.5 随机存取迭代器 732
F.3.6 层次关系 732
F.3.7 迭代器支持的操作符 733
F.4 通用算法 733
F.5 函数对象 733

 
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址:上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:jienuo2409@126.com  经营许可证编号:沪ICP备06038574号-非法信息举报:15925619686-
版权所有 2003-2008 © All Rights Reserved .购书网