图书介绍

C语言设计伴侣 帮你更好地理解谭浩强老师的那本书以及更多!【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

C语言设计伴侣 帮你更好地理解谭浩强老师的那本书以及更多!
  • 陈良乔著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115290954
  • 出版时间:2012
  • 标注页数:315页
  • 文件大小:87MB
  • 文件页数:325页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

C语言设计伴侣 帮你更好地理解谭浩强老师的那本书以及更多!PDF格式电子书版下载

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

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

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

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

图书目录

第1章 C语言背后的故事1

1.1计算机程序是什么1

1.2计算机语言又是什么1

1.2.A如何用计算机语言来表达一个程序2

1.2.B从汇编语言到高级语言——风格各异的计算机语言4

1.3 C语言真正的特点及其演变6

1.3A C语言与C++不得不说的那点事8

1.3B 我们为什么现在还要学习C语言9

1.4第一次的亲密接触——Hello,World11

1.4.A 最简单的C语言程序背后的故事——它的汇编代码是如何被执行的12

1.4.1比最简单再复杂一点点15

1.4.2程序的三要素:数据输入、数据处理与数据输出18

1.4.B 编码规范——如何写出简洁优美的代码19

1.5C程序开发的两个循环和四个步骤21

1.5A工欲善其事,必先利其器——使用Eclipse编写C程序22

1.5B使用GCC编译C语言程序24

1.6程序设计的瀑布模型25

第2章 解决问题的思路——算法28

2.1先有算法,后有程序28

2.1A算法的时间复杂度和空间复杂度31

2.2如何将抽象的算法实现为具体的代码36

2.3算法的特征——简单,没啥可说的38

2.4一群聪明的程序员是怎么把事情搞砸的38

2.5掌握结构化的程序设计39

2.5A结构化程序设计的基本思想、步骤与流程39

2.5B“自顶向下,逐步求精”:把“问题”变成“程序”的魔法40

第3章 顺序结构的程序设计44

3.1顺序结构程序举例——简单,没啥可说的45

3.1A如何理解程序的执行顺序45

3.2如何描述数据,如何对数据进行运算46

3.2.1常量、变量、常变量及符号46

3.2.2数据类型及举例48

3.2.3整型数据及如何选择合适的类型51

3.2.4字符型数据及举例52

3.2.5浮点型数据及比较大小时的特别注意53

3.2.6如何强制指定常量的数据类型55

3.2.7运算符和表达式及使用经验和建议55

3.3基本程序单位——语句58

3.3.1 C语言的语句分类58

3.3.2赋值语句及其使用注意60

3.4数据从哪里来,又到哪里去?61

3.4.1输入输出举例——简单,没啥可说的61

3.4.2输入输出的概念——简单,没啥可说的61

3.4.3使用printf函数进行格式化数据输出61

3.4.4使用scanf函数进行格式化数据输入62

3.4.5单字符的输入输出及敏感信息输入函数64

3.4.5A字符串数据的简单输入输出66

第4章 选择结构的程序设计67

4.1选择结构和条件判断——交通灯例子67

4.2—4.3使用if语句实现选择结构69

4.4逻辑运算符及表达式69

4.4.1逻辑运算符及优先级69

4.4.1 A合理的出错处理——让你的程序更受欢迎71

4.4.2逻辑表达式及其使用注意71

4.4.3逻辑型变量——时控灯例子72

4.5条件运算符及表达式73

4.6条件结构的嵌套——拜金女择偶例子73

4.7使用switch语句实现多分支选择结构——看天穿衣例子76

4.8综合运用——猜数字游戏78

第5章 循环结构的程序设计82

5.1为什么需要循环控制——简单,没啥可说的82

5.1A循环结构的四个要素82

5.2如果条件满足,就一直做某事的while84

5.3一直做某事,直到条件不满足的do...while86

5.4最完备最复杂的循环语句for87

5.5更复杂的数据处理——嵌套的循环89

