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

  • 购买积分:14 如何计算积分?
  • 作  者:李伟明,侯春多等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302227441
  • 页数:417 页
图书介绍:本书从初学者的角度出发,以通俗易懂的语言,配合丰富的实例,详细讲解了C++语言的基础知识。

第1篇 基础知识 3

第1章 绪论 3

1.1 C++历史背景 4

1.1.1 20世纪最伟大的发明 4

1.1.2 C++发展历程 4

1.1.3 C++中的杰出人物 5

1.2 常用开发环境 6

1.2.1 Visual C++6.0 6

1.2.2 Visual C++2008 7

1.2.3 GCC/G++ 8

1.2.4 Dev-C 8

1.2.5 Eclipse 9

1.3 认知C++程序代码 9

1.4 C++工程项目文件 10

1.5 使用VC创建程序 11

1.6 编译与连接过程 14

1.7 C++的特点 17

1.8 小结 17

第2章 数据类型 19

2.1 第一个C++程序 20

2.1.1 #INCLUDE指令 20

2.1.2 注释 20

2.1.3 main函数 21

2.1.4 函数体 21

2.1.5 函数返回值 21

2.2 数据类型 21

2.3 常量及符号 22

2.3.1 整型常量 23

2.3.2 实型常量 24

2.3.3 字符常量 24

2.3.4 字符串常量 25

2.3.5 其他常量 26

2.4 变量 26

2.4.1 标识符 26

2.4.2 变量与变量说明 27

2.4.3 整型变量 27

2.4.4 实型变量 28

2.4.5 变量赋值 28

2.4.6 变量赋初值 29

2.4.7 字符变量 29

2.5 数据输入与输出 30

2.5.1 控制台屏幕 31

2.5.2 C++语言中的流 31

2.5.3 流操作的控制 33

2.6 小结 40

2.7 实践与练习 41

第3章 表达式与语句 43

3.1 运算符 44

3.1.1 算术运算符 44

3.1.2 关系运算符 45

3.1.3 逻辑运算符 46

3.1.4 赋值运算符 47

3.1.5 位运算 48

3.1.6 移位运算符 50

3.1.7 sizeof运算符 52

3.1.8 条件运算符 52

3.1.9 逗号运算符 53

3.2 结合性和优先级 53

3.3 表达式 54

3.3.1 算术表达式 55

3.3.2 关系表达式 55

3.3.3 条件表达式 55

3.3.4 赋值表达式 56

3.3.5 逻辑表达式 56

3.3.6 逗号表达式 56

3.3.7 表达式中的类型转换 58

3.4 语句 60

3.5 小结 61

3.6 实践与练习 61

第4章 条件判断语句 63

4.1 决策分支 64

4.2 判断语句 65

4.2.1 第一种形式的判断语句 65

4.2.2 第二种形式的判断语句 67

4.2.3 第三种形式的判断语句 69

4.3 使用条件运算符进行判断 70

4.4 switch语句 72

4.5 判断语句的嵌套 75

4.6 小结 77

4.7 实践与练习 77

第5章 循环语句 79

5.1 while循环 80

5.2 do...while循环 82

5.3 while与do...while比较 83

5.4 for循环语句 85

5.5 循环控制 88

5.5.1 控制循环的变量 89

5.5.2 break语句 90

5.5.3 continue语句 91

5.5.4 goto语句 92

5.6 循环嵌套 93

5.7 循环应用实例 95

5.7.1 阿姆斯壮数 95

5.7.2 巴斯卡三角形 96

5.7.3 对输入的分数进行排名 97

5.8 小结 98

5.9 实践与练习 98

第6章 函数 99

6.1 函数概述 100

6.1.1 函数的定义 100

6.1.2 函数的声明 100

6.2 函数参数及返回值 102

6.2.1 返回值 102

6.2.2 空函数 102

6.2.3 形参与实参 103

6.2.4 默认参数 104

6.2.5 可变参数 105

6.3 函数调用 106

6.3.1 传值调用 106

6.3.2 嵌套调用 108

6.3.3 递归调用 109

6.4 变量作用域 113

6.5 重载函数 113

6.6 内联函数 115

6.7 变量的存储类别 116

6.7.1 auto变量 116

6.7.2 static变量 117

6.7.3 register变量 119

6.7.4 extem变量 119

6.8 小结 120

6.9 实践与练习 120

第7章 数组、指针和引用 121

7.1 一维数组 122

7.1.1 一维数组的声明 122

