《C语言与数据结构》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赵国玲编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7505352881
  • 页数:299 页
图书介绍:

第1章 概述 1

1.1 C语言的发展和特点 1

1.1.1 程序设计语言 1

1.1.2 C语言简介 2

1.1.3 C语言的特点 3

1.2 数据结构概述 3

1.2.1 数据结构的基本概念和术语 3

1.2.2 关于算法分析 4

1.3 C语言程序结构及特点 5

1.3.1 简单程序实例 5

1.3.2 C语言程序的结构特点 6

1.4 C语言程序上机步骤 6

1.4.1 TurboC中运行C程序的步骤 7

1.4.2 TurboC的编辑功能键 9

本章小结 11

实验一 C语言程序的运行 11

习题一 12

第2章 数据类型与基本操作 13

2.1 C语言的数据类型 13

2.2 常量和变量 14

2.2.1 常量 14

2.2.2 变量 16

2.2.3 各种类型数据的存储和取值范围 18

2.2.4 变量赋值 19

2.3 运算符和表达式 20

2.3.1 C语言所提供的运算符 20

2.3.2 算术运算 21

2.3.3 赋值运算 22

2.3.4 复合赋值运算 23

2.3.5 逗号运算 23

2.4 不同类型数据间的转换 24

2.4.1 不同类型数据的隐式转换 24

2.4.2 不同类型数据的显式转换 25

2.5 基本输入与输出 25

2.5.1 数据输出 26

2.5.2 数据输入 29

2.5.3 数据输入、输出应用举例 33

本章小结 34

实验二 数据基本运算及基本输入、输出 34

习题二 36

第3章 C语言程序的流程控制 39

3.1 程序设计基础知识 39

3.1.1 程序流程图 39

3.1.2 程序设计方法 39

3.2 基本C语句 40

3.2.1 表达式语句 41

3.2.2 复合语句 41

3.2.3 流程控制语句 42

3.3 关系运算及逻辑运算 42

3.3.1 关系运算 42

3.3.2 逻辑运算 43

3.3.3 条件运算 44

3.4 选择结构程序设计 44

3.4.1 条件语句 45

3.4.2 switch语句 48

3.5 循环程序结构设计 51

3.5.1 while语句 52

3.5.2 do...while循环语句 53

3.5.3 for循环语句 54

3.5.4 循环嵌套 55

3.5.5 continue和break语句 56

3.6 循环程序举例 57

3.6.1 三种循环的比较 57

3.6.2 应用举例 58

本章小结 61

实验三 分支与循环程序设计 61

习题三 62

第4章 函数 65

4.1 函数的定义及调用 65

4.1.1 函数的定义 66

4.1.2 函数声明 68

4.1.3 函数调用 69

4.2 函数的递归调用 71

4.3 变量的存储属性 72

4.3.1 局部变量与全局变量 73

4.3.2 动态变量与静态变量 76

4.3.3 寄存器变量 78

4.4 C语言的编译预处理 78

4.4.1 宏定义#define命令 79

4.4.2 文件包含#include命令 80

本章小结 81

实验四 函数的定义和使用 81

习题四 82

第5章 数组数据类型及其应用 85

5.1 一维数组 85

5.1.1 一维数组的定义 85

5.1.2 数组的初始化 86

5.1.3 数组元素的访问 86

5.1.4 数组作函数参数 87

5.2 二维数组 89

5.2.1 二维数组和多维数组的定义 89

5.2.2 二维和多维数组的初始化 90

5.2.3 二维数组的引用及举例 91

5.3 字符数组与字符串 94

5.3.1 字符串的处理 94

5.3.2 字符串的输入\输出 95

5.3.3 字符串的运算 96

5.3.4 二维字符数组及字符串的应用 98

5.3.5 字符串应用举例 99

5.4 线性表 100

5.4.1 线性表的定义和基本运算 100

5.4.2 线性表的存储结构 101

5.4.3 线性表的运算 101

5.5 栈和队列 103

5.5.1 栈 104

5.5.2 队列 104

5.6 稀疏矩阵 106

5.7 常用数据查找算法 108

5.7.1 顺序查找 108

5.7.2 折半查找 109

5.8 常用数据排序算法 111

5.8.1 基本概念 111

5.8.2 插入排序 112

5.8.3 交换排序 114

5.8.4 选择排序 117

本章小结 119

实验五 数组及线性表 120

实验六 排序及查询 121

习题五 121

第6章 指针 123

6.1 指针的概念 123

6.2 指针变量的定义和引用 124

6.2.1 指针变量的定义 124

6.2.2 指针变量的引用 125

6.2.3 有关指针的两个运算符 126

6.2.4 指针变量应用举例 127

6.3 指针与数组 130

6.3.1 一维数组与指针 130

6.3.2 二维数组的指针表示法 134

6.4 指针与字符串 135

6.5 指针与函数 138

6.5.1 指针变量作为函数的参数 138

6.5.2 返回指针值的函数 143

6.5.3 指向函数的指针变量 144

本章小结 146

实验七 指针的使用 147

习题六 148

第7章 结构体与共用体数据类型 149

