《轻松学C++编程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:胡超,闫玉宝等编著
  • 出 版 社:北京:化学工业出版社
  • 出版年份:2012
  • ISBN:9787122146199
  • 页数:508 页
图书介绍:本书由浅入深、循序渐进地讲解了C的各个知识点,并结合一些实用知识讲解了C的主要应用。全书内容包括:C的发展历史和特点、基本元素与结构、基本数据类型、语句与控制结构、数组、指针与引用、自定义类型与字符串、面向对象设计思想和类、重载技术、继承与派生技术、虚函数与多态性、模板与命名空间、标准模板库、输入输出体系、异常处理、API编程和MFC框架、多线程处理、链接库、基本算法、数据结构、数据库编程等。

第一篇 基础篇 2

第1章 概述 2

1.1计算机程序设计语言概述 2

1.2了解C++ 3

1.2.1发展历史和特点 3

1.2.2程序的构成 4

1.2.3 C++的用途 4

1.2.4 C++和Visual C++ 4

1.3开发环境 5

1.3.1开发系统组成和开发流程 5

1.3.2典型C++开发环境 7

1.3.3安装Visual C++ 6.0 8

1.3.4第一个C++程序:Hello World! 11

1.4 C++学习建议 13

1.5小结 14

1.6习题 14

1.7实训 14

第2章 基本元素与结构 16

2.1数据类型 16

2.1.1整型 16

2.1.2字符型 17

2.1.3布尔型 18

2.1.4浮点型 18

2.2常量和变量 19

2.2.1常量 19

2.2.2变量 21

2.3基本元素 21

2.3.1关键字 21

2.3.2标识符 22

2.4基本结构 23

2.4.1 main函数 23

2.4.2预处理命令 23

2.4.3基本输入输出 24

2.4.4注释 28

2.5本章实例 29

2.6小结 30

2.7习题 30

2.8实训 31

第3章 运算符、标点符号和表达式 33

3.1运算符 33

3.1.1算术运算符 33

3.1.2关系运算符 36

3.1.3逻辑运算符 36

3.1.4运算符优先级和结合律 37

3.2标点符号 38

3.3表达式 39

3.4本章实例 39

3.5小结 41

3.6习题 41

3.7实训 42

第4章 控制语句与控制结构 44

4.1流程图 44

4.2顺序结构 44

4.3选择结构 45

4.3.1 if语句 45

4.3.2 switch语句 47

4.4循环结构 50

4.4.1利用goto语句和if语句构成 循环 50

4.4.2 while语句 51

4.4.3 do-while语句 52

4.4.4 for语句 52

4.4.5 break语句 56

4.4.6 continue语句 57

4.5本章实例 57

4.6小结 60

4.7习题 60

4.8实训 61

第5章 数组 63

5.1一维数组的概念和存储 63

5.1.1一维数组的定义和初始化 63

5.1.2一维数组的输入和输出 65

5.1.3一维数组的引用 65

5.1.4一维数组内存结构和寻址 66

5.2二维数组 67

5.2.1二维数组的定义和初始化 67

5.2.2二维数组的引用 68

5.2.3二维数组内存结构和寻址 68

5.3多维数组 69

5.3.1多维数组的定义和初始化 69

5.3.2多维数组的引用 70

5.3.3多维数组内存结构和寻址 70

5.4字符数组 70

5.4.1字符数组的定义和初始化 70

5.4.2字符数组的引用 71

5.4.3利用字符数组操作字符串 71

5.5本章实例 73

5.6小结 74

5.7习题 74

5.8实训 75

第6章 函数 77

6.1函数的概念和定义 77

6.2函数原型 78

6.3函数调用 80

6.4函数参数 80

6.4.1函数参数传递方式 81

6.4.2 main()函数的参数 82

6.4.3省略符形参 83

6.5函数作用域规则 83

6.5.1作用域 83

6.5.2局部变量 84

6.5.3全局变量 85

6.6函数的嵌套与递归调用 85

6.7内联函数 87

6.8函数的模板 88

6.9本章实例 89

6.10小结 91

6.11习题 91

6.12实训 91

第7章 指针与引用 93

7.1指针的概念和基本用法 93

7.1.1指针的概念 93

7.1.2指针变量的声明 94

7.1.3地址运算符 94

7.1.4指针的赋值 95

7.1.5指针运算 96

7.1.6 const指针 98

7.1.7 void指针 99

7.1.8指针的指针 100

7.2指针与数组 101

7.2.1指针数组 101

7.2.2数组名以及下标和指针的关系 102

7.3指针与函数 104

7.3.1指针作为函数参数 104

7.3.2指针函数 106

7.3.3指向函数的指针 107

7.4指针和动态内存的分配 109

7.4.1 C++内存分配机制 110

7.4.2 C++风格的动态内存分配方法 111

7.4.3 C风格的动态内存分配方法 115

7.4.4动态内存分配陷阱 117

7.4.5动态内存的传递 119

7.5引用 121

7.5.1引用的概念和基本用法 121

7.5.2引用作为函数参数 123

7.5.3引用作为返回值 124

