图书介绍

C语言详解PDF|Epub|txt|kindle电子书版本网盘下载

C语言详解
  • JeriR.Hanly,ElliotB.Koffman编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115220165
  • 出版时间:2010
  • 标注页数:572页
  • 文件大小:174MB
  • 文件页数:588页
  • 主题词:C语言-程序设计-教材

PDF下载


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

下载说明

C语言详解PDF格式电子书版下载

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

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

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

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

图书目录

第0章 计算机科学的职业之路1

引言1

0.1 为什么选择计算机科学领域1

0.1.1 将计算机科学作为专业的理由1

0.1.2 计算机科学家的特质2

0.2 大学经历:可选的计算机学科和专业3

0.2.1 计算机科学3

0.2.2 计算机工程4

0.2.3 信息系统4

0.2.4 信息技术4

0.2.5 软件工程5

0.2.6 交叉学科5

0.3 就业机会6

0.3.1 美国和全世界的需求6

0.3.2 非代表性群体的需求6

0.3.3 新职业持续出现7

第1章 计算机与程序设计概述8

1.1 电子计算机的过去和现在8

1.2 计算机硬件10

1.2.1 存储器10

1.2.2 中央处理器13

1.2.3 输入/输出设备13

1.2.4 计算机网络14

1.3 计算机软件16

1.3.1 操作系统16

1.3.2 应用软件17

1.3.3 计算机语言17

1.3.4 执行程序20

1.4 软件开发方法21

1.4.1 软件开发方法21

1.4.2 注意:失败是编程过程的一部分23

1.5 应用软件开发方法23

实例研究 英里到公里的转换23

复习25

快速测试25

快速测试答案26

复习题26

第2章 C概述27

2.1 C语言要素27

2.1.1 预处理指令27

2.1.2 预处理指令的语法展示28

2.1.3 main函数29

2.1.4 保留字29

2.1.5 标准标识符30

2.1.6 用户定义的标识符30

2.1.7 大写字母和小写字母31

2.1.8 程序风格之选择标识符名称31

2.2 变量声明和数据类型31

2.2.1 变量声明31

2.2.2 数据类型32

2.3 可执行语句33

2.3.1 内存中的程序34

2.3.2 赋值语句34

2.3.3 输入/输出操作和函数35

2.3.4 printf函数36

2.3.5 scanf函数38

2.3.6 return语句39

2.4 C程序的一般形式40

2.4.1 程序风格之程序中的空格40

2.4.2 程序的注释40

2.4.3 程序风格之使用注释41

2.5 算术表达式42

2.5.1 运算符/和%42

2.5.2 表达式的数据类型43

2.5.3 混合类型赋值语句44

2.5.4 强制类型转换44

2.5.5 具有多个运算符的表达式45

2.5.6 用C语言编写数学公式47

实例研究 超市硬币处理机48

2.6 在程序输出中格式化数值51

2.6.1 格式化int型值51

2.6.2 格式化double型值52

2.6.3 程序风格之消除前导空白52

2.7 交互模式、批处理模式和数据文件53

2.7.1 输入重定向53

2.7.2 程序风格之回显与提示符54

2.7.3 输出重定向54

2.7.4 程序控制的输入和输出文件54

2.8 常见编程错误56

2.8.1 语法错误56

2.8.2 运行时错误58

2.8.3 未检测到的错误58

2.8.4 逻辑错误60

复习60

快速测试61

快速测试答案62

复习题62

程序设计项目63

第3章 函数的自顶向下设计66

3.1 利用已有信息编程66

实例研究 求圆的面积和周长67

实例研究 计算一批垫圈的重量69

3.2 库函数72

3.2.1 预定义函数和代码复用72

3.2.2 使用灰色区分新结构73

3.2.3 C库函数73

3.2.4 本节目标75

3.3 自顶向下设计和结构图76

实例研究 画简单的图形76

3.4 无参函数77

3.4.1 函数原型78

