当前位置:首页 > 工业技术
C语言教程  原书第4版
C语言教程  原书第4版

C语言教程 原书第4版PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)凯利等著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2011
  • ISBN:9787111346852
  • 页数:454 页
图书介绍:本书是一本优秀的C程序设计语言教材,完整描述了ANSI C语言及其语法特性,并对C语言的高级特性和应用作了深入阐述,介绍了从C到C++和Java过渡的相关知识。本书的一个鲜明特色就是结合大量示例描述C语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。本书系统、完整,可作为C语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。
《C语言教程 原书第4版》目录
标签:语言 教程

第0章 从零开始 1

0.1为什么要用C 1

0.2 ANSI C标准 2

0.3从C到C++ 3

0.4从C和C++到Java 3

第1章 C语言概述 4

1.1编程和预备知识 4

1.2程序输出 4

1.3变量、表达式和赋值 7

1.4使用#define和#include 9

1.5使用printf()和scanf() 12

1.6控制流 14

1.7函数 19

1.8数组、字符串和指针 24

1.8.1数组 24

1.8.2字符串 25

1.8.3指针 28

1.9文件 31

1.10与操作系统有关的内容 35

1.10.1编写和运行C程序 35

1.10.2中断程序 36

1.10.3输入文件尾标志 37

1.10.4输入和输出的重定向 37

1.11总结 38

1.12练习 39

第2章 词法元素、操作符和C系统 45

2.1字符和词法元素 46

2.2语法规则 48

2.3注释 49

2.4关键字 50

2.5标识符 50

2.6常量 51

2.7字符串常量 52

2.8操作符和标点符号 53

2.9操作符的优先级和结合性 53

2.10增值操作符和减值操作符 55

2.11赋值操作符 56

2.12例子:计算2的乘方 57

2.13 C系统 58

2.13.1预处理器 59

2.13.2标准函数库 59

2.14总结 62

2.15 练习 63

第3章 基本数据类型 69

3.1声明、表达式和赋值 69

3.2基本数据类型 71

3.3字符和char数据类型 72

3.4 int数据类型 75

3.5整数类型short、long和unsigned 76

3.6浮点类型 77

3.7 typedef的用法 79

3.8 sizeof操作符 79

3.9使用getchar()和putchar() 80

3.10数学函数 82

3.10.1使用abs()和fabs() 84

3.10.2 UNIX和数学函数库 84

3.11隐式类型转换和强制类型转换 84

3.11.1整型提升 85

3.11.2寻常算术转换 85

3.11.3强制类型转换 86

3.12十六进制和八进制常量 87

3.13总结 89

3.14练习 89

第4章 控制流 96

4.1关系操作符、相等操作符和逻辑操作符 96

4.2关系操作符和表达式 97

4.3相等操作符和表达式 99

4.4逻辑操作符和表达式 100

4.5复合语句 103

4.6表达式和空语句 103

4.7 if和if-else语句 104

4.8 while语句 106

4.9 for语句 108

4.10例子:布尔变量 110

4.11逗号操作符 111

4.12 do语句 112

4.13例子:斐波那契数 113

4.14 goto语句 115

4.15 break和continue语句 116

4.16 switch语句 117

4.17条件操作符 118

4.18总结 119

4.19练习 120

第5章 函数 128

5.1函数定义 128

5.2 return语句 130

5.3函数原型 131

5.4例子:创建乘方表 132

5.5从编译器的角度观察函数原型 133

5.6函数定义顺序的另一种风格 134

5.7函数调用和传值调用 134

5.8开发大型程序 136

5.9使用断言 138

5.10作用域规则 139

5.10.1平行和嵌套代码块 140

5.10.2以调试为目的使用代码块 140

5.11存储类型 141

5.11.1 auto存储类型 141

5.11.2 extern存储类型 141

5.11.3 register存储类型 143

5.11.4 static存储类型 143

5.12静态外部变量 144

5.13默认初始化 145

5.14递归 145

5.15例子:汉诺塔 149

5.16总结 152

5.17练习 153

第6章 数组、指针和字符串 159

6.1一维数组 159

6.1.1初始化 160

6.1.2下标 160

6.2指针 161

6.3传引用调用 164

6.4数组和指针之间的关系 165

6.5指针运算和元素的大小 166

6.6数组作为函数的实参 166

6.7例子:冒泡排序 167

6.8用calloc()和malloc()进行动态内存分配 168

6.9例子:归并和归并排序 171

6.10字符串 175

6.11标准函数库中的字符串处理函数 177

6.12多维数组 180

6.12.1二维数组 180

6.12.2存储映射函数 180

6.12.3形式参数声明 181

