当前位置:首页 > 工业技术
新标准C++程序设计教程
新标准C++程序设计教程

新标准C++程序设计教程PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:郭炜编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302283805
  • 页数:428 页
图书介绍:本书从全新的思路出发,深入浅出全面介绍C++程序设计的过程,强调实践性和专业性,将作者丰富的编程实践经验融入其中。
《新标准C++程序设计教程》目录

第1篇 结构化程序设计 3

第1章 计算机基础知识 3

1.1信息在计算机中的表示和存储 3

1.1.1如何用0和1表示各种信息 3

1.1.2二进制和十六进制 4

1.1.3整数和小数的计算机表示 6

1.2计算机程序设计语言 7

1.2.1机器语言 7

1.2.2汇编语言 8

1.2.3高级语言 9

1.3 C++++语言的历史 10

1.4小结 11

习题 12

第2章 C++++语言的基本要素 13

2.1 C++++的标识符 13

2.2 C++++的关键字 13

2.3最简单的C++++程序 14

2.4变量 16

2.4.1变量的定义 16

2.4.2变量的初始化 16

2.4.3变量的赋值 17

2.4.4常变量 17

2.5 C++++的数据类型 17

2.5.1 C++++基本数据类型 17

2.5.2数据类型自动转换 18

2.5.3用cin读入类型不同的变量 20

2.6常量 20

2.6.1整型常量 21

2.6.2实数型常量 21

2.6.3布尔型常量 22

2.6.4字符型常量 22

2.6.5字符串常量 22

2.6.6符号常量 23

2.7运算符和表达式 23

2.7.1算术运算符 24

2.7.2赋值运算符 26

2.7.3关系运算符 27

2.7.4逻辑运算符和逻辑表达式 27

2.7.5位运算符 28

2.7.6条件运算符 32

2.7.7 sizeof运算符 33

2.7.8强制类型转换运算符 33

2.7.9逗号运算符 34

2.7.10运算符的优先级和结合性 34

2.8注释 35

2.9小结 36

习题 36

第3章 C++++语言的控制结构 39

3.1用if语句实现选择结构 39

3.2用switch语句实现选择结构 43

3.3用for语句实现循环结构 46

3.4用while语句实现循环结构 49

3.5用do.while语句实现循环结构 50

3.6用break语句跳出循环 50

3.7 continue语句 52

3.8 goto语句 52

3.9使用freopen方便程序调试 53

3.10小结 54

习题 54

第4章 函数 57

4.1函数的定义和调用 57

4.1.1函数的定义 57

4.1.2函数调用和return语句 58

4.1.3函数使用实例 58

4.2函数的声明 60

4.3 main函数 61

4.4函数参数的默认值 61

4.5引用和函数参数的传递 62

4.5.1引用的概念 62

4.5.2引用作为函数的返回值 63

4.5.3参数传值 63

4.5.4参数传引用 64

4.5.5常引用 65

4.6内联函数 66

4.7函数的重载 67

4.8库函数和头文件 68

4.9小结 70

习题 70

第5章 数组 72

5.1一维数组 72

5.2数组的大小限制 74

5.3二维数组 75

5.4数组的初始化 76

5.5数组作为函数的参数 78

5.6数组越界 79

5.6.1什么是数组越界 79

5.6.2数组越界的后果 80

5.7小结 81

习题 81

第6章 字符串 83

6.1字符串常量 83

6.2用字符数组存放的字符串 84

6.2.1用一维数组存放字符串 84

6.2.2用二维数组存放字符串 86

6.3字符串函数用法示例 86

6.4用string对象处理字符串 87

6.4.1定义string对象 88

6.4.2 string对象的输入输出 88

6.4.3 string对象的赋值 88

6.4.4 string对象的运算 89

6.4.5 string对象用法示例 89

6.5小结 90

习题 90

第7章 指针 92

7.1指针的基本概念 92

7.2指针的作用 94

7.3指针的互相赋值 94

7.4指针运算 95

7.5空指针 96

7.6指针作为函数参数 96

7.7指针和数组 98

7.8常量指针 100

7.9字符串和指针 101

7.9.1普通字符串和指针的关系 101

7.9.2 string对象和char指针的关系 101

7.9.3字符串操作库函数 102

7.10 void指针和内存操作库函数 106

7.11函数指针 107

7.11.1函数指针的定义 107

7.11.2函数指针的应用 108

7.12指针和动态内存分配 109

7.13指向指针的指针 111

7.14指针数组 112

7.15误用无效指针 117

7.16小结 117

习题 118

第8章 自定义数据类型 120

8.1结构 120

8.1.1结构的定义和使用 120

8.1.2访问结构变量的成员变量 122

8.1.3结构变量的初始化 122

8.1.4结构数组 123

8.1.5指向结构变量的指针 123

8.1.6动态分配结构变量和结构数组 125

8.1.7结构变量或引用作为函数形参 125

8.2联合 126

8.3枚举类型 128

8.4用typedef定义类型 129

8.5小结 130

习题 130

第9章 程序设计的基本思想 133

9.1枚举 133

9.2递归 138

9.3二分 144

9.4算法的时间复杂度及其表示法 145

9.5小结 147

习题 147

第10章 C++++程序结构 148

10.1全局变量和局部变量 148

10.2静态变量、自动变量和寄存器变量 149

10.3标识符的作用域 152

10.4变量的生存期 153

10.5预编译 153

10.5.1宏定义 154

10.5.2文件包含 154