5.6如何选择合适的循环结构89

5.7改变循环的状态90

5.7.1—5.7.2用break和continue语句提前终止循环90

5.7.3 break和continue的不同90

5.8综合运用——检测磁盘剩余容量与统计字符串中的单词数91

第6章 处理批量数据的利器——数组95

6.1如何定义和引用一维数组95

6.1.1如何定义一维数组——保存学生成绩的例子95

6.1.2如何引用一维数组96

6.1.3使用memset()函数进行一维数组的初始化98

6.1.4用qsort()函数对数组进行排序99

6.2如何定义和引用二维数组101

6.2.1如何定义二维数组及二维数组的内存排列方式101

6.2.2如何引用二维数组103

6.2.3使用memset()函数进行二维数组的初始化103

6.2.4对二维数组中的数据进行排序103

6.2.4.A分析问题,定义二维数组描述批量数据104

6.2.4.B向二维数组输入数据104

6.2.4.C用qsort()函数对二维数组进行排序105

6.2.4.D输出二维数组结果107

6.2.A扩展:多维数组的使用108

6.3字符数组的本质109

6.3.1—6.3.3如何定义字符数组109

6.3.4字符串和字符数组的区别109

6.3.5字符数组和字符串的输入输出110

6.3.6使用字符串处理函数完成字符串处理任务111

6.3.6.A用gets()和puts()输入输出字符串111

6.3.6.B用strcat()连接两个字符串111

6.3.6.C用strchr()和strstr()查找字符串113

6.3.6.D用strcmp()比较字符串114

6.3.7综合运用——自己写一个strsub()函数截取字符串115

6.A如何运用数组处理批量数据——一个计算平均血糖的例子118

6.A.A什么时候应该使用数组118

6.A.B如何将数据输入到数组118

6.A.C如何处理数组中的数据119

6.A.D数组使用的三部曲:定义数组、输入数据、处理数据120

第7章 模块化程序设计的根基——函数122

7.1为什么要用函数——便于代码的管理和复用122

7.2如何声明函数123

7.2.1为什么要声明函数124

7.2.2声明函数的方法124

7.2.2A声明函数的三要素:返回值、函数名、参数列表125

7.3如何调用函数129

7.3.1调用的形式及调用语句130

7.3.2函数调用时的数据传递——两个方向的传递130

7.3.2A如何向函数传递体积很大的数据132

7.3.3调用的过程——简单,没啥可说的134

7.3.4关于函数的返回值134

7.3.4A如何从函数返回多个结果数据135

7.4编译器对函数声明的要求138

7.4A创建一个我们自己的头文件138

7.A站在巨人的肩膀上——如何使用已有的函数库141

7.B我也能成为巨人——如何创建一个函数库147

7.5嵌套的函数调用152

7.6函数的递归调用——统计字符串出现的次数153

7.C让函数飞——在C语言中嵌入汇编代码156

7.7将数组作为函数参数传递159

7.8变量的生存期159

7.8.1局部变量的定义及作用域160

7.8.1A不要从函数返回指向局部变量的指针163

7.8.2全局变量及跨文件的全局变量163

7.9变量的存储方式及其区别165

7.10变量的声明和定义的区别——是否建立存储空间166

7.11控制函数的访问范围167

7.D函数使用的四项基本原则169

第8章 指针?没啥好怕的!172

8.1什么是指针172

8.2什么是指针变量173

8.2.1使用指针变量的例子——指针的四大用途173

8.2.1A 什么是NULL指针178

8.2.2如何定义指针变量180

8.2.2A内存的动态申请与释放182

8.2.3如何引用指针变量184

8.2.3A指针变量存放在哪里呢?185

8.2.4使用指针变量作为函数参数的场合186

8.3更灵活的数组访问方式——使用指针访问数组187

8.3.1—8.3.3A使用指针访问数组的要点187

8.3.4如何向函数传递一个数组190

