高质量程序设计指南 C++/C语言 第2版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:林锐,韩永泉编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2003
- ISBN:750538628X
- 页数:456 页
第1章 高质量软件开发之道 1
目录 1
1.1 软件质量基本概念 2
1.1.1 如何理解软件的质量 2
1.1.2 提高软件质量的基本方法 4
1.1.3 “零缺陷”理念 5
1.2.1 正确性 6
1.2.2 健壮性 6
1.2 细说软件质量属性 6
1.2.3 靠性 7
1.2.4 性能 8
1.2.5 易用性 9
1.2.6 清晰性 9
1.2.7 安全性 10
1.2.8 可扩展性 10
1.2.9 兼容性 10
1.3 人们关注的不仅仅是质量 11
1.3.1 质量、生产率和成本之间的关系 11
1.2.10 可移植性 11
1.3.2 软件过程改进基本概念 14
1.4 高质量软件开发的基本方法 16
1.4.1 建立软件过程规范 16
1.4.2 复用 19
1.4.3 分而治之 21
1.4.4 优化与折中 21
1.4.5 技术评审 22
1.4.6 测试 25
1.4.7 质量保证 27
1.4.8 改错 28
1.5 关于软件开发的一些常识和思考 30
1.5.1 有最好的编程语言吗 30
1.5.2 编程是一门艺术吗 30
1.5.3 编程时应该多使用技巧吗 31
1.5.4 换更快的计算机还是换更快的算法 31
1.5.5 错误是否应该分等级 31
1.5.6 一些错误的观念 32
1.6 小结 33
第2章 做好程序员 35
2.1 漫谈程序员 36
2.2 职业道德 37
2.2.1 上班时间不干与工作无关的事情 38
2.2.2 不损害集体利益 39
2.2.3 不干危害社会的事情 39
2.3 工作态度 40
2.3.1 认真负责 40
2.3.2 服务意识 41
2.4.1 合理安排一天的时间 42
2.4 高效率地工作 42
2.4.2 减少路上花费的时间 44
2.4.3 开会 45
2.4.4 处理电子邮件 45
2.4.5 随时记录 46
2.5 程序员佩服什么样的项目经理 46
2.5.1 丰富的产品开发经验和比较高的技术水平 47
2.5.2 懂得管事和管人 47
2.5.3 较好的人格魅力 48
2.6 将程序员培养成为经理 49
2.7 程序员升为项目经理后是否还要编程 50
2.8 学无止境 54
2.8.1 不断学习新技术 54
2.8.2 提高综合才能 55
2.8.3 向错误和失败学习 57
2.9 小结 59
第3章 编程语言发展简史 61
3.1 编程语言大事记 62
3.2 Ada的故事 66
3.3 C/C++发展简史 67
3.4 Borland与Microsoft之争 69
3.5 Java阵营与Microsoft的较量 70
3.6 小结 73
第4章 程序的基本概念 75
4.1 程序设计语言 76
4.2 语言实现 77
4.3 开发环境 78
4.4 程序的工作原理 79
第5章 C++/C程序设计入门 81
5.1.1 不可缺少的函数main() 82
5.1.2 main()的命令行参数和返回值 82
5.1 C++/C程序的基本概念 82
5.1.3 内部名称 85
5.1.4 声明、定义和语句 86
5.1.5 变量及其初始化 88
5.1.6 C Runtime Library 88
5.1.7 编译时和运行时的不同 89
5.1.8 编译单元和分离编译技术 90
5.2 基本数据类型和内存映像 91
5.3.1 隐式转换 92
5.3 类型转换 92
5.3.2 强制转换 94
5.4 标识符 96
5.5 转义序列 97
5.6 运算符 98
5.7 表达式 100
5.8 基本控制结构 102
5.9 选择(判断)结构 103
5.9.1 布尔变量与零值比较 103
5.9.3 浮点变量与零值比较 104
5.9.2 整型变量与零值比较 104
5.9.4 指针变量与零值比较 105
5.9.5 对if语句的补充说明 105
5.9.6 switch结构 106
5.10 循环(重复)结构 108
5.10.1 for语句的循环控制变量 109
5.10.2 循环语句的效率 110
5.11 结构化程序设计原理 112
5.12 goto/continue/break语句 112
5.13 示例 113
第6章 C++/C常量 121
6.1 认识常量 122
6.1.1 字面常量 122
6.1.2 符号常量 122
6.1.3 契约性常量 124
6.1.4 枚举常量 124
6.2 使用符号常量 125
6.3 const与#define的比较 126
6.4 类中的常量 126
第7章 C++/C函数设计基础 129
7.2 函数原型和定义 130
7.1 认识函数 130
7.3 函数调用方式 132
7.4 认识函数堆栈 134
7.5 参数传递规则 137
7.6 返回值的规则 139
7.7 函数内部实现的规则 142
7.8 存储类型及作用域规则 144
7.8.1 存储类型 145
7.8.2 作用域规则 146
7.8.3 连接类型 147
7.9 递归函数 149
7.10 使用断言 153
7.11 使用const提高函数的健壮性 156
7.11.1 用const修饰函数的参数 156
7.11.2 用const修饰函数的返回值 157
第8章 C++/C指针、数组和字符串 159
8.1 指针 160
8.1.1 指针的本质 160
8.1.2 指针的类型及其支持的运算 162
8.1.3 指针传递 164
8.2.1 数组的本质 166
8.2 数组 166
8.2.2 二维数组 169
8.2.3 数组传递 170
8.3 字符数组、字符指针和字符串 172
8.3.1 字符数组、字符串和“ ”的迷思 172
8.3.2 字符指针的误区 173
8.3.3 字符串复制和比较 174
8.4 数指针 174
8.5 引用和指针的比较 177
第9章 C++/C高级数据类型 181
9.1 结构(Struct) 182
91.1 关键字struct与class的困惑 182
9.1.2 使用struct 183
9.1.3 位域 187
9.2 联合(Union) 189
9.3 枚举(Enum) 193
9.4 文件 194
第10章 C++/C编译预处理 197
10.2 宏定义 198
10.1 文件包含 198
10.3.1 #if、#elif和#else 201
10.3 条件编译 201
10.3.2 #ifdef和#ifndef 202
10.4 #error 203
10.5 #pragma 203
10.6 #和##运算符 204
10.7 预定义符号常量 205
第11章 C++/C文件结构和程序版式 207
11.1 程序文件的目录结构 208
11.2.1 头文件的用途和结构 209
11.2 文件的结构 209
11.2.2 版权和版本信息 210
11.2.3 源文件结构 211
11.3 代码的版式 211
11.3.1 适当的空行 211
11.3.2 代码行及行内空格 212
11.3.3 长行拆分 214
11.3.4 对齐与缩进 215
11.3.6 注释风格 216
11.3.5 修饰符的位置 216
11.3.7 ADT/UDT版式 218
第12章 C++/C应用程序命名规则 221
12.1 共性规则 222
12.2 简单的Windows应用程序命名规则 223
第13章 C++/C面向对象程序设计方法概述 227
13.1 漫谈面向对象 228
13.2 对象的概念 229
13.3 信息隐藏与类的封装 230
13.4 类的继承特性 231
13.5 类的组合特性 233
13.6 动态特性 236
13.6.1 虚函数 236
13.6.2 抽象基类 237
13.6.3 动态决议 240
13.6.4 多态 242
13.7 C++对象模型 243
13.7.1 对象的内存映像 243
13.7.2 隐含成员和填补字节 247
13.7.3 C++编译器如何处理成员函数 248
13.7.4 C++编译器如何处理静态成员 249
13.8 小结 250
第14章 类的构造、析构与赋值函数 251
14.1 构造函数与析构函数的起源 252
14.2 为什么需要构造函数 253
14.3 构造函数的成员初始化列表 255
14.4 对象的构造和析构次序 258
14.5 构造函数和析构函数的调用时机 259
14.6 构造函数和赋值函数的重载 261
14.7 示例:类String的构造函数和析构函数 262
14.8 何时应该定义拷贝构造函数和拷贝赋值函数 263
14.9 示例:类String的拷贝构造函数和拷贝赋值函数 264
14.10 用偷懒的办法处理拷贝构造函数和拷贝赋值函数 267
14.11 如何实现派生类的基本函数 267
第15章 C++函数的高级特性 271
15.1.1 重载的起源 272
15.1.2 重载是如何实现的 272
15.1 函数重载的概念 272
15.1.3 当心隐式类型转换导致重载函数产生二义性 275
15.2 成员函数的重载、覆盖与隐藏 276
15.2.1 重载与覆盖 276
15.2.2 令人迷惑的隐藏规则 277
15.2.3 摆脱隐藏 279
15.3 参数的默认值 280
15.4 运算符重载 282
15.4.1 基本概念 282
15.4.2 运算符重载的特殊性 283
15.4.3 不能重载的运算符 284
15.4.4 重载++和-- 284
15.5 函数内联 287
15.5.1 用函数内联取代宏 287
15.5.2 内联函数的编程风格 288
15.5.3 慎用内联 289
15.6 类型转换函数 290
15.7 const成员函数 293
第16章 C++异常处理和RTTI 297
16.1 为什么要使用异常处理 298
16.2.1 异常处理的原理 299
16.2 C++异常处理 299
16.2.2 异常类型和异常对象 301
16.2.3 异常处理的语法结构 302
16.2.4 异常的类型匹配规则 304
16.2.5 异常说明及其冲突 305
16.2.6 当异常抛出时局部对象如何释放 306
16.2.7 对象构造和析构期间的异常 306
16.2.8 如何使用好异常处理技术 308
16.3 虚函数面临的难题 312
16.2.9 C++的标准异常 312
16.4 RTTI及其构成 315
16.4.1 起源 315
16.4.2 typeid运算符 316
16.4.3 dynamic cast<>运算符 318
16.4.4 RTTI的魅力与代价 321
第17章 C++名字空间和模板 323
17.1 名字空间 324
17.1.1 为什么要使用名字空间 324
17.1.2 名字空间的特性 325
17.1.3 如何使用名字空间 328
17.2 模板技术 331
17.2.1 基本概念 331
17.2.2 类模板 332
17.2.3 模板参数 335
17.2.4 函数模板 338
17.2.5 模板实例化 342
17.2.6 模板特化 344
第18章 内存管理 347
18.2 常见的内存错误及其对策 348
18.1 内存分配方式 348
18.3 指针参数是如何传递内存的 350
18.4 free和delete把指针怎么啦 353
18.5 动态内存会被自动释放吗 354
18.6 杜绝“野指针” 354
18.7 有了malloc/free为什么还要new/delete 356
18.8 malloc/free的使用要点 358
18.9 new有3种使用方式 359
18.9.1 plain new 359
18.9.3 placement new/delete 360
18.9.2 nothrow new 360
18.10 new/delete的使用要点 364
18.11 内存耗尽怎么办 365
18.12 用对象模拟指针 367
18.13 泛型指针 370
第19章 学习和使用STL 373
19.1 STL简介 374
19.2 STL头文件的分布 375
19.2.1 容器类 375
19.2.4 数学运算库 376
19.2.2 泛型算法 376
19.2.3 迭代器 376
19.2.5 通用工具 377
19.2.6 其他头文件 377
19.3 容器设计原理 377
19.3.1 内存映像 377
19.3.2 存储方式和访问方式 379
19.3.3 顺序容器和关联式容器的比较 380
19.3.4 如何遍历容器 383
19.3.5 存储空间重分配问题 384
19.3.6 什么样的对象才能作为STL容器的元素 385
19.4 迭代器 388
19.4.1 迭代器的本质 388
19.4.2 迭代器失效及其危险性 392
19.5 存储分配器 394
19.6 适配器 394
19.7 泛型算法 398
19.8 一些特殊的容器 403
19.8.1 string类 403
19.8.2 bitset并非set 404
19.8.3 节省存储空间的vector〈bool〉 406
19.8.4 空容器 408
19.9 STL容器特征总结 410
19.10 STL使用心得 414
附录A C++/C试题 415
附录B C++/C试题的答案与评分标准 419
附录C 大学十年 425
附录D 《大学十年》后记 447
附录E 术语与缩写解释 449
参考文献 451
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017