《C++程序设计》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王挺,周会平,贾丽丽等著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302218975
  • 页数:438 页
图书介绍:本书面向大学计算机专业本科教学的需要,系统地介绍C++程序设计语言的语法、语义和语用,使读者掌握结构化程序设计方法和面向对象程序设计方法。

第1章 计算机与程序设计 1

1.1计算机系统概述 1

1.1.1什么是计算机系统 1

1.1.2计算机硬件 2

1.1.3计算机软件 2

1.2程序设计基本概念 3

1.2.1问题求解过程 3

1.2.2算法与程序 4

1.2.3程序设计语言 7

1.3程序设计方法 8

1.3.1结构化程序设计 8

1.3.2面向对象程序设计 9

1.4 C语言与C++语言 10

1.4.1 C语言 10

1.4.2 C++语言 11

1.5 C++编程简介 12

1.5.1 C++编程的典型过程 12

1.5.2一个简单的C++程序 13

1.6程序设计风格 14

习题1 15

第2章 数据类型、运算符与表达式 17

2.1 C++的字符集和关键字 17

2.1.1字符集 17

2.1.2标识符 18

2.1.3关键字 18

2.2基本数据类型 19

2.2.1整型 19

2.2.2浮点型数据 20

2.2.3字符型数据 20

2.2.4布尔类型 21

2.3变量与常量 21

2.3.1常量 21

2.3.2变量 24

2.3.3符号常量 25

2.4类型转换 26

2.5运算符和表达式 27

2.5.1算术运算 28

2.5.2关系运算 30

2.5.3逻辑运算 30

2.5.4位运算 31

2.5.5逗号运算 33

2.5.6赋值运算 34

2.5.7特殊运算符 35

习题2 35

第3章 输入和输出 37

3.1 C++的输入和输出 37

3.2标准输入输出函数 38

3.2.1字符输入函数getchar 38

3.2.2字符输出函数putchar 38

3.3格式化输入输出函数 39

3.3.1格式化输入函数scanf 39

3.3.2格式化输出函数printf 41

3.3.3格式化输入输出函数应用举例 44

3.4用流进行输入输出 49

3.4.1通过cout流输出数据 50

3.4.2通过cin流输入数据 51

3.5流操纵算子 52

3.5.1设置整数基数的流操纵算子 52

3.5.2设置浮点数精度的流操纵算子 53

3.5.3设置域宽的流操纵算子 54

习题3 55

第4章 控制结构 57

4.1程序的语句和基本控制结构 57

4.2表达式语句 58

4.3顺序结构——复合语句 58

4.4选择结构 60

4.4.1 if选择结构 60

4.4.2 if-else选择结构 61

4.4.3 switch选择结构 66

4.5循环结构 70

4.5.1 while循环语句 70

4.5.2 do-while循环语句 73

4.5.3 for循环语句 74

4.6控制转移语句 78

4.6.1 break语句 78

4.6.2 continue语句 80

4.6.3 goto语句 81

4.6.4 return语句 82

4.7结构化程序设计方法 83

4.7.1结构化程序设计思想 83

4.7.2结构化程序设计原则 85

4.7.3结构化程序设计示例 86

4.7.4再谈程序设计风格 90

习题4 91

第5章 函数 95

5.1模块化程序设计 95

5.2预定义函数的使用 96

5.3函数定义与函数原型 97

5.3.1函数定义 97

5.3.2函数原型 98

5.4函数的调用 99

5.4.1函数调用的概念 99

5.4.2参数传递 102

5.4.3默认参数 104

5.4.4内联函数 105

5.5函数重载 106

5.6存储类别 108

5.6.1变量的存储特性 108

5.6.2自动变量 109

5.6.3寄存器变量 109

5.6.4外部变量 110

5.6.5静态变量 110

5.7作用域 112

5.8递归函数 114

5.8.1递归的概念 115

5.8.2递归函数应用举例 117

5.9预处理指令 120

5.9.1 # include指令 121

5.9.2 # define指令 121

5.9.3 # if、 # else、 # endif、 # if def、 # if ndef指令 123

习题5 124

第6章 数组 127

6.1一维数组 128

6.1.1一维数组的声明与初始化 128

6.1.2数组的应用 129

6.1.3数组作为函数参数 132

6.2多维数组 137

6.2.1多维数组的定义与初始化 137

6.2.2应用示例 139

6.3字符串 142

6.3.1字符与字符串概念 142

6.3.2字符串与字符数组 143

6.3.3字符串的输入和输出 145

习题6 146

第7章 指针 148

7.1指针的定义 148

7.2指针的运算 149

7.3指针与数组 154

7.4字符指针与字符数组 157

