《C++从入门到精通》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:国家863中部软件孵化器编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2010
  • ISBN:9787115222855
  • 页数:521 页
图书介绍:本书以零基础讲解为铺垫,用实例引导读者学习,采用“基础知识→核心技术→应用开发→项目实战→王牌资源”的讲解模式,将C++的各项技术及实战技能一一道来。

如何学习C++ 1

第1篇 基础知识 2

第1章 初识C++——C++程序设计入门 2

1.1 C++概述 3

1.1.1 C++能做什么 3

1.1.2 C++的由来 5

1.1.3 C++的特点 5

1.2 程序设计概述 6

1.2.1 结构化程序设计 7

1.2.2 面向对象程序设计 7

1.3 C、C++与Visual C++ 7

1.3.1 C与C++ 7

1.3.2 C++与Visual C++ 8

1.4 练一练 9

1.5 跟我上机 10

第2章 开始C++编程之旅——Hello,C++ 11

2.1 C++开发环境——Visual C++6.0 12

2.1.1 Visual C++6.0概述 12

2.1.2 开始C++程序——【新建】对话框 12

2.1.3 项目管理——工作区窗口 13

2.1.4 窗体及代码编辑——编辑窗口 14

2.1.5 程序调试——输出窗口 15

2.2 C++程序开发 15

2.2.1 基本概念 15

2.2.2 C++程序开发过程 16

2.3 第1个C++程序——Hello,world 17

2.3.1 创建源程序 17

2.3.2 编译、连接和运行程序 18

2.3.3 创建并运行多文件程序 20

2.3.4 C++程序的基本组成 23

2.4 C++代码编写规范 24

2.4.1 代码写规范的好处 24

2.4.2 如何将代码写规范 25

2.5 身边的老师——使用MSDN帮助 25

2.5.1 MSDN帮助系统中主要的帮助文件 25

2.5.2 MSDN帮助系统的使用 26

2.6 练一练 27

2.7 跟我上机 27

第3章 不变的和变的箱子——常量与变量 28

3.1 常量 29

3.1.1 什么是常量 29

3.1.2 数值常量 30

3.1.3 字符常量 31

3.1.4 字符串常量 33

3.1.5 符号常量 36

3.2 变量 38

3.2.1 什么是变量 39

3.2.2 变量的初始化 40

3.2.3 变量的定义 45

3.3 综合应用 46

3.4 练一练 48

3.5 跟我上机 49

第4章 数据的种类——数据类型和声明 50

4.1 计算机如何识数 51

4.1.1 二进制 51

4.1.2 八进制 51

4.1.3 十六进制 52

4.2 数据类型 52

4.2.1 整型 52

4.2.2 字符型 54

4.2.3 浮点型 55

4.3 数据类型转换 56

4.4 声明 58

4.4.1 声明的一般语法 58

4.4.2 类型名称 58

4.4.3 对象的生存周期 58

4.4.4 声明符 59

4.4.5 初始化 59

4.5 综合应用 59

4.6 练一练 62

4.7 跟我上机 63

第5章 C++编程世界中的公式——运算符和表达式 64

5.1 C++中的运算符和表达式 65

5.1.1 运算符 65

5.1.2 表达式 65

5.2 算术运算符和表达式 66

5.2.1 基本算术运算符 66

5.2.2 算术运算符和算术表达式 66

5.2.3 自加和自减运算符 67

5.3 关系运算符和表达式 69

5.3.1 关系运算符 69

5.3.2 关系表达式 70

5.4 逻辑运算符和表达式 71

5.4.1 逻辑运算符 71

5.4.2 逻辑表达式 71

5.5 条件运算符和表达式 72

5.6 赋值运算符和表达式 73

5.6.1 赋值运算符 73

5.6.2 赋值表达式 73

5.7 逗号运算符和表达式 75

5.8 运算符的优先级 75

5.9 综合应用 77

5.9.1 计算三角形的面积 77

5.9.2 解方程 78

5.10 练一练 79

5.11 跟我上机 80

第6章 C++程序的流程——程序控制结构和语句 81

6 1 程序流程概述 82

6.2 基本赋值语句 82

6.3 顺序结构 84

6.4 选择结构与语句 85

6.4.1 选择结构 85

6.4.2 单分支选择结构——if语句 86

6.4.3 双分支选择结构——if-else语句 88

6.4.4 多分支选择结构——switch语句 89