8.3.5通过指针引用多维数组的要点——统计学生成绩的例子190

8.4利用指针引用字符串196

8.5定义指向函数的指针197

8.5.1了解函数指针197

8.5.1A函数指针背后的故事——剖析它的汇编代码198

8.5.2利用函数指针变量调用函数201

8.5.3函数指针变量的定义和使用201

8.5.4用函数指针作函数参数——在函数之间传递函数,即传递操作204

8.6使用指针作为函数的返回值208

8.7指针数组及指向指针的指针210

8.7.1什么是指针数组——一个电磁炉火力控制程序210

8.7.2指向指针的指针212

8.7.3向main()函数传递数据215

8.8动态内存分配及动态调整216

8.9指针的“醒世恒言”217

8.A如何避免错误地使用指针218

第9章 建立自己的数据类型223

9.1结构体变量登场224

9.1.1—9.1.3关于这三小节的特别说明224

9.1.A定义结构体应该注意的问题224

9.1.B使用结构体以及它的数据成员225

9.2使用结构体数组——利用qsort()函数对数组排序228

9.2.1—9.2.2关于这两小节的特别说明230

9.3利用结构体指针减少传递的数据量231

9.3.1—9.3.3关于这三小节的特别说明232

9.4笔试必考,面试必问的数据结构——链表233

9.4.1链表是神马233

9.4.2如何建立静态链表234

9.4.3如何建立动态链表234

9.4.4如何输出链表236

9.4A链表数据的处理:对链表进行排序和查找237

9.4B链表数据的处理:查找结点241

9.4C释放一个链表245

9.5共用体类型的定义和使用245

9.5.1—9.5.3关于这三小节的特别说明247

9.6什么是枚举类型247

9.7数据类型也可以有个更好记更好用的绰号——用typedef声明新的数据类型249

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

10.1在C中文件的概念是怎样的250

10.1.1—10.1.5关于这五小节的特别说明251

10.1A C语言所处理的文件类型251

10.2如何打开与关闭文件252

10.2.1使用fopen函数打开数据文件及注意事项252

10.2.1A用freopen()重定向标准输入输出流253

10.2.2使用fclose函数关闭数据文件及注意事项255

10.3对数据文件进行顺序读写255

10.3.1—10.3.2怎样向文件读写字符和字符串255

10.3.3使用函数来进行数据文件的格式化读写258

10.3.4二进制方式的文件读写——读写一张图片258

10.3.A文件读写的“三大纪律”263

10.4在任意位置读写数据文件264

10.4.1—10.4.2关于这两小节的特别说明268

10.5—10.5A扩展:访问文件的各种属性268

10.5A.A如何判断文件是否存在268

10.5A.B如何获得文件的日期和大小270

第A章 程序是如何炼成的272

A.A问题的提出——统计网页中的词频272

A.B自顶向下:分析问题,划分模块272

A.B.A分析数据输入模块273

A.B.B分析数据处理模块273

A.B.C分析数据输出模块275

A.C逐步求精:用函数实现各个模块275

A.C.A实现数据输入模块275

A.C.B实现数据处理模块277

A.C.C组装实现数据预处理模块280

A.C.D实现计算词频模块283

A.C.E实现文件排序模块285

A.C.F实现数据输出模块286

A.C.G打扫战场:释放动态申请的内存287

A.D百炼成钢:如何调试我们的程序288

A.E程序就是这样炼成的291

第B章 接下来我该292

B.A接下来要读的书292

B.A.A提升对C语言的理解和掌握292

B.A.B做一个有思想的程序员294

B.B接下来要做的事297

B.B.A编码、编码、再编码297

B.B.B软件开发模型:一个项目是如何运作的297

B.B.C实际参与一个项目304

B.C接下来该走的路304

B.C.A开发方向的选择:底层开发、应用开发还是网络开发?305

B.C.B开发语言的选择:C语言、C++还是C#?308

热门推荐