图书介绍

明明白白学通C语言 二维码版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

明明白白学通C语言 二维码版
  • 唐峻,高旭光,李淳,唐小莉编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302395744
  • 出版时间:2015
  • 标注页数:514页
  • 文件大小:77MB
  • 文件页数:533页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

明明白白学通C语言 二维码版PDF格式电子书版下载

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

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

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

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

图书目录

第1篇 程序的基石——数据2

第1章 C语言概述2

1.0 写在最前面的——如何使用本书2

1.1 语言3

1.1.1 “语言”的定义3

1.1.2 计算机语言发展历程4

1.1.3 C语言4

1.2 编程方法5

1.2.1 数据处理示例5

1.2.2 第一步:分析问题5

1.2.3 第二步:设想实现方法5

1.2.4 第三步:编写程序代码6

1.3 开发环境7

1.3.1 电脑上的开发环境7

1.3.2 手机上的开发环境10

1.4 编写第一个C语言的程序10

1.4.1 在电脑上编写第一个程序11

1.4.2 在手机上编写第一个程序15

1.5 EGE——简易图形库16

1.6 如何学习C语言17

1.6.1 技巧一:多看、多想、多练习17

1.6.2 技巧二:多沟通、多扩展视野18

1.7 小结19

第2章 数据的表示20

2.1 计算机中的数据表示20

2.1.1 二进制20

2.1.2 整数21

2.1.3 小数22

2.1.4 文本24

2.1.5 练习26

2.2 程序中的数据表示26

2.2.1 整数26

2.2.2 小数30

2.2.3 文本31

2.2.4 练习33

2.3 数据的分类——数据类型34

2.3.1 整数类型34

2.3.2 浮点类型35

2.3.3 字符类型37

2.4 小结37

2.5 习题37

第3章 指代数据39

3.1 为什么要指代数据39

3.1.1 变化的数据39

3.1.2 未知的数据40

3.2 指代的名称40

3.2.1 名称的命名规范40

3.2.2 不能使用的名称——关键字41

3.3 让名称更有效——见名知意41

3.3.1 不使用拼音命名41

3.3.2 英文命名方式42

3.4 指代数据需要考虑的问题43

3.4.1 范围43

3.4.2 精度43

3.5 程序中的指代44

3.5.1 从问题中找到需要指代的数据44

3.5.2 如何在程序中指代45

3.6 特殊的指代——不变的量46

3.6.1 为什么要指代不变的量46

3.6.2 常数47

3.6.3 常量47

3.7 小结48

3.8 习题48

第2篇 程序的本质——处理数据52

第4章 运算符和表达式52

4.1 关联变量和数据52

4.1.1 引入“=”52

4.1.2 变量的初始化53

4.1.3 表达式54

4.1.4 类型匹配54

4.1.5 练习57

4.2 运算符一览57

4.3 算术运算符58

4.3.1 概述58

4.3.2 除法“/”61

4.3.3 取余“%”62

4.3.4 练习64

4.4 复合运算符64

4.4.1 概述64

4.4.2 复合运算符出现的意义65

4.4.3 优先级65

4.4.4 练习66

4.5 自增自减运算符66

4.5.1 概述66

4.5.2 自增自减运算符出现的意义67

4.5.3 优先级68

4.5.4 练习69

4.6 小结69

4.7 习题69

第5章 语句70

5.1 输入输出I/O70

5.1.1 格式化输入scanf()70

5.1.2 scanf()的使用说明71

5.1.3 其他输入方式76

5.1.4 格式化输出printf()77

5.1.5 printf()的使用说明79

5.1.6 其他输出方式81

5.1.7 练习83

5.2 常见语句85

5.2.1 赋值语句85

5.2.2 空语句85

5.2.3 复合语句86

5.3 变量的作用域86

5.3.1 局部变量87

5.3.2 全局变量88

5.3.3 练习89

5.4 语句执行顺序89

5.4.1 代码手段89

5.4.2 工具手段91

5.4.3 流程图93

5.5 小结93

5.6 习题94

第6章 选择结构95

6.1 顺序执行遇到的麻烦95

6.1.1 顺序执行的程序95

6.1.2 无法顺序执行96

6.1.3 设想解决方案97

6.2 条件判断依据97

6.3 构建单一条件98

6.3.1 关系运算98

6.3.2 左右操作数类型不一致99

6.3.3 关系运算符优先级100

6.3.4 练习102

6.4 构建多个条件102