6.12.4三维数组 182

6.12.5初始化 182

6.12.6使用typedef 183

6.13指针数组 184

6.14 main()函数的参数 188

6.15不规则数组 189

6.16函数作为参数 190

6.17例子:使用二分法寻找函数的根 192

6.18函数指针数组 196

6.19类型限定符const和volatile 199

6.20总结 200

6.21练习 202

第7章 位操作符和枚举类型 214

7.1位操作符和表达式 214

7.1.1按位求反 215

7.1.2补码 215

7.1.3位逻辑操作符 216

7.1.4左移位和右移位操作符 217

7.2掩码 218

7.3软件工具:打印int值的二进制形式 219

7.4包装和解包 220

7.5枚举类型 223

7.6例子:“石头、剪刀、布”游戏 225

7.7总结 229

7.8练习 230

第8章 预处理器 235

8.1 #include的使用 235

8.2使用#define 236

8.3带参数的宏 237

8.4 stddef.h中的类型定义和宏 239

8.5例子:用qsort()进行排序 239

8.6例子:带参数的宏 243

8.7 stdio.h和ctype.h中的宏 246

8.8条件编译 247

8.9预定义的宏 249

8.10“#”和“##”操作符 249

8.11 assert()宏 250

8.12使用#error和#pragma 250

8.13行号 251

8.14对应的函数 251

8.15例子:快速排序 251

8.16总结 254

8.17练习 254

第9章 结构和联合 262

9.1结构 262

9.2访问结构成员 264

9.3操作符的优先级和结合性的总结 267

9.4在函数中使用结构 268

9.5结构的初始化 269

9.6例子:玩扑克牌 269

9.7联合 273

9.8位字段 275

9.9例子:访问位和字节 276

9.10 ADT堆栈 277

9.11总结 280

9.12练习 281

第10章 结构和列表处理 288

10.1自引用的结构 288

10.2线性链表 289

10.3链表操作 290

10.4一些链表处理函数 293

10.4.1插入 294

10.4.2删除 295

10.5堆栈 296

10.6例子:波兰记法和堆栈求值 298

10.7队列 303

10.8二叉树 306

10.8.1二叉树的遍历 307

10.8.2创建树 308

10.9普通的树 309

10.9.1遍历 311

10.9.2 calloc()的用法以及树的创建 311

10.10总结 312

10.11练习 313

第11章 输入/输出和操作系统 318

11.1输出函数printf() 318

11.2输入函数scanf() 321

11.3 fprintf()、fscanf()、sprintf()和sscanf()函数 324

11.4 fopen()和fclose()函数 325

11.5例子:对文件进行空间加倍 327

11.6使用临时文件和优雅函数 329

11.7随机访问文件 331

11.8文件描述符输入/输出 332

11.9文件访问权限 333

11.10在C程序内部执行命令 334

11.11在C程序内部使用管道 335

11.12环境变量 336

11.13 C编译器 337

11.14使用性能评估程序 338

11.15函数库 339

11.16对C代码进行计时 340

11.17使用make 343

11.18使用touch 347

11.19其他有用的工具 348

11.20总结 349

11.21练习 350

第12章 高级应用 358

12.1用fork()创建并发进程 358

12.2进程的叠加:exec…()函数族系 360

12.3使用pipe()实现进程间的通信 362

12.4信号 363

12.5例子:哲学家用餐问题 365

12.6矩阵的动态分配 368

12.6.1为什么二维数组无法满足要求 368

12.6.2用指针数组创建矩阵 369

12.6.3调整下标范围 371

12.6.4一次分配所有内存 373

12.7返回状态 374

12.8总结 377

12.9练习 378

第13章 从C到C++ 383

13.1输出 383

13.2输入 384

13.3函数 386

13.4类和抽象数据类型 387

13.5重载 389

13.6构造函数和析构函数 390

13.7面向对象编程和继承 392

13.8多态 393

13.9模板 395

13.10 C++的异常 396

13.11面向对象编程的优点 396

13.12总结 397

13.13练习 398

第14章 从C到Java 402

14.1输出 402

14.2变量和类型 403

14.3类和抽象数据类型 404

14.4重载 406

14.5类的创建和销毁 406

14.6面向对象编程和继承 406

14.7多态和重写方法 407

14.8 Applet 408

14.9 Java的异常 409

14.10 Java和OOP的优势 410

14.11总结 410

14.12练习 411

附录A 标准函数库 413

附录B C的语法 441

附录C ANSI C与传统C的比较 446

附录D ASCII字符码 452

附录E 操作符的优先级和结合性 454

相关图书
作者其它书籍
返回顶部