7.6本章实例 125

7.7小结 126

7.8习题 127

7.9实训 127

第8章 自定义类型与字符串 129

8.1结构体 129

8.1.1结构体的概念和声明 129

8.1.2结构体变量的定义 130

8.1.3结构体变量的初始化 132

8.1.4结构体的使用 133

8.2共用体 137

8.2.1共用体类型及其变量 137

8.2.2共用体的使用 138

8.3枚举类型 140

8.3.1枚举类型与枚举变量 140

8.3.2枚举类型的使用 141

8.4类型定义 142

8.5字符串 143

8.5.1 C风格字符串处理 143

8.5.2用指针操作字符串 146

8.5.3 C++字符串处理 149

8.5.4常用字符串的操作函数 151

8.6本章实例 153

8.7小结 157

8.8习题 157

8.9实训 158

第二篇 面向对象篇 162

第9章 面向对象设计思想和类 162

9.1程序设计思想 162

9.1.1结构化程序设计思想 162

9.1.2面向对象程序设计思想 163

9.2类 164

9.2.1类的定义和组成 165

9.2.2类成员的访问控制 167

9.2.3类实例和类成员访问 170

9.2.4类的作用域和对象的生存周期 172

9.2.5 this指针 173

9.2.6静态成员 174

9.2.7常成员 179

9.3构造函数和析构函数 181

9.3.1构造函数 181

9.3.2拷贝构造函数 186

9.3.3默认拷贝构造函数 188

9.3.4浅拷贝和深拷贝 190

9.3.5析构函数 193

9.4类的组合 195

9.4.1类的组合的概念 195

9.4.2组合类的构造函数和析构函数 196

9.4.3组合类的初始化 198

9.5友元函数和友元类 199

9.5.1友元的需求性和定义 200

9.5.2友元函数 201

9.5.3友元类 204

9.6本章实例 206

9.7小结 209

9.8习题 209

9.9实训 210

第10章 重载技术 213

10.1重载函数 213

10.1.1重载函数的概念和定义 213

10.1.2重载函数的使用 214

10.2运算符重载 215

10.2.1运算符重载的需求 215

10.2.2运算符重载的基本方法 和规则 216

10.2.3增减量运算符的重载 220

10.2.4转换运算符的重载 223

10.2.5赋值运算符的重载 225

10.3本章实例 226

10.4小结 227

10.5习题 228

10.6实训 228

第11章 继承与派生 230

11.1继承与派生 230

11.1.1继承与派生的概念 230

11.1.2派生类的声明 231

11.1.3生成派生类的步骤 232

11.2继承中的访问控制 235

11.2.1公用继承的访问控制 235

11.2.2私有继承的访问控制 237

11.2.3保护继承的访问控制 238

11.3派生类的构造函数和析构函数 241

11.3.1派生类的构造函数 241

11.3.2派生类的析构函数 244

11.4基类与派生类的相互作用 246

11.4.1派生类成员的标识和访问 246

11.4.2基类和派生类赋值规则 249

11.5多重继承特性 250

11.5.1多重继承引起的二义性问题 250

11.5.2虚拟继承和虚基类 251

11.6本章实例 254

11.7小结 260

11.8习题 261

11.9实训 262

第12章 虚函数与多态性 266

12.1多态性 266

12.1.1多态的概念和类型 266

12.1.2多态的实现方式 267

12.2虚函数 267

12.2.1虚函数的概念和定义 267

12.2.2虚函数的使用规则 273

12.3纯虚函数与抽象类 273

12.3.1纯虚函数 274

12.3.2抽象类和抽象基类 274

12.4本章实例 276

12.5小结 283

12.6习题 283

12.7实训 283

第13章 模板与命名空间 286

13.1模板的概念与作用 286

13.1.1模板的概念 286

13.1.2模板的作用 286

13.2函数模板 288

13.2.1函数模板的定义和使用 288

13.2.2重载模板函数 290

13.3类模板 291

13.4命名空间 297

13.4.1程序中的命名冲突分析 297

13.4.2命名空间的概念 299

13.4.3命名空间的使用 300

13.4.4标准命名空间std 303

13.4.5 C++头文件的使用 304

13.5本章实例 305

13.6小结 307

13.7习题 308

13.8实训 308

第14章 标准模板库 310

14.1泛型化编程与STL介绍 310

14.1.1泛型化编程的概念 310

14.1.2 C++标准库与STL的内容 310

14.2 STL的使用 312

14.2.1容器 312

14.2.2迭代器 314

14.2.3算法 316

14.3本章实例 318

14.4小结 322

14.5习题 323

14.6实训 323

第三篇 应用篇 326

第15章 输入输出体系 326

15.1流的概念 326

15.1.1 C语言中1/O的弊端 327

15.1.2流类 328

15.2流对象和格式化输出 329

15.2.1预定义的流对象 329

15.2.2流格式化输出 330

15.3重载流运算符 334

15.3.1流运算符重载概述 334

15.3.2插入运算符重载 334

15.3.3提取运算符重载 335

15.4文件操作 337

15.4.1文件概述 337