7.1.2 一维数组的引用 122

7.1.3 一维数组的初始化 123

7.2 二维数组 124

7.2.1 二维数组的声明 124

7.2.2 二维数组元素的引用 125

7.2.3 二维数组的初始化 126

7.3 字符数组 128

7.4 指针 135

7.4.1 变量与指针 135

7.4.2 指针运算符和取地址运算符 138

7.4.3 指针运算 140

7.5 指针与数组 141

7.5.1 数组的存储 141

7.5.2 指针与一维数组 142

7.5.3 指针与二维数组 144

7.5.4 指针与字符数组 148

7.6 指向函数的指针 149

7.7 引用 150

7.7.1 使用引用传递参数 152

7.7.2 指针传递参数 153

7.7.3 数组做函数参数 154

7.8 指针数组 156

7.9 小结 159

7.10 实践与练习 159

第8章 构造数据类型 161

8.1 结构体 162

8.1.1 结构体定义 162

8.1.2 结构体变量 163

8.1.3 结构体成员及初始化 163

8.1.4 结构体的嵌套 166

8.1.5 结构体大小 167

8.2 结构体与函数 169

8.2.1 结构体变量做函数参数 169

8.2.2 结构体指针做函数参数 170

8.3 结构体数组 171

8.3.1 结构体数组声明与引用 171

8.3.2 指针访问结构体数组 172

8.4 共用体 173

8.4.1 共用体的定义与声明 173

8.4.2 共用体的大小 174

8.4.3 共用体的特点 176

8.5 枚举类型 176

8.5.1 枚举类型的声明 176

8.5.2 枚举类型变量 177

8.5.3 枚举类型的运算 178

8.6 自定义数据类型 179

8.7 小结 181

8.8 实践与练习 181

第2篇 核心技术 185

第9章 面向对象编程 185

9.1 面向对象概述 186

9.2 面向对象与面向过程编程 187

9.2.1 面向过程编程 187

9.2.2 面向对象编程 188

9.2.3 面向对象的特点 188

9.3 统一建模语言 189

9.3.1 统一建模语言概述 189

9.3.2 统一建模语言的结构 189

9.3.3 面向对象的建模 191

9.4 小结 192

第10章 类和对象 193

10.1 C++类 194

10.1.1 类概述 194

10.1.2 类的声明与定义 194

10.1.3 类的实现 196

10.1.4 对象的声明 200

10.2 构造函数 202

10.2.1 构造函数概述 202

10.2.2 复制构造函数 204

10.3 析构函数 206

10.4 类成员 208

10.4.1 访问类成员 208

10.4.2 内联成员函数 210

10.4.3 静态类成员 211

10.4.4 隐藏的this指针 213

10.4.5 嵌套类 214

10.4.6 局部类 215

10.5 友元 216

10.5.1 友元概述 216

10.5.2 友元类 218

10.5.3 友元方法 219

10.6 命名空间 222

10.6.1 使用命名空间 222

10.6.2 定义命名空间 222

10.6.3 在多个文件中定义命名空间 225

10.6.4 定义嵌套的命名空间 226

10.6.5 定义未命名的命名空间 228

10.7 小结 228

10.8 实践与练习 229

第11章 继承与派生 231

11.1 继承 232

11.1.1 类的继承 232

11.1.2 继承后可访问性 234

11.1.3 构造函数访问顺序 237

11.1.4 子类隐藏父类的成员函数 238

11.2 重载运算符 241

11.2.1 重载运算符的必要性 241

11.2.2 重载运算符的形式与规则 243

11.2.3 重载运算符的运算 244

11.2.4 转换运算符 247

11.3 多重继承 248

11.3.1 多重继承定义 248

11.3.2 二义性 250

11.3.3 多重继承的构造顺序 250

11.4 多态 252

11.4.1 虚函数概述 252

11.4.2 利用虚函数实现动态绑定 253

11.4.3 虚继承 254

11.5 抽象类 256

11.5.1 纯虚函数 256

11.5.2 实现抽象类中的成员函数 258

11.6 小结 260

11.7 实践与练习 260

第3篇 高级应用 263

第12章 模板 263

12.1 函数模板 264

12.1.1 函数模板的定义 264

12.1.2 函数模板的作用 265

12.1.3 重载函数模板 267

12.2 类模板 268

12.2.1 类模板的定义与声明 268

12.2.2 简单类模板 270

12.2.3 默认模板参数 271

12.2.4 为具体类型的参数提供默认值 272