7.4.1字符串函数 157

7.4.2字符串函数的应用 163

7.5指针与const限定符 166

7.5.1基本概念 166

7.5.2用const限定指针 166

7.6指针和引用 170

7.7动态内存分配 171

7.7.1基本概念 171

7.7.2动态分配内存的应用 173

7.8函数指针 176

7.8.1函数指针的定义 176

7.8.2函数指针的使用 177

习题7 179

第8章 结构、联合、枚举 182

8.1结构 182

8.1.1结构的定义 183

8.1.2结构变量成员的引用 184

8.2结构的使用 185

8.2.1结构与函数 185

8.2.2结构与数组 190

8.2.3结构与指针 193

8.2.4位段 196

8.3联合 198

8.3.1联合和联合变量定义 199

8.3.2联合的使用 200

8.4枚举 201

8.4.1枚举和枚举型变量的定义 202

8.4.2枚举类型变量的赋值和使用 203

习题8 204

第9章 链表 205

9.1链表的基本概念 205

9.2单向链表 206

9.2.1单向链表的定义 206

9.2.2单向链表的操作 207

9.3双向链表 216

9.3.1双向链表的定义 216

9.3.2双向链表的操作 217

习题9 224

第10章 面向对象程序设计基本概念 226

10.1面向对象语言和面向对象方法 226

10.2类、对象和消息 228

10.2.1类和对象 228

10.2.2消息 230

10.3面向对象程序设计的特点 231

10.4面向对象程序的结构 233

习题10 235

第11章 类与对象 237

11.1数据抽象的概念 238

11.2抽象数据类型 239

11.2.1封装与信息隐藏 240

11.2.2接口与实现的分离 240

11.2.3用结构实现用户定义类型栈 241

11.2.4用类实现抽象数据类型栈 245

11.3类和对象的定义 249

11.3.1数据成员 250

11.3.2成员函数 251

11.3.3访问控制 252

11.3.4静态成员 253

11.3.5对象的建立 257

11.4构造函数 258

11.4.1构造函数的作用 258

11.4.2构造函数执行的时机 259

11.4.3构造函数重载 260

11.4.4默认构造函数 261

11.4.5复制构造函数 262

11.5析构函数 264

11.5.1析构函数的作用 264

11.5.2析构函数执行的时机 264

习题11 266

第12章 类和对象的使用 268

12.1类的复合 268

12.2 this指针 276

12.3 const特性 279

12.4友元函数和友元类 283

12.4.1友元函数 283

12.4.2友元类 285

习题12 286

第13章 运算符重载 288

13.1运算符重载的概念 288

13.1.1运算符重载的意义 289

13.1.2运算符重载的限制 292

13.2运算符成员函数与友元函数 293

13.3单目运算符重载 294

13.4重载流插入和流提取运算符 299

13.5双目运算符重载 302

13.6赋值运算符重载 305

13.7类型之间的转换 309

习题13 317

第14章 继承 319

14.1继承和派生的概念 319

14.2继承的定义 320

14.2.1派生类和基类 320

14.2.2继承的方式 322

14.2.3类的层次 323

14.2.4在派生类中重定义基类的函数 324

14.2.5派生类和基类的转换 329

14.3类指针 329

14.4继承中的构造函数和析构函数 336

14.5多重继承 339

14.6软件渐增式开发 343

14.6.1复合与继承 344

14.6.2示例 344

习题14 355

第15章 多态性 356

15.1多态性的概念 356

15.1.1静态绑定和动态绑定 357

15.1.2多态性的意义 357

15.2虚函数 358

15.3抽象基类和纯虚函数 364

15.3.1纯虚函数 365

15.3.2抽象类和具体类 365

15.4虚析构函数 369

15.5软件渐增式开发 374

习题15 382

第16章 文件和流 383

16.1基本概念 383

16.2通过FILE结构进行文件操作 384

16.2.1建立、打开和关闭文件 385

16.2.2写文件 387

16.2.3读文件 389

16.3通过文件流进行文件操作 396

16.3.1打开和建立文件 396

16.3.2写文件 398

16.3.3读文件 399

习题16 405

第17章 异常 407

17.1异常处理的意义 407

17.2异常处理基础 408

17.3异常的抛出和传播 411

17.4异常的捕获和处理 415

习题17 418

第18章 模板 419

18.1类属机制 419

18.2函数模板 420

18.2.1函数模板的定义 420

18.2.2使用函数模板 421

18.3类模板 425

18.3.1类模板的定义 426

18.3.2使用类模板 427

习题18 429

附录A C++运算符的优先级和结合性 431

附录B ASCII字符集 434

参考文献 436