图书介绍

C语言与程序设计PDF|Epub|txt|kindle电子书版本网盘下载

C语言与程序设计
  • 曹计昌,卢萍,李开编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121190391
  • 出版时间:2013
  • 标注页数:436页
  • 文件大小:430MB
  • 文件页数:449页
  • 主题词:C语言-程序设计-高等学校-教材

PDF下载


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

下载说明

C语言与程序设计PDF格式电子书版下载

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

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

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

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

图书目录

上篇 C语言1

第1章 概论1

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

1.2 学习C语言程序设计的第一个例子1

1.2.1 创建并运行第一个C程序2

1.2.2 解释分析第一个C程序3

1.3 C语言的产生、发展与语言特征4

1.3.1 C语言的产生与发展4

1.3.2 C语言的标准化5

1.3.3 C语言的特征6

1.4 计算机系统及内存编址7

1.5 数和字符的编码表示8

1.5.1 进位计数制9

1.5.2 进位制数之间的转换11

1.5.3 数的机器码表示13

1.5.4 字符的编码表示14

1.6 算法及其表示15

1.6.1 算法的定义15

1.6.2 算法的表示16

1.6.3 算法的实现18

1.7 学习C语言与程序设计的方法18

本章小结20

习题120

第2章 基本词法语法规则与程序元素21

2.1 字符及词法元素21

2.1.1 字符集21

2.1.2 词法元素21

2.2 语法规则22

2.2.1 BNF范式22

2.2.2 EBNF范式23

2.2.3 语法图23

2.3 标识符、关键字及分隔符24

2.3.1 标识符24

2.3.2 关键字24

2.3.3 分隔符25

2.4 基本数据类型25

2.4.1 数据类型的分类25

2.4.2 基本类型的名字25

2.4.3 字符类型26

2.4.4 整型类型26

2.4.5 浮点类型27

2.5 常量与变量28

2.5.1 文字常量28

2.5.2 符号常量31

2.5.3 变量定义33

2.6 运算符和表达式33

2.6.1 C语言运算符简介33

2.6.2 运算符的优先级和结合性34

2.6.3 算术运算35

2.6.4 关系运算35

2.6.5 逻辑运算36

2.6.6 自增和自减运算37

2.6.7 赋值运算39

2.6.8 条件运算40

2.6.9 逗号运算40

2.6.10 sizeof运算41

2.7 位运算符和位表达式42

2.7.1 按位求反(~)42

2.7.2 按位与、或、加运算(&,|,^)42

2.7.3 左移和右移运算(<<,>>)42

2.7.4 位运算符应用举例43

2.7.5 打印整数各位44

2.8 类型转换45

2.8.1 整数提升45

2.8.2 算术转换45

2.8.3 赋值转换46

2.8.4 强制类型转换46

2.9 枚举类型47

2.9.1 枚举类型的定义47

2.9.2 用枚举类型定义符号常量48

2.9.3 枚举变量的声明48

2.10 新增数据类型49

2.10.1 long long类型49

2.10.2 布尔类型49

2.10.3 复数类型50

本章小结51

习题252

第3章 基本的标准输入与输出54

3.1 字符输入与输出54

3.1.1 字符输出函数putchar54

3.1.2 字符输入函数getchar55

3.2 字符串输入与输出57

3.2.1 字符串输出函数puts57

3.2.2 字符串输入函数gets57

3.3 格式化输入与输出58

3.3.1 格式化输出函数printf58

3.3.2 格式化输入函数scanf62

本章小结70

习题370

第4章 流程控制72

4.1 C语句分类72

4.2 表达式语句72

4.3 复合语句73

4.4 if语句74

4.5 switch语句77

4.6 while语句80

4.7 for语句84

4.8 do-while语句87

4.9 goto语句和标号语句92

4.10 break语句、continue语句和return语句94

4.11 嵌套循环程序设计97

4.11.1 嵌套循环97

4.11.2 枚举100

4.11.3 筛法101

4.11.4 递推101

本章小结102

习题4102

