当前位置:首页 > 工业技术
C语言与算法分析
C语言与算法分析

C语言与算法分析PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:刘晓昱主编
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2005
  • ISBN:7560934994
  • 页数:299 页
图书介绍:本书强调理论教学与实验实训密切结合的同时,注意介绍ANSIC已经更新的内容并与C++接轨,例如引入函数原型、void关键字及const限定符的使用方法等。
《C语言与算法分析》目录

第1章 C语言概述 1

1.1 C语言简史 1

1.2 C语言的特点 2

1.3 C程序的基本结构 3

1.4 什么是数据结构 6

1.5 Turbo C 2.0简介 7

第2章 数据类型 11

2.1 常量与变量的说明 11

2.1.1 常量 11

2.1.2 变量 12

2.1.3 标志符命名 12

2.2 C语言的数据类型 13

2.2.1 整型数据 13

2.2.2 实型数据 15

2.2.3 字符型数据 17

2.3 运算符 21

2.3.1 算术运算符和算术表达式 22

2.3.2 关系运算符和关系表达式 23

2.3.3 逻辑运算符和逻辑表达式 24

2.3.4 赋值运算符和赋值表达式 25

2.3.5 自增运算符和自减表达式 26

2.3.6 逗号运算符和逗号表达式 27

2.3.7 条件运算符和条件表达式 28

2.3.8 表达式运算顺序和数据类型转换 29

2.4 数据的输入和输出 30

2.4.1 printf函数 30

2.4.2 字符输出函数putchar函数 35

2.4.3 scanf函数 36

2.4.4 getchar函数 39

第3章 C语言程序设计 41

3.1 结构化程序设计 41

3.2 顺序程序 45

3.2.1 C程序的语句 45

3.2.2 顺序程序举例 46

3.3 选择程序 48

3.3.1 if语句 48

3.3.2 switch语句 54

3.3.3 选择程序举例 56

3.4 循环结构 58

3.4.1 for语句 58

3.4.2 while语句 61

3.4.3 do-while语句 62

3.4.4 循环的嵌套 64

3.4.5 break和continue语句 65

3.4.6 goto语句 66

3.4.7 程序举例 67

第4章 数组 70

4.1 一维数组的定义与使用 70

4.1.1 一维数组元素的定义 70

4.1.2 一维数组元索的表示方法 72

4.1.3 一维数组的赋值 73

4.1.4 一维数组程序举例 74

4.2 二维数组的定义与使用 77

4.2.1 二维数组的定义 77

4.2.2 二维数组的引用 79

4.2.3 二维数组的初始化 79

4.2.4 二维数组程序举例 80

4.3 字符数组 82

4.3.1 字符数组的定义 82

4.3.2 字符数组的初始化 83

4.3.3 字符数组的引用 83

4.3.4 字符串和字符串结束标志 84

4.3.5 字符数组的输入输出 84

4.3.6 字符数组程序举例 85

4.3.7 字符串的操作 86

4.4 线性表的顺序存储 89

4.4.1 线性表的定义 89

4.4.2 线性表的顺序存储 90

4.5 矩阵的压缩存储 94

4.5.1 特殊矩阵 94

4.5.2 稀疏矩阵 97

第5章 函数 99

5.1 概述 99

5.2 函数的形式 100

5.3 函数的参数和返回值 102

5.3.1 形式参数与实际参数 102

5.3.2 函数的返回值 102

5.4 函数的调用 102

5.4.1 函数调用的一般方法 102

5.4.2 数组作为函数参数 103

5.5 函数的嵌套调用和递归调用 105

5.5.1 函数的嵌套调用 105

5.5.2 函数的递归调用 106

5.6 变量的作用域 108

5.6.1 局部变量 109

5.6.2 全局变量 110

5.7 变量的存储类别 112

5.7.1 动态存储方式 112

5.7.2 静态存储方式 113

5.8 内部函数和外部函数 115

5.8.1 内部函数 115

5.8.2 外部函数 116

5.9 函数应用举例 116

第6章 指针 119

6.1 变量的地址和指针变量 119

6.1.1 地址(指针)、地址变量(指针变量) 119

6.1.2 指针变量的定义 122

6.1.3 指针变量的赋值 122

6.1.4 指针变量的引用 123

6.1.5 指针变量作为函数的参数 124

6.2 数组的指针和指向数组的指针变量 128

6.2.1 指向数组的指针变量 128

6.2.2 通过指针引用数组元索 129

6.2.3 数组名作为函数参数 131

