《C程序设计经典教程 第4版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)戴特尔(Deitel,H.M.),(美)戴特尔(Deitel,P.J.)著;聂雪军,贺军译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302117802
  • 页数:470 页
图书介绍:本书译自经典计算机教程《C How to Program》的最新版,在美国,数十万学生通过本书学习C语言。作者Deitel&Deitel父子俩从事编程和教学工作几十年,积累了丰富的经验,通过本书讲述了C语言的基本概念及编程习惯,提高程序性能和可移植性。本书适用于只有很少甚至没有编程经验的大专院校学生,可作为计算机编程方面的入门级教材,同时也可作为初中级程序员的参考书。

1.1 简介 1

13.6 #error和#pragma预处理指令 43 1

目录 1

第1章 计算机、Internet和万维网入门 1

1.2 计算机是什么 2

1.3 计算机的组织 3

1.4 操作系统的演变 3

1.5 个人计算、分布式计算和客户/服务器计算 4

1.6 机器语言、汇编语言和高级语言 5

1.7 C语言的历史 6

1.8 C语言的标准库 7

1.9 C语言程序开发环境基础 7

1.10 Internet的历史 10

1.11 万维网的历史 11

1.12 C语言及本书的注意事项 11

总结 12

练习 14

自测练习答案 14

自测练习 14

2.1 简介 16

2.2 一个简单的C程序:显示一行文本 16

第2章 程序设计入门 16

2.3 另一个简单的C程序:两个整数相加 20

2.4 内存的概念 24

2.5 算术运算 25

2.6 判断:等式和关系运算符 28

总结 32

自测练习 33

自测练习答案 34

练习 35

3.2 算法 40

3.1 简介 40

第3章 结构化程序开发 40

3.3 伪码 41

3.4 控制结构 41

3.5 if选择语句 43

3.6 if/else选择语句 44

3.7 while循环语句 48

3.8 表述算法:案例研究1(计数器控制循环) 49

3.9 使用自项向下、逐步求精方法表述算法:案例研究2(标志控制循环) 51

3.10 使用自项向下、逐步求精方法表述算法:案例研究3(嵌套控制结构) 56

3.11 赋值运算符 60

3.12 增量运算符和减量运算符 61

总结 63

自测练习 64

自测练习答案 66

练习 68

第4章 程序控制 76

4.2 循环的本质 76

4.1 简介 76

4.3 计数器控制循环 77

4.4 for循环语句 78

4.5 for语句:注意事项和经验 81

4.6 使用for语句的示例 82

4.7 switch多重选择语句 85

4.8 do/while循环语句 90

4.9 break和continue语句 92

4.10 逻辑运算符 93

4.11 关于相等运算符(=)和赋值运算符(=) 96

4.12 结构化程序设计小结 97

总结 102

自测练习 103

自测练习答案 104

练习 105

5.1 简介 112

第5章 函数 112

5.2 C语言的程序模块 112

5.3 数学库函数 113

5.4 函数 114

5.5 函数的定义 115

5.6 函数原型 119

5.7 头文件 121

5.8 调用函数:值调用和引用调用 122

5.9 产生随机数 122

5.10 示例:运气游戏 127

5.11 存储类别 130

5.12 作用域的规则 132

5.13 递归 135

5.14 递归示例:斐波纳契数列 138

5.15 递归与迭代 142

总结 144

自测练习 146

自测练习答案 148

练习 151

第6章 数组 159

6.1 简介 159

6.2 数组 159

6.3 数组的定义 161

6.4 数组使用示例 161

6.5 数组传递给函数 173

6.6 数组排序 177

6.7 案例研究:用数组计算平均值、中值和最频值 180

6.8 数组查找 184

6.9 多维数组 189

总结 195

自测练习 197

自测练习答案 198

练习 199

递归练习 208

第7章 指针 210

7.1 简介 210

7.2 指针变量的定义和初始化 210

7.3 指针运算符 211

7.4 引用调用 213

7.5 使用指针的const限定符 217

7.6 使用引用调用的冒泡排序 223

7.7 sizeof运算符 226

7.8 指针表达式和指针算法 228

7.9 指针和数组的关系 230

7.10 指针数组 234