12.2.5 有界数组模板 273

12.3 模板的使用 275

12.3.1 定制类模板 275

12.3.2 定制类模板成员函数 276

12.3.3 模板部分定制 278

12.4 链表类模板 279

12.4.1 链表 280

12.4.2 链表类模板 282

12.4.3 类模板的静态数据成员 284

12.5 小结 286

12.6 实践与练习 286

第13章 STL标准模板库 287

13.1 序列容器 288

13.1.1 向量类模板 288

13.1.2 双端队列类模板 290

13.1.3 链表类模板 292

13.2 结合容器 294

13.2.1 set类模板 295

13.2.2 multiset类模板 299

13.2.3 map类模板 304

13.2.4 multimap类模板 306

13.3 算法 307

13.3.1 非修正序列算法 307

13.3.2 修正序列算法 310

13.3.3 排序算法 314

13.3.4 数值算法 321

13.4 迭代器 325

13.4.1 输出迭代器 325

13.4.2 输入迭代器 326

13.4.3 前向迭代器 327

13.4.4 双向迭代器 328

13.4.5 随机访问迭代器 329

13.5 小结 330

13.6 实践与练习 330

第14章 RTTI与异常处理 331

14.1 RTTI(运行时类型识别) 332

14.1.1 什么是RTTI 332

14.1.2 RTTI与引用 333

14.1.3 RTTI与多重继承 334

14.1.4 RTTI映射语法 335

14.2 异常处理 337

14.2.1 抛出异常 338

14.2.2 异常捕获 340

14.2.3 异常匹配 342

14.2.4 标准异常 344

14.3 小结 345

第15章 程序调试 347

15.1 选择正确的调试方法 348

15.2 程序错误常见的4种类型 348

15.2.1 语法错误 348

15.2.2 连接错误 349

15.2.3 运行时错误 349

15.2.4 逻辑错误 350

15.3 调试工具的使用 351

15.3.1 创建调试程序 351

15.3.2 进入调试状态 353

15.3.3 Warch窗口 353

15.3.4 Call Stack窗口 353

15.3.5 Memory窗口 354

15.3.6 Vaiables窗口 354

15.3.7 Registers窗口 355

15.3.8 Disassembly窗口 355

15.4 调试的基本应用 355

15.4.1 变量的跟踪与查看 355

15.4.2 位置断点的使用 357

15.4.3 数据断点的使用 359

15.5 调试的高级应用 360

15.5.1 在调试时修改变量的值 360

15.5.2 在循环中调试 361

15.6 小结 362

第16章 文件操作 363

16.1 文件流 364

16.1.1 C++中的流类库 364

16.1.2 类库的使用 364

16.1.3 ios类中的枚举常量 365

16.1.4 流的输入/输出 365

16.2 文件打开 366

16.2.1 打开方式 366

16.2.2 默认打开模式 367

16.2.3 打开文件同时创建文件 368

16.3 文件的读写 369

16.3.1 文件流 369

16.3.2 写文本文件 371

16.3.3 读取文本文件 371

16.3.4 二进制文件的读写 372

16.3.5 实现文件复制 374

16.4 文件指针移动操作 375

16.4.1 文件错误与状态 375

16.4.2 文件的追加 375

16.4.3 文件结尾的判断 376

16.4.4 在指定位置读写文件 378

16.5 文件和流的关联和分离 379

16.6 删除文件 381

16.7 小结 382

16.8 实践与练习 382

第17章 网络通信 383

17.1 TCP/IP协议 384

17.1.1 OSI参考模型 384

17.1.2 TCP/IP参考模型 384

17.1.3 IP地址 385

17.1.4 数据包格式 386

17.2 套接字 388

17.2.1 Winsocket套接字 388

1 7.2.2 Winsocket的使用 388

17.2.3 套接字阻塞模式 393

17.2.4 字节顺序 393

17.2.5 面向连接流 394

17.2.6 面向无连接流 395

17.3 简单协议通信 395

17.3.1 服务端 395

17.3.2 客户端 398

17.3.3 实例的运行 399

17.4 小结 399

17.5 实践与练习 399

第4篇 项目实战 403

第18章 图书管理系统 403

18.1 系统设计 404

18.1.1 需求分析 404

18.1.2 系统目标 404

18.1.3 系统功能结构 404

18.2 图书类 405

18.3 主程序 409

18.4 添加图书 413

18.5 显示图书信息 414

18.6 删除图书 416

18.7 小结 417