第5章 函数与程序结构104

5.1 C程序的一般结构104

5.1.1 结构化程序设计104

5.1.2 蒙特卡罗模拟:猜数游戏104

5.1.3 C程序的结构108

5.2 函数的定义与函数原型108

5.2.1 函数的定义108

5.2.2 函数的返回值109

5.2.3 函数的声明110

5.2.4 新增关键字inline和_Noretrn111

5.3 函数调用与参数传递112

5.3.1 函数调用112

5.3.2 参数的值传递114

5.4 作用域与可见性115

5.4.1 局部变量和全局变量115

5.4.2 作用域规则117

5.4.3 可见性118

5.5 存储类型118

5.5.1 存储类型auto118

5.5.2 存储类型extem119

5.5.3 存储类型static120

5.5.4 存储类型register123

5.5.5 新增存储类型_Thread_local123

本章小结124

习题5124

第6章 编译预处理126

6.1 文件包含#include126

6.2 宏定义#define126

6.2.1 无参宏定义127

6.2.2 带参宏定义127

6.2.3 空宏参数128

6.2.4 可变参数宏定义128

6.2.5 通用类型宏129

6.3 取消宏定义#undef130

6.4 条件编译130

6.4.1 #if、#ifdef和#ifndef指令130

6.4.2 defined运算符131

6.4.3 条件编译的应用132

6.5 assert断言和静态断言133

6.5.1 assert断言133

6.5.2 静态断言133

6.6 _func_预定义标识符134

6.7 _Pragma预处理操作符134

本章小结134

习题6135

第7章 数组136

7.1 数组概述136

7.2 一维数组136

7.2.1 一维数组的声明137

7.2.2 一维数组的使用138

7.2.3 一维数组的初始化138

7.2.4 一维数组的存储结构139

7.2.5 一维数组的运算139

7.2.6 一维数组作为函数参数140

7.3 字符数组141

7.3.1 字符数组的声明和使用141

7.3.2 字符数组的初始化142

7.4 字符串处理函数142

7.4.1 串操作函数的设计及使用143

7.4.2 数字串与数值之间转换的函数146

7.4.3 C11标准中新增的Unicode字符集和Unicode字符串148

7.5 多维数组149

7.5.1 多维数组的声明与使用150

7.5.2 多维数组的存储结构151

7.5.3 多维数组的初始化152

7.5.4 二维字符数组153

7.6 数组的应用154

7.6.1 矩阵乘法运算154

7.6.2 基于分治策略的二分查找函数155

7.6.3 逆波兰表达式的生成156

7.6.4 利用值栈对逆波兰表达式进行求值158

本章小结160

习题7160

第8章 指针162

8.1 指针的概念与使用162

8.1.1 指针的概念162

8.1.2 指针的声明163

8.1.3 指针的使用164

8.2 指针运算167

8.2.1 指针的算术运算167

8.2.2 指针的赋值运算和关系运算168

8.3 指针作为函数的参数169

8.3.1 形参指针对实参变量的影响169

8.3.2 指针作为函数形参的应用171

8.4 数组的指针表示171

8.4.1 一维数组的指针表示172

8.4.2 一维数组参数的指针表示174

8.4.3 用指向数组基本元素的指针表示多维数组175

8.4.4 高精度计算——超长整数加法运算176

8.5 指针数组177

8.5.1 指针数组的声明及使用177

8.5.2 多重指针182

8.6 带参数的main函数182

8.6.1 命令行参数182

8.6.2 带参main函数的声明及使用183

8.7 指针函数184

8.7.1 指针函数的声明与定义184

8.7.2 指针函数的使用185

8.8 函数的指针185

8.8.1 函数指针的声明185

8.8.2 函数指针的应用186

8.9 restrict和_Atomic类型修饰符188

8.9.1 restrict类型修饰符188

8.9.2 _Atomic类型修饰符189

本章小结190

习题8190

第9章 结构与联合192

9.1 结构概述192

9.2 结构类型声明和结构变量的声明及初始化192

9.2.1 结构类型的声明192