6.5 循环结构与语句 92

6.5.1 循环结构 92

6.5.2 for语句 93

6.5.3 while语句 96

6.5.4 do-while语句 98

6.6 转向语句 100

6.6.1 goto语句 100

6.6.2 break语句 101

6.6.3 continue语句 103

6.7 综合应用 105

6.8 练一练 107

6.9 跟我上机 108

第7章 程序设计的灵魂——算法与流程图 109

7.1 算法基础 110

7.1.1 算法的概念 110

7.1.2 算法的特性 110

7.1.3 算法举例1——排序 111

7.1.4 算法举例2——求和 113

7.2 流程图基础 114

7.2.1 流程图中的元素及含义 115

7.2.2 流程图的绘制 116

7.3 如何表示一个算法 117

7.3.1 用自然语言表示算法 117

7.3.2 用流程图表示算法 117

7.3.3 用N-S图表示算法 122

7.3.4 用伪代码表示算法 123

7.3.5 用PAD图表示算法 124

7.4 结构化算法 125

7.5 综合应用 126

7.6 练一练 131

7.7 跟我上机 132

第2篇 核心技术 134

第8章 一系列的数值——数组 134

8.1 什么是数组 135

8.1.1 一维数组 135

8.1.2 二维数组 135

8.1.3 多维数组 136

8.2 定义数组 136

8.2.1 一维数组的定义 136

8.2.2 二维数组的定义 137

8.3 存取数组元素 138

8.3.1 存取一维数组元素 139

8.3.2 一维数组元素排序 140

8.3.3 存取二维数组元素 143

8.4 初始化数组 144

8.4.1 一维数组的初始化 144

8.4.2 二维数组的初始化 145

8.5 综合应用 147

8.5.1 输出斐波那契数列的前20项 147

8.5.2 计算学生平均成绩 148

8.6 练一练 149

8.7 跟我上机 150

第9章 常用代码的集装箱——函数 151

9.1 函数概述 152

9.2 函数的定义与声明 155

9.2.1 函数的定义 155

9.2.2 函数的声明 156

9.3 函数的参数和返回值 157

9.3.1 函数的参数 157

9.3.2 函数的返回值 157

9.4 函数的调用 158

9.4.1 函数调用的方式 158

9.4.2 参数传递方式 161

9.4.3 函数的嵌套调用 165

9.4.4 递归调用 167

9.4.5 函数的重载 171

9.4.6 带默认值的函数 173

9.5 局部变量和全局变量 176

9.5.1 局部变量 177

9.5.2 全局变量 178

9.6 变量的存储类别 179

9.7 内部函数和外部函数 182

9.8 内联函数 184

9.9 main函数 185

9.10 编译预处理 187

9.11 综合应用 190

9.12 练一练 192

9.13 跟我上机 194

第10章 内存的快捷方式——指针 195

10.1 指针的概念 196

10.1.1 计算机内存地址 196

10.1.2 创建指针 196

10 2 指针和指针变量 197

10.2.1 指针和指针变量 197

10.2.2 指针的运算 203

10.3 指针和数组 204

10.3.1 指针和一维数值数组 204

10.3.2 指针和多维数值数组 206

10.3.3 指针和字符数组 209

10.3.4 字符指针和字符数组 210

10.3.5 指向指针的指针 211

10.3.6 指针数组和数组指针 212

10.4 指针和函数 213

10.4.1 函数指针 213

10.4.2 返回指针的函数 214

10.4.3 指针与传递数组的函数 217

10.5 const指针 219

10.6 void指针类型 221

10.7 综合应用 221

10.8 练一练 223

10.9 跟我上机 226

第11章 面向对象编程基础——类和对象 227

11.1 类与对象概述 228

11.1.1 类的定义 229

11.1.2 对象的定义和使用 232

11.2 构造函数 233

11.2.1 构造函数的定义 234

11.2.2 构造函数的重载 237

11.3 析构函数 240

11.4 友元 244

11.4.1 友元函数 244

11.4.2 友元成员 246

11.4.3 友元类 248

11.5 综合应用 249

11.6 练一练 251

11.7 跟我上机 253

第12章 C++中的文件夹——命名空间 254

12.1 命名空间的定义 255

12.1.1 命名空间的概念 255

12.1.2 命名空间的定义 255

12.1.3 命名空间的名称 257

12.2 命名空间成员的使用 260

