图书介绍

程序设计基础与数据结构2025|PDF|Epub|txt|kindle电子书版本网盘下载

程序设计基础与数据结构
  • 戚桂杰,姚云鸿主编 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302160687
  • 出版时间:2008
  • 标注页数:392页
  • 文件大小:24MB
  • 文件页数:406页
  • 主题词:程序设计-高等学校-教材;数据结构-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

程序设计基础与数据结构PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 程序设计的基本概念1

1.1 程序设计和程序设计语言1

1.1.1 程序与软件1

1.1.2 程序设计语言的发展2

1.1.3 计算机如何运行程序2

1.2 C语言概述4

1.2.1 C语言的发展4

1.2.2 C程序的结构4

1.2.3 C语言字符集6

1.2.4 C语言的特点7

1.3 算法8

1.3.1 问题求解过程8

1.3.2 算法及其表示9

1.3.3 简单算法举例9

1.3.4 用流程图表示算法11

1.3.5 三种基本算法结构和改进的流程图13

1.3.6 用N-S流程图表示算法14

1.3.7 用伪代码表示算法16

1.3.8 用计算机语言表示算法17

1.4 结构化程序设计方法18

1.5 本章小结18

习题119

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

2.1 C语言的数据类型20

2.2 标识符21

2.3 常量与变量22

2.3.1 常量和符号常量22

2.3.2 变量23

2.4 整型数据23

2.4.1 整型常量的表示方法23

2.4.2 整型变量24

2.5 实型数据27

2.5.1 实型常量的表示方法27

2.5.2 实型变量28

2.5.3 实型常量的类型29

2.6 字符型数据29

2.6.1 字符常量29

2.6.2 转义字符29

2.6.3 字符变量30

2.6.4 字符数据在内存中的存储形式及使用方法30

2.6.5 字符串常量32

2.7 变量赋初值32

2.8 各类数值型数据之间的混合运算32

2.8.1 自动类型转换33

2.8.2 强制类型转换33

2.9 算术运算符和算术表达式34

2.9.1 C运算符简介34

2.9.2 算术运算符和算术表达式35

2.10 赋值运算符和赋值表达式37

2.10.1 赋值运算符37

2.10.2 类型转换37

2.10.3 复合的赋值运算符38

2.11 逗号运算符和逗号表达式38

2.12 本章小结39

习题240

第3章 C程序语句42

3.1 C程序语句概述42

3.2 顺序程序设计43

3.2.1 数据输入输出的概念及在C语言中的实现44

3.2.2 字符数据的输入输出44

3.2.3 格式输入与输出46

3.2.4 顺序结构程序设计举例50

3.3 选择结构程序51

3.3.1 关系运算符和关系表达式51

3.3.2 逻辑运算符和表达式53

3.3.3 if语句54

3.3.4 switch语句59

3.3.5 程序举例61

3.4 循环控制62

3.4.1 概述62

3.4.2 goto语句以及用goto语句构成循环62

3.4.3 while语句63

3.4.4 do-while语句64

3.4.5 for语句66

3.4.6 循环的嵌套68

3.4.7 几种循环的比较68

3.4.8 break和continue语句69

3.4.9 程序举例71

3.5 本章小结72

习题373

第4章 函数与数组74

4.1 函数概述74

4.2 函数定义的一般形式75

4.2.1 类型标识符与return语句75

4.2.2 形式参数和实际参数76

4.3 函数调用78

4.3.1 函数调用的一般形式78

4.3.2 函数嵌套调用与递归调用79

4.4 函数作用域规则82

4.4.1 局部变量与外部变量83

4.4.2 动态存储变量与静态存储变量86

4.4.3 内部和外部函数的说明88

4.5 数组89

4.5.1 一维数组89

4.5.2 二维数组91

4.5.3 数组应用程序举例92

4.5.4 字符数组94

4.6 预处理命令98

4.6.1 宏定义98

4.6.2 文件包含104

4.6.3 条件编译104

4.7 本章小结106

习题4107

第5章 指针与结构体109

5.1 指针概述109

5.1.1 指针是地址109

5.1.2 指针变量及其定义110

5.1.3 指针变量作函数参数111

5.2 数组与指针115

5.2.1 一维数组与指针116

5.2.2 多维数组与指针119

5.2.3 字符串与指针122

5.2.4 指针数组124

5.3 指针与函数127

5.3.1 函数指针变量127

5.3.2 指针型函数129

5.3.3 多级指针130

5.3.4 指针数组作main()的参数132

5.4 结构体133

5.4.1 结构体类型的定义133

5.4.2 结构体类型变量的定义133

5.4.3 结构体变量的引用135

5.4.4 结构体变量的初始化136

5.4.5 结构体数组136

5.4.6 结构体与指针138

5.5 共用体139

5.5.1 共用体的概念139

5.5.2 共用体变量的引用140

5.6 其他数据类型141

5.6.1 枚举类型141

5.6.2 类型定义符typedef143

5.7 位操作144

5.7.1 位运算145

5.7.2 位段147

5.8 本章小结149

习题5150

第6章 文件153

6.1 文件概述153

6.1.1 与文件有关的概念153

6.1.2 文件指针154

6.2 文件的打开与关闭155

6.2.1 文件的打开(fopen函数)155

6.2.2 文件关闭157

6.3 文件的输入输出 158

6.3.1 读写文件中字符的函数158

6.3.2 数据块读写函数fread()和fwrite()161

6.3.3 字符串读写函数fgets()和fputs()163

6.3.4 格式读写函数fscanf()和fprintf()165

6.3.5 其他输入输出函数166

6.4 文件的定位167