9.2.2 结构变量的声明194

9.2.3 结构变量的初始化196

9.3 结构类型的引用与嵌套结构196

9.3.1 结构变量的引用197

9.3.2 通过成员选择运算符“.”访问成员197

9.3.3 嵌套结构的声明198

9.3.4 嵌套结构中结构成员的成员访问199

9.4 结构类型的指针200

9.4.1 结构指针的声明和赋值200

9.4.2 通过“*”用结构指针访问结构变量的成员201

9.4.3 通过成员选择运算符“?>”访问结构变量的成员202

9.5 结构类型作为函数的参数和返回值204

9.5.1 结构成员或结构变量作为函数的参数204

9.5.2 结构成员或结构变量作为函数的返回值205

9.5.3 结构类型的指针作为函数的参数或函数的返回值207

9.6 结构数组208

9.6.1 结构数组的声明及初始化208

9.6.2 结构数组的使用209

9.6.3 用结构的指针引用结构数组元素的成员210

9.6.4 结构数组作为函数的参数211

9.7 联合213

9.7.1 联合类型的定义213

9.7.2 联合变量的声明、初始化及联合成员的引用213

9.8 字段结构215

9.8.1 字段结构类型的定义215

9.8.2 字段结构类型变量的声明及成员的引用216

9.8.3 字段结构与联合的应用217

本章小结218

习题9218

第10章 文件的输入与输出220

10.1 文件概述220

10.1.1 文件的概念220

10.1.2 文本文件220

10.1.3 二进制文件221

10.1.4 文件的读写方式221

10.1.5 C程序输入与输出的实现方法222

10.2 FILE指针和标准流式文件223

10.2.1 FILE结构类型223

10.2.2 FILE指针223

10.2.3 标准流式文件224

10.3 流式文件的顺序输入与输出224

10.3.1 文件的打开与关闭224

10.3.2 文件的重定向226

10.3.3 基于字符的文件读写227

10.3.4 基于字符串的文件读写229

10.3.5 文件的格式读写230

10.3.6 文件的直接输入输出233

10.3.7 命令执行函数235

10.3.8 C11标准中新增关于文件操作的语言成分235

10.4 流式文件的随机输入输出237

10.4.1 文件定位函数237

10.4.2 文件的随机读写238

10.5 其他文件操作函数241

10.5.1 文件访问函数241

10.5.2 文件操作函数242

10.5.3 出错检测处理函数243

10.6 输入输出的底层接口243

10.6.1 文件的顺序输入输出243

10.6.2 文件的随机输入输出245

本章小结248

习题10248

下篇 程序设计250

第11章 复杂类型的指针250

11.1 指向数组的指针250

11.1.1 指向数组的指针的声明与定义250

11.1.2 用数组名间访多维数组的元素251

11.1.3 用指向数组的指针表示多维数组253

11.1.4 多维数组参数的指针表示255

11.2 用typedef定义类型表达式257

11.2.1 类型表达式258

11.2.2 用typedef定义类型表达式258

11.3 复杂说明的解释259

11.4 复杂说明的应用260

本章小结263

习题11264

第12章 递归265

12.1 递归概述265

12.2 递归函数设计266

12.2.1 字符串的递归处理266

12.2.2 汉诺塔问题267

12.2.3 排列问题268

12.3 分治法与快速排序269

12.4 回溯法271

12.4.1 解空间与算法步骤271

12.4.2 0-1背包问题272

12.4.3 装载问题274

12.5 动态规划276

12.5.1 动态规划算法的基本步骤276

12.5.2 0-1背包问题的动态规划算法277

12.5.3 挖地雷问题279

12.6 经典问题的递归程序设计281

12.6.1 填字游戏281

12.6.2 深度优先搜索:骑士游历问题283

本章小结285

习题12285

第13章 排序287

13.1 直接插入排序287

13.2 Shell排序289

13.3 归并排序291

13.4 时间复杂度293

13.5 排序程序设计296

13.5.1 多关键字的排序296

13.5.2 贪心法298