3.4.2 函数定义78

3.4.3 程序中函数的位置80

3.4.4 程序风格之在含有函数的程序中使用注释81

3.4.5 函数子程序和主函数的执行顺序81

3.4.6 使用函数子程序的优点82

3.4.7 显示用户指令82

3.5 带输入参数的函数83

3.5.1 带输入参数的void函数84

3.5.2 带输入参数和单一结果的函数85

3.5.3 程序风格之函数接口注释87

3.5.4 带多个参数的函数87

3.5.5 参数表一致性88

3.5.6 函数数据区89

3.5.7 使用驱动测试函数89

3.6 常见编程错误90

复习90

快速测试91

快速测试答案92

复习题92

程序设计项目92

第4章 选择结构:if语句和switch语句95

4.1 控制结构95

4.2 条件95

4.2.1 关系运算符和判等运算符96

4.2.2 逻辑运算符96

4.2.3 运算符优先级97

4.2.4 短路求值99

4.2.5 用C语言表示条件99

4.2.6 比较字符100

4.2.7 逻辑赋值100

4.2.8 条件取反101

4.3 if语句103

4.3.1 有两个选项的if语句103

4.3.2 只有一个选项的if语句103

4.3.3 比较一个选项的if语句和两个选项的if语句104

4.3.4 程序风格之if语句的格式105

4.4 具有复合语句的if语句105

4.4.1 程序风格之编写具有复合语句的if语句106

4.4.2 跟踪if语句106

4.5 算法中的决策步骤108

实例研究 水费问题108

4.5.1 程序风格之在函数中使用一致的名称113

4.5.2 程序风格之内聚函数113

4.5.3 程序风格之使用常量宏来增强可读性和易维护性114

4.6 解决更多问题114

4.6.1 结构图中的数据流信息114

4.6.2 使用函数子程序修改程序115

实例研究 具有节约需求的水费问题115

4.7 嵌套if语句和多选项决策116

4.7.1 比较嵌套if和if序列117

4.7.2 嵌套if的多选项决策形式117

4.7.3 多选项决策中条件的顺序118

4.7.4 程序风格之确认变量的值120

4.7.5 具有多个变量的嵌套if语句120

4.8 switch语句123

4.9 常见编程错误126

复习127

快速测试128

快速测试答案130

复习题130

程序设计项目131

第5章 重复和循环语句134

5.1 程序中的重复134

5.2 计数循环和while语句135

5.3 在循环中计算和或者乘积137

5.3.1 程序风格之编写通用循环139

5.3.2 计算一列数的乘积139

5.3.3 复合赋值运算符140

5.4 for语句141

5.4.1 程序风格之格式化for语句141

5.4.2 自增和自减运算符142

5.4.3 步长非1的自增和自减143

5.4.4 显示值构成的表格145

5.5 条件循环146

5.6 循环设计150

5.6.1 标记控制循环150

5.6.2 使用for语句实现标记循环152

5.6.3 文件结束控制循环152

5.6.4 错误数据上的无限循环154

5.7 嵌套循环154

5.8 do-while语句和标志控制循环157

5.9 问题求解示例160

实例研究 太阳能加热房的采暖面积160

5.10 如何调试和测试程序164

5.10.1 使用调试器程序165

5.10.2 不使用调试器进行调试165

5.10.3 循环次数差1的错误165

5.10.4 测试166

5.11 常见编程错误166

复习168

快速测试170

快速测试答案170

复习题171

程序设计项目172

第6章 模块化编程176

6.1 带简单输出参数的函数176

6.2 带输入输出参数函数的多次调用181

6.3 名字的作用域185

6.4 输出形参作为实参变量186

6.5 由多个函数构成的程序189

实例研究 简分数的算术运算189

6.6 程序系统的调试与测试195

6.7 常见编程错误197

复习197

快速测试198

快速测试答案198

复习题199

程序设计项目200

第7章 简单数据类型205

