书籍详情
好学的C++(第2版)
作者:(美) Brian Overland 著,杨晓云 ,王建桥 ,杨涛 等译
出版社:人民邮电出版社
出版时间:2012-01-01
ISBN:9787115268334
定价:¥69.00
购买这本书可以去
内容简介
程序设计是一项复杂的任务,C++语言可以供专家使用。许多优秀的游戏、图形和Internet应用都是用C++编写的。这些事实让人产生错觉:没有基础的人很难掌握C++。本书作者要告诉你:C++并不可怕!他将带领你轻松地学习C++,体会编程的乐趣,迅速进入C++的世界。作者非常了解初学者的问题和困惑,以通俗易懂的语言、丰富的范例、清楚的解释,大量的练习,全方位地讨论了C++的关键主题,涵盖的内容从一般的编程概念和技术到C++的具体语言特性。通过本书的学习,读者可迅速掌握C++编程。这一版还在前一版的基础上,增加了大量示例和有关C++0x规范方面的内容,是新手学习C++的最佳入门。本书共18章9个附录,面向完全没有开发经验的读者,讲授清晰、扎实的编程基础与C++特性。
作者简介
BrianOverland具有丰富的编程和教学经验。在微软工作的10年间,他既是项目负责人,又写过C++程序和文档。这一独特的背景造就了其语言生动、用词精确的写作风格,深知如何用浅显和清晰的方式讲授抽象的知识和特性。他出版了6本编程类图书,其中包括C++in Plain English, Third Edition。
目录
第1 章 第一个C++程序 1
1.1 像程序员那样思考 1
1.2 C++有什么与众不同之处 5
1.3 建立C++程序 6
1.4 安装C++编译器 8
1.5 前进到下一行 13
1.6 保存数据:C++变量 15
1.7 数据类型简介 16
1.8 变量名和关键字 23
1.9 小结 24
第2 章 判断,再判断 26
2.1 数据类型 26
2.2 程序中的判断 27
2.3 循环语句 34
2.4 C++中的真与假 39
2.5 递增操作符 40
2.6 语句与表达式 41
2.7 布尔(短路)逻辑 42
2.8 math 库简介 45
2.9 小结 50
第3 章 一专多能的for 语句 52
3.1 用于计数的循环 52
3.2 for 循环简介 53
3.3 for 语句用法示例 54
3.4 for 语句的复合语句语法 57
3.5 临时声明循环变量 58
3.6 它山之石:Basic 语言中的for 语句 62
3.7 小结 63
第4 章 函数——分工与合作 64
4.1 函数的概念 64
4.2 函数的基本使用套路 65
4.3 局部变量和全局变量 72
4.4 递归函数 74
4.5 游戏,更多的游戏 88
4.6 小结 90
第5 章 数组——都给我排好队 92
5.1 初识C++数组 92
5.2 数组初始化 93
5.3 从零开始的下标 94
5.4 字符串和字符串数组 101
5.5 经验之谈 111
5.6 二维数组——矩阵 112
5.7 小结 113
第6 章 指针——我知道数据在哪里 114
6.1 指针到底是什么 114
6.2 指针的概念 114
6.3 声明和使用指针 116
6.4 swap——另一个使用指针的函数 122
6.5 指针运算 127
6.6 指针与数组处理 129
6.7 小结 132
第7 章 字符串——分析文本 134
7.1 字符串的存储方式 134
7.2 字符串的声明和初始化 136
7.3 字符串处理函数 137
7.4 读取字符串输入 141
7.5 单个字符与字符串 147
7.6 C++中的string 类型 150
7.7 string 类型上的其他操作 154
7.8 小结 155
第8 章 文件——电子存储 157
8.1 文件流对象简介 157
8.2 引用磁盘文件 159
8.3 文本文件与二进制文件 164
8.4 二进制操作简介 166
8.5 小结 173
第9 章 一些高级编程技术 175
9.1 命令行参数 175
9.2 函数重载 179
9.3 do-while 循环 183
9.4 switch-case 语句 184
9.5 多模块 185
9.6 异常处理:出问题找我 188
9.7 小结 191
第10 章 C++0x 的新功能 193
10.1 C++0x 功能概述 193
10.2 long long 类型 194
10.3 基于范围的for 203
10.4 auto 和decltype 关键字 208
10.5 nullptr 关键字 209
10.6 强类型枚举 210
10.7 纯字符串字面值 217
10.8 小结 218
第11 章 进入类的世界——Fraction类 220
11.1 面向对象:准智能数据类型 220
11.2 Point:一个简单的类 222
11.3 private 关键字:成员专用(保护数据) 224
11.4 Fraction 类简介 228
11.5 内嵌函数 230
11.6 寻找最大公约数 231
11.7 寻找最小公倍数 232
11.8 小结 242
第12 章 构造器——你的地盘你做主 244
12.1 构造器简介 244
12.2 多个构造器(重载) 245
12.3 仅限C++0x:在类声明里初始化成员 246
12.4 默认构造器 247
12.5 仅限C++0x:代理构造器 249
12.6 仅限C++0x:统一的初始化语法 250
12.7 引用变量和输入参数(&) 255
12.8 副本构造器 257
12.9 从字符串到分数的构造器 261
12.10 小结 263
第13 章 操作符函数:对象也运算 265
13.1 类操作符函数简介 265
13.2 声明操作符函数为全局函数 267
13.3 用引用来提高效率 269
13.4 操作符函数的重载 277
13.5 类赋值操作符 277
13.6 “等于”比较操作符函数 278
13.7 类与流:operator<<函数 279
13.8 仅限C++0x:用户定义字面值 284
13.9 小结 286
第14 章 动态内存和String 类 289
14.1 动态内存:new 关键字 289
14.2 对象和new 关键字 290
14.3 为多个数据分配内存 292
14.4 类的析构器 295
14.5 深复制和副本构造器 300
14.6 this 关键字 301
14.7 再论赋值操作符 302
14.8 编写字符串合并函数 304
14.9 小结 308
第15 章 两个完整的OOP 编程示例 310
15.1 链表简介 310
15.2 汉诺塔动画版 321
15.3 小结 328
第16 章 STL 库——让编程不再困难 330
16.1 list 模板简介 330
16.2 设计RPN 计算器 338
16.3 尖括号的正确解释 346
16.4 小结 346
第17 章 继承——推陈出新 348
17.1 继承方式 348
17.2 FloatFraction 类存在的问题 352
17.3 仅限C++0x:继承基类的构造器 353
17.4 protected 成员 356
17.5 对象包含 357
17.6 深思熟虑的继承方案 359
17.7 小结 361
第18 章 多态——让对象独立自主 363
18.1 FlaotFraction 类的另一种实现办法 363
18.2 虚函数简介 364
18.3 仅限C++0x:必须明确地进行覆盖 369
18.4 纯虚函数和其他抽象概念 370
18.5 抽象类和接口 371
18.6 面向对象与输入和输出流 372
18.7 写在最后 377
18.8 结束语 378
18.9 小结 379
附录A 操作符 381
A.1 范围操作符 383
A.2 sizeof 操作符 384
A.3 老式和新式的强制类型转换 384
A.4 整数除法与浮点数除法 385
A.5 位操作符(&、|、^、~、<<和>>) 386
A.6 条件操作符 386
A.7 赋值操作符 387
A.8 并置操作符 387
附录B 数据类型 388
B.1 数据类型的精度 389
B.2 数值型字面值的数据类型 389
B.3 字符串字面值和转义序列 390
B.4 带符号整数的二进制补码 391
附录C 语法汇总 393
C.1 基本表达式 393
C.2 基本语句 394
C.3 控制结构和分支语句 394
C.4 变量声明 399
C.5 函数声明 401
C.6 类声明 402
C.7 枚举类型声明 403
附录D 预处理器指令 405
D.1 #define 指令 405
D.2 ## 操作符(合并) 406
D.3 defined 函数 406
D.4 #elif 指令 407
D.5 #endif 指令 407
D.6 #error 指令 407
D.7 #if 指令 408
D.8 #ifdef 指令 408
D.9 #ifndef 指令 409
D.10 #include 指令 409
D.11 #line 指令 410
D.12 #undef 指令 410
D.13 预定义常数 410
附录E ASCII 编码 411
附录F 标准库函数 414
F.1 字符串(C 字符串)函数 414
F.2 数据转换函数 415
F.3 单字符函数 415
F.4 数学函数 416
F.5 随机函数 417
F.6 时间函数 417
F.7 strftime 函数的输出格式 419
附录G I/O 流对象和类 421
G.1 控制台流对象 421
G.2 I/O 流的处理符 422
G.3 输入流函数 423
G.4 输出流函数 423
G.5 文件I/O 函数 423
附录H STL 类和对象 426
H.1 STL 库string 类 426
H.2 <list>模板 428
H.3 <stack>模板 429
附录I 术语表 431
1.1 像程序员那样思考 1
1.2 C++有什么与众不同之处 5
1.3 建立C++程序 6
1.4 安装C++编译器 8
1.5 前进到下一行 13
1.6 保存数据:C++变量 15
1.7 数据类型简介 16
1.8 变量名和关键字 23
1.9 小结 24
第2 章 判断,再判断 26
2.1 数据类型 26
2.2 程序中的判断 27
2.3 循环语句 34
2.4 C++中的真与假 39
2.5 递增操作符 40
2.6 语句与表达式 41
2.7 布尔(短路)逻辑 42
2.8 math 库简介 45
2.9 小结 50
第3 章 一专多能的for 语句 52
3.1 用于计数的循环 52
3.2 for 循环简介 53
3.3 for 语句用法示例 54
3.4 for 语句的复合语句语法 57
3.5 临时声明循环变量 58
3.6 它山之石:Basic 语言中的for 语句 62
3.7 小结 63
第4 章 函数——分工与合作 64
4.1 函数的概念 64
4.2 函数的基本使用套路 65
4.3 局部变量和全局变量 72
4.4 递归函数 74
4.5 游戏,更多的游戏 88
4.6 小结 90
第5 章 数组——都给我排好队 92
5.1 初识C++数组 92
5.2 数组初始化 93
5.3 从零开始的下标 94
5.4 字符串和字符串数组 101
5.5 经验之谈 111
5.6 二维数组——矩阵 112
5.7 小结 113
第6 章 指针——我知道数据在哪里 114
6.1 指针到底是什么 114
6.2 指针的概念 114
6.3 声明和使用指针 116
6.4 swap——另一个使用指针的函数 122
6.5 指针运算 127
6.6 指针与数组处理 129
6.7 小结 132
第7 章 字符串——分析文本 134
7.1 字符串的存储方式 134
7.2 字符串的声明和初始化 136
7.3 字符串处理函数 137
7.4 读取字符串输入 141
7.5 单个字符与字符串 147
7.6 C++中的string 类型 150
7.7 string 类型上的其他操作 154
7.8 小结 155
第8 章 文件——电子存储 157
8.1 文件流对象简介 157
8.2 引用磁盘文件 159
8.3 文本文件与二进制文件 164
8.4 二进制操作简介 166
8.5 小结 173
第9 章 一些高级编程技术 175
9.1 命令行参数 175
9.2 函数重载 179
9.3 do-while 循环 183
9.4 switch-case 语句 184
9.5 多模块 185
9.6 异常处理:出问题找我 188
9.7 小结 191
第10 章 C++0x 的新功能 193
10.1 C++0x 功能概述 193
10.2 long long 类型 194
10.3 基于范围的for 203
10.4 auto 和decltype 关键字 208
10.5 nullptr 关键字 209
10.6 强类型枚举 210
10.7 纯字符串字面值 217
10.8 小结 218
第11 章 进入类的世界——Fraction类 220
11.1 面向对象:准智能数据类型 220
11.2 Point:一个简单的类 222
11.3 private 关键字:成员专用(保护数据) 224
11.4 Fraction 类简介 228
11.5 内嵌函数 230
11.6 寻找最大公约数 231
11.7 寻找最小公倍数 232
11.8 小结 242
第12 章 构造器——你的地盘你做主 244
12.1 构造器简介 244
12.2 多个构造器(重载) 245
12.3 仅限C++0x:在类声明里初始化成员 246
12.4 默认构造器 247
12.5 仅限C++0x:代理构造器 249
12.6 仅限C++0x:统一的初始化语法 250
12.7 引用变量和输入参数(&) 255
12.8 副本构造器 257
12.9 从字符串到分数的构造器 261
12.10 小结 263
第13 章 操作符函数:对象也运算 265
13.1 类操作符函数简介 265
13.2 声明操作符函数为全局函数 267
13.3 用引用来提高效率 269
13.4 操作符函数的重载 277
13.5 类赋值操作符 277
13.6 “等于”比较操作符函数 278
13.7 类与流:operator<<函数 279
13.8 仅限C++0x:用户定义字面值 284
13.9 小结 286
第14 章 动态内存和String 类 289
14.1 动态内存:new 关键字 289
14.2 对象和new 关键字 290
14.3 为多个数据分配内存 292
14.4 类的析构器 295
14.5 深复制和副本构造器 300
14.6 this 关键字 301
14.7 再论赋值操作符 302
14.8 编写字符串合并函数 304
14.9 小结 308
第15 章 两个完整的OOP 编程示例 310
15.1 链表简介 310
15.2 汉诺塔动画版 321
15.3 小结 328
第16 章 STL 库——让编程不再困难 330
16.1 list 模板简介 330
16.2 设计RPN 计算器 338
16.3 尖括号的正确解释 346
16.4 小结 346
第17 章 继承——推陈出新 348
17.1 继承方式 348
17.2 FloatFraction 类存在的问题 352
17.3 仅限C++0x:继承基类的构造器 353
17.4 protected 成员 356
17.5 对象包含 357
17.6 深思熟虑的继承方案 359
17.7 小结 361
第18 章 多态——让对象独立自主 363
18.1 FlaotFraction 类的另一种实现办法 363
18.2 虚函数简介 364
18.3 仅限C++0x:必须明确地进行覆盖 369
18.4 纯虚函数和其他抽象概念 370
18.5 抽象类和接口 371
18.6 面向对象与输入和输出流 372
18.7 写在最后 377
18.8 结束语 378
18.9 小结 379
附录A 操作符 381
A.1 范围操作符 383
A.2 sizeof 操作符 384
A.3 老式和新式的强制类型转换 384
A.4 整数除法与浮点数除法 385
A.5 位操作符(&、|、^、~、<<和>>) 386
A.6 条件操作符 386
A.7 赋值操作符 387
A.8 并置操作符 387
附录B 数据类型 388
B.1 数据类型的精度 389
B.2 数值型字面值的数据类型 389
B.3 字符串字面值和转义序列 390
B.4 带符号整数的二进制补码 391
附录C 语法汇总 393
C.1 基本表达式 393
C.2 基本语句 394
C.3 控制结构和分支语句 394
C.4 变量声明 399
C.5 函数声明 401
C.6 类声明 402
C.7 枚举类型声明 403
附录D 预处理器指令 405
D.1 #define 指令 405
D.2 ## 操作符(合并) 406
D.3 defined 函数 406
D.4 #elif 指令 407
D.5 #endif 指令 407
D.6 #error 指令 407
D.7 #if 指令 408
D.8 #ifdef 指令 408
D.9 #ifndef 指令 409
D.10 #include 指令 409
D.11 #line 指令 410
D.12 #undef 指令 410
D.13 预定义常数 410
附录E ASCII 编码 411
附录F 标准库函数 414
F.1 字符串(C 字符串)函数 414
F.2 数据转换函数 415
F.3 单字符函数 415
F.4 数学函数 416
F.5 随机函数 417
F.6 时间函数 417
F.7 strftime 函数的输出格式 419
附录G I/O 流对象和类 421
G.1 控制台流对象 421
G.2 I/O 流的处理符 422
G.3 输入流函数 423
G.4 输出流函数 423
G.5 文件I/O 函数 423
附录H STL 类和对象 426
H.1 STL 库string 类 426
H.2 <list>模板 428
H.3 <stack>模板 429
附录I 术语表 431
猜您喜欢