10.5.3条件编译 156

10.6命令行参数 157

10.7多文件编程 159

10.7.1 C++++程序的编译过程 159

10.7.2多文件共享全局变量 160

10.7.3静态全局变量和静态全局函数 161

10.7.4多文件编程中的内联函数 162

10.7.5用条件编译避免头文件的重复包含 162

10.8小结 163

习题 163

第2篇 面向对象的程序设计 167

第11章 类和对象初步 167

11.1结构化程序设计的不足 167

11.2面向对象程序设计的概念和特点 169

11.3类的定义和使用 170

11.4类的示例程序剖析 171

11.5访问对象的成员 172

11.6类成员的可访问范围 173

11.7内联成员函数 176

11.8小结 176

习题 176

第12章 类和对象进阶 179

12.1构造函数 179

12.1.1构造函数的概念和作用 179

12.1.2构造函数在数组中的使用 181

12.1.3复制构造函数 183

12.1.4类型转换构造函数 187

12.2析构函数 188

12.3构造函数、析构函数和变量的生存期 190

12.4静态成员变量和静态成员函数 191

12.5常量对象和常量成员函数 194

12.6成员对象和封闭类 196

12.7 const成员和引用成员 199

12.8友元 199

12.8.1友元函数 200

12.8.2友元类 201

12.9 this指针 202

12.9.1 C++++程序到C程序的翻译 202

12.9.2 this指针的作用 203

12.10在多个文件中使用类 204

12.11小结 204

习题 205

第13章 运算符重载 209

13.1运算符重载的概念和原理 209

13.2重载赋值运算符“=” 210

13.3浅复制和深复制 213

13.4运算符重载为友元函数 215

13.5实例——长度可变的整型数组类 215

13.6重载流插入运算符和流提取运算符 218

13.7重载强制类型转换运算符 220

13.8重载自增、自减运算符 221

13.9运算符重载的注意事项 222

13.10小结 223

习题 223

第14章 继承与派生 227

14.1继承和派生的概念 227

14.2正确处理类的复合关系和继承关系 231

14.3 protected访问范围说明符 233

14.4派生类的构造函数和析构函数 234

14.5多层次的派生 236

14.6包含成员对象的派生类 237

14.7公有派生的赋值兼容规则 237

14.8基类与派生类的指针的互相转换 238

14.9私有派生和保护派生 240

14.10派生类和赋值运算符“=” 241

14.11多重继承 241

14.11.1多继承的概念及其引发的二义性 241

14.11.2用“虚继承”解决二义性 244

14.12小结 245

习题 245

第15章 多态与虚函数 247

15.1多态的基本概念 247

15.2多态的作用 250

15.3多态的实现原理 256

15.4关于多态的注意事项 258

15.5虚析构函数 261

15.6纯虚函数和抽象类 263

15.7小结 264

习题 264

第16章 输入输出流 269

16.1流类 269

16.2标准流对象 270

16.3使用流操纵算子控制输出格式 271

16.4调用cout的成员函数 274

16.5 cin的高级用法 275

16.5.1判断输入结束 275

16.5.2 istream类的成员函数 277

16.6 printf、 scanf等C语言标准输入输出库函数 282

16.7小结 286

习题 287

第17章 文件操作 288

17.1文件的概念 288

17.2 C++++文件流类 289

17.3文件的打开和关闭 290

17.4文件的读写 292

17.4.1文本文件的读写 292

17.4.2二进制文件的读写 294

17.4.3操作文件读写指针 298

17.5文本方式打开文件与二进制方式打开文件的区别 299

17.6小结 300

习题 300

第3篇 泛型程序设计 305

第18章 泛型程序设计与模板 305

18.1函数模板 305

18.2类模板 310

18.3类模板中的非类型参数 314

18.4类模板与继承 315

18.5类模板和友元 316

18.6类模板中的静态成员 320

18.7在多个文件中使用模板 321

18.8小结 321

习题 321

第19章 标准模板库STL 324

19.1 STL中的基本概念 324

19.1.1容器 325

19.1.2迭代器 326

19.1.3算法 331

19.1.4 STL中的“大”、“小”和“相等”的概念 332

19.2顺序容器 333

19.2.1动态数组vector 333

19.2.2双向链表list 336

19.2.3双向队列deque 339

19.3函数对象 339

19.4关联容器 346

19.4.1关联容器的预备知识:pair类模板 347

19.4.2 multiset 348

19.4.3 set 351

19.4.4 multimap 352

19.4.5 map 355

19.5容器适配器 357

19.5.1 stack 357

19.5.2 queue 358

19.5.3 priority_queue 359

19.6 STL算法分类 360

19.7不变序列算法 361

19.8变值算法 364

19.9删除算法 369

19.10变序算法 372

19.11排序算法 376

19.12有序区间算法 378

19.13 string类详解 382

19.14 bitset 387

19.15小结 389

习题 389

第4篇 C++++高级主题 395

第20章 C++++高级主题 395

20.1强制类型转换 395

20.2运行时类型检查 399

20.3智能指针auto_ptr 400

20.4 C++++异常处理 402

20.5名字空间 411

20.6 C++++11新特性管窥 418

20.6.1智能指针shared_ptr 418

20.6.2无序容器(哈希表) 419

20.6.3正则表达式 420

20.6.4 Lambda表达式 421

20.7小结 422

习题 422

附录A魔兽世界大作业 426

参考文献 428

相关图书
作者其它书籍
返回顶部