6.4.1 逻辑运算102

6.4.2 逻辑运算符优先级104

6.4.3 短路的逻辑运算符105

6.4.4 练习106

6.5 构建选择路径之if107

6.5.1 流程图107

6.5.2 if结构107

6.5.3 if-else结构110

6.5.4 if嵌套结构112

6.5.5 练习121

6.6 构建选择路径之switch122

6.6.1 switch结构122

6.6.2 比较if结构和switch结构127

6.6.3 练习129

6.7 小结130

6.8 习题130

第7章 循环结构132

7.1 重复执行的语句132

7.1.1 什么是重复执行132

7.1.2 执行2~3次133

7.1.3 执行有限次133

7.1.4 执行不确定次134

7.2 for循环135

7.2.1 概述135

7.2.2 逗号表达式136

7.2.3 循环执行相同的语句137

7.2.4 循环执行类似的语句139

7.2.5 练习142

7.3 其他循环144

7.3.1 while循环144

7.3.2 do-while循环146

7.3.3 不同循环机制间的比较147

7.3.4 练习150

7.4 跳出循环152

7.4.1 continue语句152

7.4.2 break语句154

7.4.3 goto语句157

7.4.4 练习160

7.5 循环中的循环——嵌套161

7.5.1 嵌套实例一161

7.5.2 嵌套实例二164

7.5.3 嵌套实例三166

7.5.4 练习167

7.6 小结167

7.7 习题168

第8章 函数172

8.1 循环无法解决的重复172

8.1.1 循环的经典应用和局限172

8.1.2 循环结构无法解决的重复问题173

8.1.3 练习174

8.2 完全重复——无参函数175

8.2.1 定义无参函数175

8.2.2 函数的返回值176

8.2.3 使用无参函数176

8.2.4 返回值的类型转换177

8.2.5 函数多return语句处理179

8.2.6 声明无参函数180

8.2.7 函数体中的变量181

8.2.8 练习183

8.3 不完全重复——有参函数186

8.3.1 定义有参函数186

8.3.2 声明有参函数188

8.3.3 练习190

8.4 函数体中有函数192

8.4.1 调用其他函数——嵌套函数192

8.4.2 调用函数本身——递归函数195

8.4.3 练习203

8.5 库函数205

8.5.1 如何使用库函数205

8.5.2 文件包含的扩展应用206

8.5.3 两种包含方式的不同207

8.5.4 分类209

8.5.5 库函数应用示例——猜大小210

8.5.6 练习214

8.6 小结215

8.7 习题215

第3篇 处理大量数据222

第9章 同类型数据的集合——数组222

9.1 大量数据的处理222

9.2 基本数组223

9.2.1 定义数组223

9.2.2 使用数组225

9.2.3 初始化数组225

9.2.4 为数组赋值227

9.2.5 数组的简单应用228

9.3 数组排序232

9.3.1 冒泡排序232

9.3.2 选择排序235

9.3.3 练习238

9.4 二维数组240

9.4.1 二维数组的本质——嵌套的数组240

9.4.2 定义二维数组241

9.4.3 使用二维数组242

9.4.4 初始化二维数组242

9.4.5 特殊的初始化方式243

9.4.6 为二维数组赋值244

9.4.7 二维数组的应用244

9.4.8 练习246

9.5 多维数组247

9.6 小结249

9.7 习题249

第10章 指针252

10.1 指针及其使用252

10.1.1 指针是什么252

10.1.2 定义指针变量252

10.1.3 为指针变量赋值254

10.1.4 通过指针访问数据255

10.1.5 使用scanf()给指针赋值256

10.1.6 练习257

10.2 处理所指向的数据258

10.2.1 四则运算258

10.2.2 自增自减运算258

10.2.3 指向常量的指针259

10.2.4 定义指针为常量260

10.3 指向一维数组的指针262

10.3.1 为指针赋数组数据的地址262

10.3.2 使用数组名为指针赋值263

10.3.3 指向数组的指针的加减运算264

10.3.4 指向同一数组的指针264

10.3.5 指向二维数组的指针266

10.4 保存指针的数组269

10.4.1 定义指针数组269

10.4.2 二维数组的特性270

10.4.3 练习271

10.5 指针在函数中的应用273

10.5.1 指针作为函数参数274

10.5.2 指针作为函数返回值276

10.5.3 指向函数的指针278

10.5.4 练习281

10.6 二级指针284

10.6.1 概述285

10.6.2 在二维数组中的应用286