15.4.2文件操作基础 338

15.4.3打开和关闭文件 338

15.4.4文本文件输入输出 340

15.4.5二进制文件输入输出 345

15.4.6文件定位 347

15.5本章实例 348

15.6小结 359

15.7习题 359

15.8实训 359

第16章 异常处理 362

16.1异常概述 362

16.1.1异常的概念和分类 362

16.1.2异常现象的举例 363

16.2异常处理机制 364

16.2.1异常处理的任务 364

16.2.2异常处理基本思想 364

16.2.3异常处理的组成 365

16.2.4异常处理的执行过程 367

16.3析构函数与异常处理 370

16.4本章实例 374

16.5小结 376

16.6习题 377

16.7实训 378

第17章API编程和MFC框架 380

17.1 API编程介绍 380

17.1.1认识API的编程 380

17.1.2 API函数的概念和作用 384

17.1.3 Windows API分类 385

17.1.4 Windows API基本术语 385

17.1.5 Windows API基本使用 387

17.2 MFC框架简介 389

17.2.1认识MFC的程序 390

17.2.2 MFC的编程框架 390

17.2.3 MFC的模板 392

17.2.4 MDI应用程序的构成 393

17.3小结 394

17.4习题 394

17.5实训 395

第18章 多线程处理 397

18.1进程和线程 397

18.1.1进程和线程的概念 397

18.1.2线程的优先级 398

18.1.3线程运行状态 398

18.2线程的操作 399

18.2.1线程的建立 399

18.2.2线程的优先级设定 403

18.2.3线程的挂起、恢复 404

18.2.4线程的结束 405

18.3本章实例 407

18.4小结 409

18.5习题 409

18.6实训 409

第19章 链接库 411

19.1链接库概述 411

19.2静态链接库 412

19.2.1静态链接库的编写 412

19.2.2静态链接库的使用 414

19.3动态链接库 415

19.3.1 DLL文件的编写 415

19.3.2导出DLL资源 417

19.4动态链接库的使用 420

19.4.1隐式链接 420

19.4.2显式链接 421

19.5小结 423

19.6习题 423

19.7实训 423

第四篇 开发篇 426

第20章 基本算法 426

20.1算法的概念和特征 426

20.1.1算法的概念 426

20.1.2算法的特征 426

20.1.3算法的设计要求和描述方法 427

20.1.4算法的衡量 428

20.2常用算法 429

20.2.1递推法 430

20.2.2递归法 430

20.2.3回溯法 431

20.2.4贪婪法 432

20.2.5分治法 433

20.2.6动态规划法 434

20.2.7迭代法 435

20.2.8穷举法 435

20.3小结 436

20.4习题 436

20.5实训 437

第21章 数据结构 439

21.1线性表及其应用 439

21.2链表及其应用 440

21.3堆栈及其应用 442

21.4队列及其应用 443

21.5特殊矩阵、广义表及其应用 444

21.6二叉树及其应用 445

21.7散列结构及其应用 446

21.8图及其应用 447

21.9小结 448

21.10习题 448

21.11实训 448

第22章 数据库编程 451

22.1概述 451

22.1.1数据库和数据库系统 451

22.1.2常见数据库访问技术 452

22.2数据访问接口ODBC 453

22.2.1 ODBC概述 453

22.2.2 ODBC API编程 454

22.3 MFC的ODBC编程 458

22.3.1 CDatabase和CRecordset类 介绍 458

22.3.2数据查询 461

22.3.3参数化数据查询 462

22.3.4新建数据 462

22.3.5数据删除 462

22.3.6数据更新 463

22.3.7直接执行SQL语句 463

22.4小结 464

22.5习题 464

第23章 网络编程 465

23.1网络通信 465

23.1.1网络类型 465

23.1.2网络拓扑结构 466

23.2网络通信协议 467

23.2.1 TCP/IP结构 467

23.2.2 UDP协议 468

23.2.3相关术语 468

23.3 SOCKET网络编程接口 469

23.3.1 Socket模型 469

23.3.2 Socket的CS编程方式 469

23.3.3 C++下的Socket 470

23.3.4利用Socket建立服务器端 程序 472

23.3.5利用Socket建立客户端程序 474

23.4小结 477

23.5习题 477

第24章 利用ADO实现简单的 学生信息管理系统 478

24.1 ADO简介 478

24.1.1 ADO概述 478

24.1.2 MFC的ADO编程 479

24.1.3 ADO操作数据库的基本步骤 480

24.2程序的需求 480

24.3程序的界面设计 481

24.4程序的数据库 481

24.5核心程序实现分析 482

24.6小结 486

24.7习题 487

第25章 火车信息查询系统 488

25.1程序需求 488

25.2程序界面 488

25.3服务端程序 489

25.3.1服务器通信类 489

25.3.2建立接收线程 490

25.3.3火车信息处理 493

25.3.4发送和接收 494

25.4客户端程序 495

25.4.1连接服务器并查询 496

25.4.2发送车次信息 497

25.4.3接收服务器返回信息 498

25.5小结 498

附录C++面试题目 500