书籍详情

计算机科学:C++软件工程方法

计算机科学:C++软件工程方法

作者:(美)弗罗占(Forouzan, B.A.), (美)吉尔博格(Gilberg, R.F.)著;李海峰译

出版社:清华大学出版社

出版时间:2006-01-01

ISBN:9787302120414

定价:¥85.00

购买这本书可以去
内容简介
  本书采用结构化、循序渐进方法讲解编程基本原理。基于较早培养良好习惯的原则,本书通过强调结构化编程原则和软件工程原理介绍了计算机科学知识。本书所有完整的程序都采用连贯的风格,作者详细分析了这些程序,深入解释了编程风格和标准,在介绍具体的C++语言实现之前,通常都会总结相关的原理和原则,便于读者理解和掌握核心概念。本书特色扩展了对类的介绍,安排整章内容介绍模板、继承和异常处理重新编写了书中的程序,反映了C++的风格和功能增加了对字符串的介绍,反映了最新的ISO字符串类大量练习题为学生提供了练习编程的机会配套网站提供源代码下载:http://compsci.brookscole.com
作者简介
暂缺《计算机科学:C++软件工程方法》作者简介
目录

目 录
第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
猜您喜欢

读书导航