《C/C++与数据结构 上》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:王立柱,王春枝主编;叶志伟,欧阳勇副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302422044
  • 页数:423 页
图书介绍:主要主要包括C、C++和C++类模板三部分。C语言有指针,数组,函数,字符串,结构体,顺序表,链表,文件和二维数组。C++有顺序表类,String类,非线性结构与递归,继承和动态绑定,流与文件。C++模板类有向量类模板,链表类模板和适配器。本书既适用于C和C++语言综合教学,又适用于程序设计类课程。

第1章 机器语言模式 1

1.1 模拟机器指令集与程序设计举例 1

1.2 机器语言的局限性 7

问题与练习 8

第2章 C语言模式 9

2.1 基于基本类型的编程模式 9

2.2 基本数据类型 19

2.2.1 整型 19

2.2.2 实型 21

2.2.3 字符型 22

2.3 运算符和表达式 25

2.3.1 自增、自减运算符和表达式 25

2.3.2 复合赋值运算符和表达式 26

2.3.3 条件表达式和逗号表达式 26

2.3.4 关系运算符和逻辑运算符 27

2.3.5 运算符优先级 29

2.4 类型转换 29

2.5 程序流程控制结构 30

2.5.1 if-else语句 31

2.5.2 switch-case语句 32

2.5.3 break语句和continue语句 34

问题与练习 35

第3章 函数 38

3.1 函数自定义与调用 38

3.2 函数声明与定义 43

3.3 函数与变量的存储类别 44

3.3.1 自动局部变量 45

3.3.2 静态局部变量 48

3.3.3 外部变量 49

3.4 函数应用设计举例 51

3.4.1 阶乘累加 51

3.4.2 求π的近似值 52

3.4.3 求最大公约数 53

3.4.4 判断质数 54

3.4.5 数制转换 55

3.5 模块化程序设计 56

3.5.1 全局外部函数 57

3.5.2 静态外部函数 58

3.5.3 全局外部变量 59

3.5.4 静态外部变量 60

3.6 编译预处理 61

3.6.1 无参宏指令 61

3.6.2 带参宏指令 62

3.6.3 条件编译指令 64

3.6.4 文件包含指令 66

问题与练习 68

第4章 一维数组和指针 70

4.1 指针和指针传递 70

4.2 一维数组和指针 75

4.2.1 一维数组 75

4.2.2 指向一维数组的指针 78

4.2.3 数组类型和数组首元素类型 81

4.3 const型指针 83

4.4 动态数组 86

4.5 数组和指针应用举例 90

4.5.1 Josephus问题 90

4.5.2 选择排序 93

4.5.3 起泡排序 96

4.5.4 划分数组元素 98

4.5.5 删除数组中的重复数据 101

4.5.6 筛法求质数 102

4.5.7 顺序搜索和二分搜索 104

4.6 索引和指针 107

4.7 指针和左值 108

4.8 函数指针 108

问题与练习 109

第5章 C字符串 111

5.1 字符串常量和字符串变量 111

5.2 字符串基本操作函数原型 117

5.3 字符串基本操作函数实现 118

5.4 字符串基本操作函数的补充 122

5.4.1 取子串 123

5.4.2 子串插入 125

5.4.3 子串删除 127

5.4.4 字符查找 128

5.5 模式匹配 129

问题与练习 131

第6章 结构体、联合体和枚举 133

6.1 结构体 133

6.1.1 结构体定义 133

6.1.2 结构体变量和typedef名字 134

6.1.3 结构体变量的初始化和赋初值 135

6.1.4 结构体数组 136

6.1.5 结构体的嵌套 138

6.1.6 结构体返回值和指针传递 139

6.1.7 数组和含有数组的结构体变量 140

6.2 联合体 142

6.3 枚举 145

6.4 结构体应用设计举例 147

6.4.1 模拟洗牌 147

6.4.2 Date结构体 149

6.4.3 三天打鱼,两天晒网 153

问题与练习 154

第7章 顺序表 158

7.1 数组的局限性 158

7.2 顺序表声明与实现 159

7.2.1 顺序表声明 160

7.2.2 顺序表实现 164

7.3 索引和指针 169