6.2.4 指向多维数组的指针和指针变量 133

6.3 字符串的指针和指向字符串的指针变量 136

6.3.1 字符串的表示形式 136

6.3.2 字符串指针作为函数参数 138

6.4 指向函数的指针变量 138

6.4.1 函数的指针使用函数指针调用函数 138

6.4.2 用指向函数的指针作为函数的参数 139

6.4.3 返回指针值的函数 141

6.5 指针数组与指向指针的指针 143

6.5.1 指针数组 143

6.5.2 指针的指针 145

6.5.3 指针数组的应用 146

6.6 指针运算举例 147

第7章 结构体与共用体 151

7.1 结构体类型的定义 151

7.2 结构体类型变量 152

7.2.1 结构体类型变量的定义 152

7.2.2 结构体变量的引用 154

7.2.3 结构体变量的初始化 155

7.3 结构体数组 155

7.4 指向结构体类型数据的指针 156

7.4.1 指向结构体变量的指针 156

7.4.2 指向结构体数组的指针 158

7.4.3 结构体指针变量作函数参数 160

7.5 共用体 161

7.5.1 共用体的定义 161

7.5.2 共用体变量的说明 162

7.5.3 共用体变量的引用 163

7.6 枚举类型 165

7.6.1 枚举类型的定义 165

7.6.2 枚举类型变量的说明 165

7.6.3 枚举类型变量的赋值和使用 166

7.7 编译预处理 167

7.7.1 宏定义 167

7.7.2 文件包含 174

7.7.3 条件编译 176

7.8 位运算 179

7.8.1 位运算符 179

7.8.2 位域 182

7.8.3 类型定义符typedef 184

第8章 链表 186

8.1 链表的概念 186

8.2 链表的操作 187

8.2.1 对链表的基本操作 187

8.2.2 C语言对链表节点的结构描述 187

8.2.3 创建一个新链表 188

8.2.4 对链表的插入操作 191

8.2.5 链表的删除 194

8.2.6 其他链表的介绍 195

8.3 栈 196

8.3.1 栈 196

8.3.2 栈的顺序存储结构 197

8.4 队列 200

8.4.1 队列的定义及基本操作 200

8.4.2 队列的顺序存储结构 201

第9章 树和二叉树 203

9.1 树的定义和基本术语 203

9.1.1 树的定义 203

9.1.2 树的基本术语 204

9.1.3 树的表示 205

9.2 二叉树 206

9.2.1 二叉树的定义 206

9.2.2 二叉树的性质 208

9.2.3 二叉树的存储 209

9.3 遍历二叉树和线索二叉树 212

9.3.1 遍历二叉树 212

9.3.2 线索二叉树 214

9.4 树和森林 216

9.4.1 树的存储结构 216

9.4.2 树、森林与二叉树的转换 219

9.4.3 树和森林的遍历 222

9.5 哈夫曼树 223

9.5.1 基本术语 223

9.5.2 哈夫曼树的构造 225

9.5.3 哈夫曼编码 225

第10章 图 228

10.1 图的定义和术语 228

10.2 图的存储 231

10.2.1 邻接矩阵 231

10.2.2 邻接表 233

10.3 图的遍历 236

10.3.1 深度优先搜索 236

10.3.2 广度优先搜索 238

第11章 文件 241

11.1 文件概述 241

11.2 文件的打开与关闭 242

11.3 文件的读写 245

11.3.1 常用的文件读写函数 245

11.3.2 字符读写函数 245

11.3.3 字符串读写函数 248

11.4 文件的其他常用函数 249

11.4.1 格式化读写函数 249

11.4.2 数据块读写函数 249

第12章 常用算法及实用程序 252

12.1 常用算法 252

12.1.1 迭代法 252

12.1.2 穷举法 253

12.1.3 递推法 254

12.2 图形应用技巧 255

12.2.1 简单介绍一下常用画图函数 255

12.2.2 屏幕图像的存取技巧 262

12.2.3 用随机函数实现动画的技巧 265

12.2.4 用putimage函数实现动画的技巧 267

12.3 音响技巧 269

12.3.1 音乐程序设计 269

12.3.2 自动识谱音乐程序 273

12.3.3 实现后台演奏音乐的技巧 277

附录1 ASCⅡ码表 279

附录2 库函数 281

附录3 C语言中的关键字 287

附录4 运算符和结合性 288

附录5 Turbo C(V2.0)编译错误信息 289

附录6 2005年二级C语言考试大纲 296

返回顶部