10.6.3 练习287

10.7 小结288

10.8 习题288

第11章 结构292

11.1 结构概述292

11.1.1 为什么要有结构292

11.1.2 结构的构造及其变量的赋值294

11.1.3 使用typedef简化结构类型名297

11.1.4 练习298

11.2 结构的使用300

11.2.1 结构与指针300

11.2.2 结构与数组303

11.2.3 结构与函数305

11.2.4 练习308

11.3 结构的应用——链表311

11.3.1 结构的成员是指向本结构的指针312

11.3.2 数组与链表314

11.3.3 链表概述316

11.3.4 创建动态链表317

11.3.5 练习324

11.4 链表操作327

11.4.1 插入结点到链表327

11.4.2 删除链表中的结点336

11.4.3 链表操作综合应用341

11.4.4 练习349

11.5 小结354

11.6 习题354

第12章 联合与枚举356

12.1 结构遇到的困扰356

12.1.1 引起困惑的小示例356

12.1.2 困惑什么357

12.1.3 设想的解决方案358

12.2 联合概述358

12.2.1 构造联合类型358

12.2.2 定义联合类型的变量359

12.2.3 引用联合类型变量成员360

12.2.4 联合类型变量的赋值360

12.2.5 练习361

12.3 联合类型变量的特殊性361

12.3.1 通过示例来发现362

12.3.2 数据去哪儿了362

12.3.3 看似不相干的成员变量362

12.3.4 总结:联合类型变量的特殊性363

12.3.5 解决结构遇到的困惑364

12.3.6 练习368

12.4 联合类型变量的简单使用369

12.4.1 使用于函数的联合类型变量369

12.4.2 指向联合类型变量的指针371

12.5 枚举372

12.5.1 枚举概述373

12.5.2 枚举类型的使用375

12.5.3 枚举类型应用378

12.5.4 练习382

12.6 小结382

12.7 习题383

第13章 字符串387

13.1 概述387

13.1.1 了解字符串387

13.1.2 字符串数据的存储387

13.1.3 字符串的赋值389

13.1.4 练习390

13.2 字符串的输出和输入391

13.2.1 字符串的输出391

13.2.2 字符串的输入392

13.2.3 练习394

13.3 指向字符串的指针396

13.3.1 指针操作396

13.3.2 二维字符数组与字符指针数组398

13.3.3 main()的参数399

13.3.4 练习404

13.4 常见的字符串操作405

13.4.1 “赋值”405

13.4.2 “加法”406

13.4.3 修改407

13.4.4 “比较”408

13.4.5 其他操作410

13.4.6 练习415

13.5 小结420

13.6 习题420

第14章 文件422

14.1 两个亟待解决的问题422

14.1.1 不得不再次运行程序422

14.1.2 不得不重新输入数据423

14.2 文件概述424

14.2.1 文件424

14.2.2 存储为文件的数据形式425

14.2.3 程序读写文件数据的过程425

14.3 文件的打开和关闭427

14.3.1 操作文件前的准备427

14.3.2 打开文件428

14.3.3 关闭文件432

14.3.4 练习433

14.4 文件读写操作435

14.4.1 必备基础知识435

14.4.2 写入数据436

14.4.3 读取数据442

14.4.4 解决问题一:避免再次运行程序449

14.4.5 练习450

14.5 辅助功能452

14.5.1 位置指针重定位452

14.5.2 检测文件操作状态457

14.5.3 解决问题二:避免重新输入数据460

14.5.4 练习465

14.6 二进制文件的位操作468

14.6.1 位操作需求468

14.6.2 实现位操作的方法——位运算470

14.6.3 位运算符的使用方法471

14.6.4 位操作实现478

14.6.5 练习483

14.7 小结485

14.8 习题485

第15章 预编译490

15.1 概述490

15.1.1 预编译指令490

15.1.2 练习490

15.2 宏491

15.2.1 为什么需要宏491

15.2.2 不带参数的宏492

15.2.3 带参数的宏496

15.2.4 取消宏499

15.2.5 标准宏对象499

15.2.6 练习500

15.3 条件编译502

15.3.1 为什么需要条件编译502

15.3.2 #if指令503

15.3.3 #ifdef指令504

15.3.4 #ifndef指令505

15.3.5 练习505

15.4 文件包含506

15.4.1 概述506

15.4.2 定义自己的库函数507

15.4.3 总结512

15.5 小结512

15.6 习题512

热门推荐