12.2.1 using声明 260

12.2.2 using指令 261

12.3 类和命名空间的关系 263

12.4 综合应用 265

12.5 练一练 268

12.6 跟我上机 270

第13章 父子之间——继承 271

13.1 继承概述 272

13.1.1 什么是继承 272

13.1.2 基类与派生类 272

13.2 使用继承 274

13.3 多重继承 277

13.3.1 多重继承的引用 277

13.3.2 二义性 279

13.4 综合应用 281

13.5 练一练 282

13.6 跟我上机 283

第14章 多态与重载 284

14.1 多态概述 285

14.2 虚函数 289

14.3 再谈构造函数 291

14.4 抽象类 296

14.5 重载概述 298

14.5.1 函数的重载 298

14.5.2 运算符的重载 300

14.6 综合应用 304

14.7 练一练 306

14.8 跟我上机 307

第15章 用户与计算机的交互——输入和输出 308

15.1 标准输入输出 309

15.1.1 输出操作符〈〈 309

15.1.2 输入操作符〉〉 310

15.2 流状态 312

15.2.1 常用的流状态 312

15.2.2 有参数的常用的流状态 314

15.3 行输入 315

15.3.1 get()函数 315

15.3.2 getline()函数 317

15.3.3 read()函数 317

15.4 行输出 318

15.4.1 put()函数 318

15.4.2 write()函数 319

15.5 printf函数 320

15.6 随机数发生器函数 323

15.7 字符串操作 324

15.8 命令行处理 326

15.9 综合应用 327

15.10 练一练 329

15.11 跟我上机 330

第3篇 高级应用 332

第16章 文件操作 332

16.1 文件的概述 333

16.1.1 什么是文件 333

16.1.2 C++如何使用文件 333

16.2 文件的打开和关闭 333

16.2.1 打开文件 334

16.2.2 关闭文件 336

16.3 文件的读写 336

16.3.1 文本文件的读写 336

16.3.2 二进制文件的读写 337

16.4 文件的定位 339

16.5 文件随机访问 340

16.6 综合应用 341

16.7 练一练 347

16.8 跟我上机 348

第17章 容器 349

17.1 容器的概念 350

17.2 顺序容器 350

17.3 向量 351

17.4 列表 355

17.5 关联容器 360

17.6 映射 360

17.7 综合应用 364

17.8 练一练 365

17.9 跟我上机 366

第18章 C++中的便利之道——模板 367

18.1 模板的概念 368

18.1.1 什么是模板 368

18.1.2 模板的作用 368

18.1.3 模板的语法 369

18.2 函数模板 371

18.3 类模板 373

18.4 模板的编译模型 375

18.4.1 包含编译模型 375

18.4.2 分离编译模型 377

18.5 模板的特化 379

18.5.1 函数模板的特化 380

18.5.2 类模板的特化 381

18.5.3 类模板的偏特化 384

18.6 综合应用 385

18.7 练一练 387

18.8 跟我上机 390

第19章 C++超值放送——标准库 391

19.1 标准库概述 392

19.1.1 认识标准库 392

19.1.2 标准库的组成 392

19.2 迭代器 393

19.3 算法 395

19.3.1 数据编辑算法 395

19.3.2 查找算法 398

19.3.3 比较算法 400

19.3.4 排序相关算法 402

19.3.5 计算相关算法 404

19.4 函数对象 406

19.4.1 函数对象的应用 406

19.4.2 自定义函数对象 407

19.5 适配器 408

19.5.1 容器适配器 408

19.5.2 stack容器 408

19.6 字符串库 410

19.6.1 定义和初始化string对象 410

19.6.2 读/写字符串 411

19.6.3 字符串的赋值 412

19.6.4 字符串比较 413

19.6.5 字符串的连接 414

19.6.6 字符串特性描述 416

19.6.7 字符串操作 416

19.6.8 字符串对象中字符的处理 417

19.7 综合应用 417

19.8 练一练 419

19.9 跟我上机 419

第20章 错误终结者——异常处理 420

20.1 异常的类型 421

20.1.1 什么是异常 421

20.1.2 异常的分类 422

20.2 异常处理的基本思想 422

20.3 异常处理 423

20.3.1 异常处理语句块 423

20.3.2 使用try——catch处理异常 425

20.4 多重异常的捕获 427

20.5 异常的重新抛出 429

20.6 构造函数异常处理 432