6.4.1 ftell()函数167

6.4.2 文件头复位函数rewind()167

6.4.3 文件的随机定位函数fseek()168

6.5 出错的检测169

6.6 典型实例169

6.7 常见的编程错误173

6.8 本章小结173

习题6174

第7章 大型程序的设计与调试175

7.1 大型程序的开发过程175

7.1.1 需求分析175

7.1.2 软件设计的任务176

7.1.3 编码177

7.1.4 软件测试179

7.2 大型程序的设计原理179

7.2.1 使用抽象管理复杂性180

7.2.2 自顶而下、逐步求精的设计策略181

7.2.3 模块化程序设计181

7.2.4 重用代码184

7.3 C语言大型程序的几种开发机制184

7.3.1 模块的实现184

7.3.2 多模块程序的编译、连接187

7.3.3 标识符的连接属性188

7.3.4 条件编译191

7.4 大型程序的测试191

7.4.1 测试技术192

7.4.2 测试步骤194

7.4.3 调试195

7.5 程序设计实例196

7.5.1 链表简介196

7.5.2 需求分析197

7.5.3 总体设计197

7.5.4 函数设计198

7.5.5 头文件设计199

7.5.6 算法分析200

7.5.7 实现文件设计201

7.5.8 测试 205

7.6 本章小结209

习题7209

第8章 数据结构基本概念211

8.1 数据结构实例211

8.2 基本概念和术语213

8.2.1 数据213

8.2.2 数据结构214

8.2.3 存储结构215

8.2.4 抽象数据类型216

8.2.5 抽象数据类型的表示与实现217

8.3 算法的评价220

8.4 本章小结221

习题8221

第9章 线性结构223

9.1 线性结构概述223

9.2 线性表的类型定义224

9.2.1 线性表的定义224

9.2.2 线性表的抽象数据类型定义224

9.3 线性表的顺序表示和实现225

9.4 线性表的链式表示和实现230

9.5 线性表的其他链式表示235

9.5.1 静态链表235

9.5.2 循环链表238

9.5.3 双向链表238

9.6 线性表的应用举例239

9.7 栈243

9.7.1 栈的定义243

9.7.2 栈的抽象数据类型定义243

9.7.3 栈的顺序表示和实现244

9.7.4 栈的链式表示和实现247

9.8 栈的应用举例249

9.8.1 数制转换249

9.8.2 迷宫问题250

9.8.3 栈与递归——汉诺塔问题253

9.9 队列257

9.9.1 队列的定义257

9.9.2 队列的抽象数据类型定义258

9.9.3 队列的顺序表示和实现259

9.9.4 队列的链式表示和实现261

9.10 队列的应用举例264

9.11 本章小结266

习题9266

第10章 树和二叉树269

10.1 树269

10.1.1 树的定义269

10.1.2 树的基本术语271

10.1.3 树的性质272

10.1.4 树的表示273

10.2 二叉树273

10.2.1 二叉树的定义273

10.2.2 二叉树的性质274

10.2.3 二叉树的表示和实现276

10.3 线索二叉树287

10.4 树和森林289

10.4.1 树的存储结构289

10.4.2 森林和二叉树的转化291

10.4.3 树和森林的遍历293

10.5 霍夫曼树及其应用293

10.5.1 基本术语293

10.5.2 霍夫曼树的构造294

10.5.3 霍夫曼树的应用296

10.6 本章小结297

习题10298

第11章 排序301

11.1 概述301

11.2 插入排序302

11.2.1 直接插入排序302

11.2.2 改进的插入排序303

11.2.3 希尔排序304

11.3 交换排序306

11.3.1 起泡排序 306

11.3.2 快速排序307

11.4 选择排序309

11.4.1 简单选择排序309

11.4.2 堆排序310

11.5 归并排序313

11.6 各种内部排序方法的比较讨论315

11.7 外部排序316

11.8 本章小结317

习题11318

第12章 查找/检索320

12.1 基本概念320

12.2 静态查找表322

12.2.1 顺序查找323

12.2.2 折半查找324

12.2.3 分块查找328

12.3 二叉查找树329

12.3.1 二叉查找树的查找329

12.3.2 二叉查找树的插入331

12.3.3 二叉查找树的删除333

12.3.4 平衡二叉树336

12.4 B-树342

12.4.1 B-树的定义与示例342

12.4.2 B-树查找343

12.4.3 B-树的插入344

12.4.4 B-树中的删除346

12.4.5 B+树348

12.5 散列表查找349

12.5.1 基本概念349

12.5.2 散列函数350

12.5.3 冲突的处理352

12.5.4 散列表查找及性能分析354

12.6 本章小结355

习题12357

第13章 文件组织359

13.1 文件概述359

13.1.1 文件的概念359

13.1.2 文件的逻辑结构360

13.1.3 文件的物理结构361

13.1.4 文件的操作362

13.2 顺序文件363

13.2.1 顺序文件概述363

13.2.2 顺序文件的操作363

13.3 直接文件(散列文件)364

13.3.1 桶散列365

13.3.2 可扩展散列366

13.4 索引文件368

13.5 索引顺序文件369

13.5.1 ISAM369

13.5.2 VSAM文件371

13.6 倒排文件373

13.7 本章小结374

习题13374

附录A Turbo C 3.0集成开发环境的使用376

A.1 Turbo C 3.0简介和启动376

A.2 Turbo C 3.0集成开发环境376

A.3 C程序上机执行过程382

A.4 C程序的调试383

A.4.1 编译、连接时常见错误383

A.4.2 程序的动态调试384

附录B 参考术语表385

参考文献392

热门推荐