7.1 数值类型的表示与转换205

7.1.1 数值类型的差异205

7.1.2 数值的不精确性207

7.1.3 数据类型的自动转换207

7.1.4 数据类型的显式转换208

7.2 字符类型的表示与转换209

7.3 枚举类型210

7.4 迭代近似215

实例研究 求根的二分方法216

7.5 常见编程错误221

复习221

快速测试222

快速测试答案223

复习题223

程序设计项目224

第8章 数组229

8.1 声明和引用数组229

8.2 数组下标232

8.3 使用循环顺序存取233

8.3.1 使用数组进行统计计算234

8.3.2 程序风格之使用循环控制变量作为数组下标236

8.4 将数组元素作为函数参数使用236

8.5 数组参数238

8.5.1 形参数组238

8.5.2 和形参数组对应的实参239

8.5.3 数组作为输入参数240

8.5.4 返回数组结果241

8.5.5 部分填充数组243

8.5.6 栈244

8.6 数组搜索和排序247

8.6.1 数组搜索247

8.6.2 数组排序248

8.7 多维数组250

8.7.1 多维数组的初始化252

8.7.2 多维数组252

8.8 数组处理示例253

实例研究 医院收入汇总253

8.9 常见编程错误259

复习260

快速测试261

快速测试答案262

复习题262

程序设计项目263

第9章 字符串268

9.1 字符串基础268

9.1.1 声明并初始化字符串变量268

9.1.2 字符串数组269

9.1.3 使用printf和scanf进行输入/输出269

9.2 字符串库函数:赋值和子串272

9.2.1 字符串赋值272

9.2.2 子串274

9.3 较长的字符串:拼接和整行输入278

9.3.1 拼接278

9.3.2 字符和字符串的区别279

9.3.3 扫描一个完整的行279

9.4 字符串比较281

9.5 指针数组283

9.6 字符操作287

9.6.1 字符输入/输出287

9.6.2 字符分析和转换288

9.7 字符串到数值和数值到字符串的转换290

9.8 字符串处理示例294

实例研究 文本编辑器295

9.9 常见编程错误301

复习302

快速测试304

快速测试答案304

复习题305

程序设计项目306

第10章 递归309

10.1 递归的本质309

10.2 跟踪递归函数312

10.2.1 带返回值的递归函数的跟踪312

10.2.2 void类型递归函数的跟踪313

10.2.3 参数与局部变量栈315

10.2.4 C中参数栈的实现316

10.2.5 何时、如何跟踪递归函数317

10.3 递归数学函数318

10.4 带数组和字符串参数的递归函数322

实例研究 找出字符串中的大写字母322

实例研究 递归选择排序324

10.5 用递归解决问题326

实例研究 集合运算326

10.6 递归的经典实例研究:汉诺塔331

10.7 常见编程错误335

复习336

快速测试336

快速测试答案337

复习题337

程序设计项目338

第11章 结构与联合类型341

11.1 用户自定义结构类型341

11.1.1 结构类型定义341

11.1.2 操作结构化数据对象的单个成员343

11.1.3 运算符优先级回顾343

11.1.4 操作结构整体344

11.1.5 程序风格之类型命名约定344

11.2 结构类型数据作为输入/输出参数345

11.3 返回值为结构类型的函数349

11.4 用结构类型解决问题351

实例研究 用于复数的用户自定义类型351

11.5 并行数组和结构的数组356

11.5.1 并行数组356

11.5.2 结构数组的声明356

实例研究 通用计量转换357

11.6 联合类型(可选)363

11.7 常见编程错误367

复习368

快速测试369

快速测试答案369

复习题370

程序设计项目371

第12章 文本文件和二进制文件的处理375

12.1 输入/输出文件:回顾与进一步研究375

12.1.1 键盘和屏幕作为文本流375

12.1.2 换行与EOF376

12.1.3 转义序列376

12.1.4 用printf实现格式化输出376