20.7 调试器 434

20.8 综合应用 434

20.8.1 读取文件异常处理 434

20.8.2 读写文件异常处理 435

20.9 练一练 437

20.10 跟我上机 438

第4篇 项目实战 440

第21章 项目实战前的几点忠告——项目规划 440

21.1 项目开发流程 441

21.1.1 策划阶段 441

21.1.2 需求分析阶段 442

21.1.3 开发阶段 443

21.1.4 编码阶段 443

21.1.5 系统测试阶段 443

21.1.6 系统验收阶段 444

21.1.7 系统维护阶段 444

21.2 项目开发团队 444

21.2.1 项目团队组成 444

21.2.2 项目团队要求 445

21.3 项目开发文档 446

21.3.1 项目开发文档的作用 446

21.3.2 项目开发文档的分类 447

21.4 项目的实际运作 448

21.5 项目规划常见问题及解决 450

21.5.1 如何满足客户需求 450

21.5.2 如何控制项目进度 451

21.5.3 如何控制项目预算 451

第22章 图书信息管理系统 452

22.1 开发背景 453

22.2 需求及功能分析 453

22.2.1 需求分析 453

22.2.2 总体功能设计 454

22.2.3 各功能模块设计 455

22.3 系统功能的实现 456

22.3.1 系统整体功能的实现 456

22.3.2 系统界面显示功能的实现 459

22.3.3 借还书功能的实现 460

22.3.4 图书管理模块的实现 462

22.3.5 读者管理模块的实现 465

22.4 系统运行 468

22.5 开发过程常见问题及解决 469

第23章 职工信息管理系统 470

23.1 开发背景 471

23.2 需求及功能分析 471

23.2.1 需求分析 471

23.2.2 总体功能设计 472

23.2.3 各功能模块设计 473

23.3 系统功能的实现 477

23.3.1 系统整体功能的实现 477

23.3.2 系统界面显示功能的实现 479

23.3.3 注册信息功能的实现 482

23.3.4 查寻信息功能的实现 483

23.3.5 修改信息功能的实现 484

23.3.6 删除信息功能的实现 486

23.3.7 保存信息功能的实现 487

23.3.8 排序信息功能的实现 487

23.4 系统运行 489

23.5 开发过程常见问题及解决 491

第24章 信息管理不用愁——信息管理系统实战 492

24.1 日历系统 493

24.1.1 系统分析 493

24.1.2 功能分析及实现 493

24.1.3 开发常见问题及解决 496

24.2 学生成绩管理系统 496

24.2.1 系统分析 497

24.2.2 功能分析及实现 497

24.2.3 开发常见问题及解决 505

24.3 银行卡管理系统 505

24.3.1 系统分析 505

24.3.2 功能分析及实现 506

24.3.3 开发常见问题及解决 512

第5篇 王牌资源 514

王牌资源一览 514

王牌1 库函数查询手册(光盘中) 522

索引 523

A 530

any(bitset)函数 530

append(string)函数 530

assign(deque)函数 531

assign(list)函数 531

assign(string)函数 532

assign(vector)函数 533

at(deque)函数 533

at(string)函数 534

at(vector)函数 534

B 535

back(deque)函数 535

back(list)函数 535

back(queue)函数 536

back(vector)函数 536

bad(io)函数 537

begin(deque)函数 537

begin(list)函数 538

begin(map)函数 538

begin(multimap)函数 539

begin(multiset)函数 539

begin(set)函数 540

begin(string)函数 540

begin(vector)函数 541

C 542

clear(deque)函数 542

clear(list)函数 542

clear(set)函数 543

clear(map)函数 543

clear(vector)函数 544

compare(string)函数 544

copy(string)函数 545

count(bitset)函数 546

count(map)函数 546

count(set)函数 547

D 548

data(string)函数 548

E 549

empty(deque)函数 549

empty(dlist)数 549

empty(map)函数 550

empty(queue)函数 550

empty(set)函数 551

empty()函数 551

empty(string)函数 552

empty(vector)函数 552

end(deque)函数 552

end(list)函数 553

end(vector)函数 554

end(map)函数 554

end(set)函数 555

end(string)函数 555

eof(io)函数 556

erase(deque)函数 556

erase(list)函数 557

erase(vector)函数 557

erase(map)函数 558

erase(set)函数 559

erase(string)函数 559

F 561

fill(io)函数 561

find(map)函数 561