7.1 结构体数据类型的定义和引用 149

7.1.1 结构体类型的定义 149

7.1.2 结构体类型变量的定义 150

7.1.3 结构体类型变量的引用 151

7.1.4 结构体类型变量的初始化 152

7.2 结构体数组及初始化 153

7.2.1 结构体数组的定义 153

7.2.2 结构体数组的初始化 154

7.3 结构体与指针 155

7.3.1 指向结构体变量的指针 155

7.3.2 指向结构体数组的指针 156

7.4 结构体与函数 158

7.5 线性链表 160

7.5.1 线性链表的概念 160

7.5.2 内存单元的动态分配 161

7.5.3 线性链表的初始化、建立和输出 163

7.5.4 线性链表的基本操作 166

7.6 循环链表 170

7.6.1 循环链表 170

7.6.2 双向循环链表 170

7.7 链栈和链队 173

7.7.1 链栈 173

7.7.2 链队 174

7.8 共用体数据类型 175

7.8.1 共用体类型的定义 175

7.8.2 共用体类型变量的引用 176

7.9 枚举类型 178

本章小结 180

实验八 链表的使用 181

习题七 181

第8章 树 184

8.1 树的基本概念 184

8.1.1 树的定义 184

8.1.2 树的基本术语 185

8.2 树的存储结构 186

8.2.1 双亲表示法 186

8.2.2 孩子表示法 187

8.2.3 孩子兄弟表示法 187

8.3 二叉树 188

8.3.1 二叉树的定义和性质 188

8.3.2 二叉树的存储结构 190

8.4 二叉树的遍历 192

8.4.1 二叉树的中根遍历 192

8.4.2 二叉树的先根遍历 193

8.4.3 二叉树的后根遍历 194

8. 5 线索树 197

8.5.1 线索树的结构 197

8.5.2 中根线索树的建立 198

8.5.3 结点的检索 200

8.5.4 结点的插入 201

8.6 二叉查找树 203

8.6.1 二叉查找树的定义及其结构 204

8.6.2 二叉查找树的建立 204

8.6.3 二叉查找树的查找过程 206

8.6.4 二叉查找树的删除 207

8.6.5 二叉查找树的查找分析及评价 209

8.7 堆排序 210

8.7.1 堆定义 210

8.7.2 堆的建立 210

8.7.3 堆排序的实现 211

本章小结 213

实验九 二叉树的遍历 214

习题八 214

第9章 图 216

9.1 基本概念 216

9.2 图的存储结构 218

9.2.1 邻接矩阵 219

9.2.2 邻接表 220

9.3 图的遍历 222

9.3.1 深度优先搜索(dfs) 223

9.3.2 广度优先搜索(bfs) 225

9.4 拓扑排序 228

9.5 最短路径 230

9.5.1 从某一源点到其他各顶点的最短路径 230

9.5.2 每对顶点间的最短路径 233

本章小结 235

习题九 235

第10章 文件 237

10.1 C文件概述 237

10.1.1 流和文件 237

10.1.2 缓冲区文件与非缓冲区文件 237

10.2 文件的打开与关闭 238

10.2.1 缓冲区文件定义 238

10.2.2 文件的打开与关闭 238

10.3 文件的输入与输出 240

10.3.1 读写一个字符 241

10.3.2 读写一个字符串 243

10.3.3 读写数据字段 244

10.3.4 格式化读写 247

10.4 文件的定位与随机读写 248

10.4.1 rewind()函数 249

10.4.2 fseek()函数 249

10.4.3 ftell()函数 250

本章小结 250

实验十 文件操作 251

习题十 251

第11章 C语言的位运算 253

11.1 位运算符 253

11.1.1 按位与运算符(&) 253

11.1.2 按位或运算符(|) 254

11.1.3 按位异或运算符(^) 254

11.1.4 取反运算符(~) 254

11.1.5 左移运算符(《) 254

11.1.6 右移运算符(》) 255

11.2 位段 255

本章小结 258

习题十一 258

第12章 图形及用户界面技术 259

12.1 设置图形模式 259

12.1.1 几种工作模式及特点 259

12.1.2 图形模式的初始化 260

12.1.3 颜色的设置 262

12.2 图形函数及图形设计 264

12.2.1 画点 264

12.2.2 画线 265

12.2.3 画圆 266

12.2.4 画组合图 267

12.3 窗口设计 268

12.3.1 什么是窗口 268

12.3.2 如何定义窗口 268

12.3.3 文本窗口的颜色设置 269

12.3.4 窗口的操作函数 270

12.3.5 窗口设计示例 271

12.4 光带选择菜单设计 273

12.4.1 功能键识别 273

12.4.2 光标控制 274

12.4.3 利用标准输出函数设计菜单 275

12.4.4 利用窗口操作函数设计菜单 277

12.5 应用举例 279

本章小结 282

实验十一 综合应用程序设计 283

习题十二 283

附录1 TurboC的安装及各选项的作用 284

附录2 错误信息英中文对照 289

附录3 ASCⅡ代码与字符对照表 291

附录4 关键字和运算符 293

附录5 常用库函数 294

参考文献 299