12.1.5 文件指针变量377

12.1.6 获取文件指针参数的函数378

12.1.7 关闭文件379

12.2 二进制文件381

12.3 数据库查询385

实例研究 数据库查询386

12.4 常见编程错误393

复习393

快速测试394

快速测试答案395

复习题395

程序设计项目395

第13章 大型程序设计398

13.1 使用抽象处理复杂问题398

13.1.1 过程抽象398

13.1.2 数据抽象399

13.1.3 信息隐藏399

13.1.4 可复用代码399

13.2 个人库:头文件400

13.2.1 头文件401

13.2.2 头文件设计的忠告402

13.3 个人库:实现文件403

13.4 存储类型405

13.4.1 全局变量406

13.4.2 static和register存储类型407

13.5 库中包含函数的修改408

13.6 条件编译410

13.7 函数main的参数413

13.8 定义带参数的宏415

13.8.1 在宏体中使用括号416

13.8.2 在两行以上扩展宏417

13.9 常见编程错误418

复习418

快速测试420

快速测试答案420

复习题421

程序设计项目421

第14章 动态数据结构424

14.1 指针424

14.1.1 作为函数参数的指针425

14.1.2 表示数组和字符串的指针425

14.1.3 指向结构的指针426

14.1.4 指针使用的小结426

14.2 动态内存分配427

14.2.1 访问动态分配的结构成员428

14.2.2 使用calloc动态分配数组428

14.2.3 返回堆单元429

14.3 链表430

14.3.1 带指针成员的结构431

14.3.2 连接结点431

14.3.3 链表的优点433

14.4 链表运算符434

14.4.1 遍历链表434

14.4.2 获得输入表436

14.4.3 在表中查询目标437

14.4.4 避免跟踪NULL指针438

14.5 用链表表示栈438

14.6 用链表表示队列441

14.7 有序表445

实例研究 维护一个整数有序表445

14.8 二叉树453

14.8.1 二叉查找树454

14.8.2 搜索二叉查找树454

14.8.3 建立二叉查找树455

14.8.4 显示二叉查找树458

14.9 常见编程错误460

复习461

快速测试462

快速测试答案462

复习题463

程序设计项目464

第15章 使用进程和线程的多进程466

15.1 多任务466

15.1.1 线性程序设计和并行程序设计466

15.1.2 分时多任务467

15.1.3 抢占式多任务467

15.1.4 时间片和并行468

15.1.5 并发程序设计469

15.2 进程469

15.2.1 进程创建469

15.2.2 进程等待471

15.2.3 从进程中执行另一个程序472

15.3 进程间通信和管道473

15.3.1 管道473

15.3.2 管道的用法474

15.3.3 使用标准输入的进程间通信475

15.3.4 父进程和子进程间通信举例476

15.4. 线程478

15.4.1 线程的创建479

15.4.2 线程的同步480

15.4.3 互斥锁482

15.4.4 死锁483

15.5 线程举例486

实例研究 生产者/消费者模型486

15.6 常见编程错误495

复习495

C语言结构的复习496

快速测试497

快速测试答案497

复习题497

程序设计项目498

第16章 关于C++499

16.1 C++控制结构、输入/输出以及函数499

16.1.1 使用名字空间std499

16.1.2 C++标准输入/输出502

16.1.3 引用参数502

16.1.4 输出格式化504

16.2 C++对面向对象编程的支持505

16.2.1 头文件complex.h506

16.2.2 类名和构造函数507

16.2.3 成员函数和运算符507

16.2.4 实现文件complex.cpp508

16.2.5 数据成员511

16.2.6 输入/输出运算符重载511

复习513

快速测试515

快速测试答案515

复习题515

程序设计项目516

附录A 关于指针的更多信息517

附录B ANSI C标准库521

附录C C运算符533

附录D 字符集537

附录E ANSI C保留字539

附录F ANSI C结构参照表540

词汇表542

索引548

热门推荐