find(set)函数 562

find(string)函数 562

find_first_not_of(string)函数 563

find_first_of(string)函数 564

find_last_not_of(string)函数 564

fint_last_of(string)函数 565

flags(io)函数 566

flip(bitset)函数 566

flush(io)函数 567

front(deque)函数 567

front(list)函数 568

front(queue)函数 568

front(vector)函数 569

fstream(io)函数 569

G 571

gcount(io)函数 571

get(io)函数 571

get_allocator(deque)函数 572

get_allocator(list)函数 572

get_allocator(map)函数 573

get_allocator(set)函数 573

get_allocator(string)函数 574

get_allocator(vector)函数 574

getline(io)函数 574

good(io)函数 575

I 576

ignore(io)函数 576

insert(deque)函数 576

insert(list)函数 577

insert(vector)函数 578

insert(map)函数 579

insert(set)函数 580

insert(string)函数 581

K 582

key_comp(map)函数 582

key_comp(set)函数 582

L 584

length(string)函数 584

lower_bound(map)函数 584

lower_bound(set)函数 585

M 586

max_size(deque)函数 586

max_size(list)函数 586

max_size(map)函数 587

max_size(set)函数 587

max_size()函数 587

max_size(vector)函数 588

merge(list)函数 588

N 590

none(bitset)函数 590

O 591

open(io)函数 591

P 592

peek(io)函数 592

pop(queue)函数 592

pop(stack)函数 593

pop_back(deque)函数 594

pop_back(list)函数 594

pop_back(vector)函数 595

pop_front(deque)函数 596

pop_front(list)函数 596

precision(io)函数 597

push(queue)函数 597

push(stack)函数 598

push_back(deque)函数 598

push_back(list)函数 599

push_back(vector)函数 599

push_front(deque)函数 600

push_front(list)函数 600

put(io)函数 601

putback(io)函数 601

R 602

rbegin(deque)函数 602

rbegin(list)函数 602

rbegin(map)函数 603

rbegin(set)函数 603

rbegin(string)函数 604

rbeing(vector)函数 604

read(io)函数 605

remove(list)函数 605

rend(deque)函数 606

rend(list)函数 606

rend(map)函数 607

rend(set)函数 608

rend(string)函数 608

rend(vector)函数 609

replace(string)函数 609

reserve(string)函数 611

reserve(vector)函数 611

reset(bitset)函数 612

resize(deque)函数 612

resize(list)函数 613

resize(vector)函数 613

resize(string)函数 614

reverse(list)函数 615

refind(string)函数 615

S 617

seekg(io)函数 617

seekp(io)函数 617

set(bitset)函数 618

setf(io)函数 619

size(bitset)函数 619

size(deque)函数 620

size(list)函数 620

size(map)函数 621

size(queue)函数 621

size(set)函数 622

size(stack)函数 622

size(string)函数 622

size(vector)函数 623

sort(list)函数 623

splice(list)函数 624

substr(string)函数 625

swap(deque)函数 625

swap(list)函数 626

swap(set)函数 627

swap(map)函数 628

swap(string)函数 629

swap(vector)函数 630

T 632

tellg(io)函数 632

tellp(io)函数 632

test(bitset)函数 633

to_string(bitset)函数 634

to_ulong(bitset)函数 634

top(stack)函数 635

U 636

unique(list)函数 636

upper_bound(map)函数 636

upper_bound(set)函数 637

W 639

width(io)函数 639

write(io)函数 639

王牌2 C++常用查询手册(光盘中) 640

索引 641

头文件查询 642

#include<algorithm> 642

#include<ctype.h> 644

#include<math.h> 645

#include<time.h> 646

#include<local.h> 646

#include<signal.h> 646

#include<stdarg.h> 647

#include<stdlib.h> 647

#include<stdio.h> 647

#include<string.h> 649

#include<stdlib.h> 649

关键字查询 651

常用字符ASCII码查询 655

王牌3 C++源码大放送(光盘中) 655

王牌4 学习成果检测——本书【练一练】答案(光盘中) 659

王牌5 C++程序员职业规划(光盘中) 688

王牌6 C++程序员面试技巧(光盘中) 690

王牌7 C++常见面试题(光盘中) 693

王牌8 扫雷英雄榜——C++常见错误及解决方案(光盘中) 715

王牌9 优秀程序员之路——C++开发经验及技巧大汇总(光盘中) 730