7.11 案例研究:洗牌和发牌模拟 235

7.12 函数指针 239

总结 244

自测练习 245

自测练习答案 246

练习 248

特殊主题:构建自己的计算机 251

第8章 字符和字符串 260

8.1 简介 260

8.2 字符串和字符的基本知识 260

8.3 字符处理库 262

8.4 字符串转换函数 266

8.5 标准输入/输出库函数 271

8.6 字符串处理库的字符串操作函数 274

8.7 字符处理库的比较函数 276

8.8 字符串处理库的查找函数 278

8.9 字符串处理库的内存函数 284

8.10 字符串处理库的其他函数 287

总结 288

自测练习 290

自测练习答案 291

练习 292

特殊主题:高级字符串处理练习 294

一个具有挑战性的字符串处理项目 297

9.2 流 298

9.3 用printf格式化输出 298

9.1 简介 298

第9章 格式化的输入/输出 298

9.4 输出整数 299

9.5 输出浮点数 300

9.6 输出字符串和字符 302

9.7 其他格式转换符 303

9.8 用字段宽度和精度输出 304

9.9 在printf格式控制字符串中使用标记 306

9.10 输出字面量和转义序列 309

9.11 用scanf格式化输入 309

总结 314

自测练习 316

自测练习答案 317

练习 318

10.2 结构定义 320

第10章 结构、联合、位操作和枚举 320

10.1 简介 320

10.3 初始化结构 322

10.4 访问结构成员 323

10.5 在函数中使用结构 324

10.6 typedef 325

10.7 示例:高性能洗牌和发牌模拟程序 325

10.8 联合 328

10.9 按位运算符 330

10.10 位域 337

10.11 枚举常量 340

总结 342

自测练习 343

自测练习答案 344

练习 345

11.2 数据层次结构 349

11.1 简介 349

第11章 文件处理 349

11.3 文件和流 351

11.4 创建顺序访问文件 351

11.5 从顺序访问文件中读取数据 356

11.6 随机访问文件 361

11.7 创建随机访问文件 361

11.8 随机向随机访问文件中写入数据 363

11.9 随机从随机访问文件中读取数据 366

11.10 案例研究:事务处理程序 367

总结 372

自测练习 373

自测练习答案 374

练习 375

12.2 自引用结构 380

12.1 简介 380

第12章 数据结构 380

12.3 动态内存分配 381

12.4 链表 382

12.5 堆栈 390

12.6 队列 396

12.7 树 402

总结 407

自测练习 408

自测练习答案 409

练习 410

特殊主题:构建自己的编译器 416

第13章 预处理器 427

13.1 简介 427

13.2 #include预处理指令 427

13.3 #define预处理指令:符号常量 427

13.4 #define预处理指令:宏 428

13.5 条件编译 430

13.7 #和##运算符 431

13.8 行号 431

13.9 预定义符号常量 432

13.10 断言 432

总结 432

自测练习 433

自测练习答案 434

练习 435

第14章 高级技术 436

14.1 简介 436

14.2 在UNIX和Windows系统上重定向输入/输出 436

14.3 变长参数列表 437

14.4 使用命令行参数 439

14.5 编译多源文件程序 440

14.6 使用exit和atexit终止程序 442

14.7 volatile类型限定符 443

14.8 整数和浮点常量的前缀 443

14.9 文件的其他问题 443

14.10 信号处理 445

14.11 动态内存分配:函数calloc和realloc 448

14.12 无条件跳转:goto 448

总结 450

自测练习 451

自测练习答案 452

练习 452

A.1 资源 453

A.2 编译器 453

附录A Internet与Web资源 453

附录B C99 Internet与Web资源 454

附录C 运算符优先级 456

附录D ASCll字符集 458

附录E 数制系统 459

E.1 简介 459

E.2 将二进制数缩写为八进制和十六进制数 461

E.3 将八进制和十六进制数转换成二进制数 463

E.4 从二进制、八进制、十六进制转换成十进制 463

E.5 从十进制转换为八进制、十六进制或二进制 464

E.6 负二进制数:补码记数法 465

自测练习 466

自测练习答案 467

练习 468

附录F 标准库资源 469