13.5.3 海量数据的排序299

本章小结303

习题13304

第14章 线性数据结构305

14.1 动态存储分配305

14.1.1 静态数据结构和动态数据结构305

14.1.2 C语言的动态存储分配函数305

14.1.3 对象对齐(Alignment of Objects)307

14.2 动态数组设计308

14.3 链表310

14.3.1 自引用结构310

14.3.2 动态创建结点311

14.3.3 单向链表312

14.3.4 链表的相关操作314

14.3.5 双向链表320

14.3.6 十字交叉链表323

14.4 堆栈329

14.4.1 线性表与堆栈329

14.4.2 用链表实现堆栈329

14.5 队列与广度优先搜索332

14.5.1 队列的概念332

14.5.2 基于结构数组的循环队列332

14.5.3 用基于链表的队列实现广度优先搜索333

本章小结336

习题14336

第15章 非线性数据结构338

15.1 树与二叉树338

15.1.1 树与二叉树的概念338

15.1.2 二叉树的创建与操作339

15.1.3 二叉搜索树342

15.1.4 二叉树的应用345

15.2 查找表与哈希(散列)函数347

15.2.1 符号表的概念与哈希函数347

15.2.2 实现简单宏替换的查找表348

15.3 图351

15.3.1 图的概念351

15.3.2 图的存储结构与邻接表352

15.3.3 图的深度优先遍历与广度优先遍历354

15.3.4 图的路径搜索359

15.4 图的应用361

15.4.1 生成树与最小生成树361

15.4.2 基于Kruskal算法求解最小生成树362

15.4.3 基于Prim算法求解最小生成树366

15.4.4 最短路问题368

15.4.5 基于Dijkstr算法求解单源最短路径369

本章小结374

习题15374

第16章 参数数目可变的函数与库函数376

16.1 参数数目可变的函数设计376

16.1.1 参数数目可变函数的定义376

16.1.2 myprintf函数的实现377

16.2 Linux下用户自定义库的设计及使用380

16.2.1 allocation库的设计380

16.2.2 allocation库的接口定义381

16.2.3 allocation库函数的实现382

16.2.4 生成allocation库文件385

16.2.5 allocation库的使用385

本章小结386

习题16386

第17章 图形图像处理程序设计388

17.1 位图文件格式388

17.1.1 位图图像与调色板388

17.1.2 bmp文件格式389

17.2 位图文件的操作391

17.2.1 读写操作391

17.2.2 位图像素数据的访问392

17.2.3 图像处理393

17.3 OpenCV计算机视觉库397

17.3.1 VC6下安装与配置OpenCV397

17.3.2 CodeBlocks下安装与配置OpenCV398

17.3.3 OpenCV的基本数据结构398

17.3.4 常用函数398

17.4 OpenCV库函数的使用400

17.4.1 图像的读入显示400

17.4.2 鼠标和滑动条事件的处理400

17.4.3 设计电子钟403

本章小结407

习题17407

第18章 程序设计开发实例408

18.1 问题描述408

18.2 问题分析409

18.2.1 问题的数学模型409

18.2.2 最短路径算法411

18.3 设计思路412

18.3.1 用动态数组代替链表413

18.3.2 线路序号和线路编号413

18.3.3 线路名和站名的存储413

18.3.4 查找表设计414

18.3.5 邻接矩阵的生成414

18.3.6 队列的入队和出队操作414

18.3.7 最短路径的标记和输出415

18.4 数据结构设计415

18.4.1 地铁线路信息的存储结构415

18.4.2 地铁站信息的存储结构416

18.4.3 邻接矩阵的存储结构416

18.4.4 辅助存储单元416

18.5 算法设计416

18.5.1 程序处理主流程416

18.5.2 数据文件的输入处理417

18.5.3 快速最短路径算法SPFA418

18.6 程序实现418

18.7 软件测试424

本章小结427

习题18427

附录1 ASCII字符编码表428

附录2 键盘编码表429

附录3 C语言库函数432

参考文献436

热门推荐