7.4 数据抽象和封装 171

问题与练习 171

第8章 链表 173

8.1 链表的结构分析 173

8.2 链表的声明和实现 179

问题与练习 185

第9章 C的流与文件 186

9.1 文件指针 186

9.2 文件打开与关闭 187

9.3 文件的读写 191

9.3.1 字符的读写 191

9.3.2 字符串的读写 193

9.3.3 无格式读写 194

9.3.4 格式读写 197

9.3.5 文件的随机访问 199

问题与练习 201

第10章 二维数组和指针 204

10.1 二维数组和指针 204

10.2 二维数组和一维数组 211

10.3 马鞍点 213

10.4 指针数组和二级指针 215

10.5 指针数组与二维数组 217

问题与练习 219

第11章 从C到C++ 221

11.1 C语言的固有局限性 221

11.2 内联函数 224

11.3 运算符重载和函数重载 225

11.3.1 运算符重载 225

11.3.2 函数重载 227

11.4 引用型 230

11.4.1 概念的由来 230

11.4.2 引用型及其应用 233

11.5 函数模板 235

11.6 提取符和插入符 237

11.7 默认参数 239

11.8 深入讨论——函数模板实例化中的问题 241

问题与练习 242

第12章 顺序表类 243

12.1 从C顺序表到C++顺序表类 243

12.2 new和delete操作符 249

12.3 需要增加、删除和修改的成员函数 250

12.4 顺序表类的声明和实现 258

12.5 类模板 259

12.6 基本类型赋值形式的扩展 264

问题与练习 265

第13章 String类 266

13.1 String类的声明 266

13.2 String类的实现 269

13.2.1 构造函数和析构函数 269

13.2.2 成员赋值运算符 271

13.2.3 成员转换 272

13.2.4 串连接 274

13.2.5 关系运算 278

13.2.6 求子串 279

13.2.7 子串插入 280

13.2.8 子串删除 284

13.2.9 下标运算符 285

13.2.10 字符查找 285

13.2.11 输入输出 287

13.3 模式匹配 289

13.4 String类的深入讨论 291

13.4.1 转换赋值运算符函数的替代 291

13.4.2 成员函数“类串+C串”的替代 291

13.4.3 explicit修饰符 292

问题与练习 293

第14章 Date类 295

14.1 Date类的声明 295

14.2 Date类的实现 299

14.3 静态数据成员和静态成员函数 304

14.4 封装的典型应用 307

问题与练习 309

第15章 非线性结构与递归 310

15.1 树形结构与递归 310

15.2 C++递归函数 315

15.3 汉诺塔问题 316

15.4 快速排序 320

15.5 八皇后 321

问题与练习 326

第16章 继承和多态性 327

16.1 构造函数的参数初始化表 327

16.2 继承 330

16.3 受保护成员 332

16.4 多态性和虚函数 333

16.5 虚析构函数 337

16.6 纯虚函数和抽象类 338

问题与练习 342

第17章 向量类模板 344

17.1 向量类模板的声明和实现 344

17.2 函数对象 351

问题与练习 354

第18章 链表类模板和适配器 356

18.1 链表类模板List 356

18.2 链表和链表类模板的代码对比 368

18.3 适配器 371

18.3.1 链栈 371

18.3.2 链队列 372

18.3.3 优先级链队列 373

问题与练习 374

第19章 C++综合设计实例 375

19.1 中缀表达式求值 375

19.2 事件驱动模拟 380

问题与练习 391

第20章 C++的流与文件 392

20.1 格式化输入输出 393

20.1.1 设置流的格式化标志 393

20.1.2 格式输出函数 395

20.1.3 操作算子 396

20.2 文件的读写 399

20.2.1 字符读写函数 400

20.2.2 字符串读写函数 402

20.2.3 无格式读写函数 402

20.2.4 格式读写 404

20.2.5 随机访问 406

20.3 文件错误处理 407

问题与练习 408

第21章 命名空间 409

21.1 命名空间的定义 409

21.2 using namespace语句 410

21.3 命名空间的成员 412

21.4 命名空间的别名 414

问题与练习 414

附录A 命名规则 415

附录B 常用的ANSI C标准库函数 416

参考文献 423