网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 C语言教程(原书第4版)/计算机科学丛书
分类
作者 (美)凯利//波尔
出版社 机械工业出版社
下载
简介
编辑推荐

本书是ANSI C程序设计语言的最畅销的教材和参考书之一,完整描述了ANSI C语言及其语法特性,并对C语言的高级特性和应用作了深入阐述。作者通过循序渐进地解析程序代码,阐明了C语言结构的正确使用和语法,并揭示出其应用的基础逻辑。全书阐述清晰、层次分明,提供了大量示例和练习帮助读者深入理解书中讲解的每个概念,是一本全面论述C语言的权威著作。初学者和专业程序员都可以从本书受益。

内容推荐

本书是一本优秀的C程序设计语言教材,完整描述了ANSI C语言及其语法特性,并对C语言的高级特性和应用作了深入阐述,介绍了从C到C++和Java过渡的相关知识。本书的一个鲜明特色就是结合大量示例描述C语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。

本书系统、完整,可作为C语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。

目录

第0章 从零开始    1

0.1 为什么要用C    1

0.2 ANSI C标准    2

0.3 从C到C++    2

0.4 从C和C++到Java    3

第1章 C语言概述    5

1.1 编程和预备知识    5

1.2 程序输出    5

1.3 变量、表达式和赋值    8

1.4 使用#define和#include    10

1.5 使用printf()和scanf()    12

1.6 控制流    14

1.7  函数    19

1.8 数组、字符串和指针    23

1.8.1 数组    23

1.8.2 字符串    25

1.8.3 指针    27

1.9 文件    29

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

1.10.1 编写和运行C程序    33

1.10.2 中断程序    35

1.10.3 输入文件尾标志    35

1.10.4 输入和输出的重定向    35

1.11 总结    36

1.12 练习    37

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

2.1 字符和词法元素    43

2.2 语法规则    45

2.3 注释    46

2.4 关键字    47

2.5 标识符    48

2.6 常量    49

2.7 字符串常量    49

2.8 操作符和标点符号    50

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

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

2.11 赋值操作符    53

2.12 例子:计算2的乘方    54

2.13 C系统    55

2.13.1 预处理器    55

2.13.2 标准函数库    56

2.14 总结    58

2.15 练习    59

第3章 基本数据类型    65

3.1 声明、表达式和赋值    65

3.2 基本数据类型    66

3.3 字符和char数据类型    67

3.4 int数据类型    70

3.5 整数类型short、long和unsigned    71

3.6 浮点类型    72

3.7 typedef的用法    74

3.8 sizeof操作符    74

3.9 使用getchar()和putchar()    75

3.10 数学函数    77

3.10.1 使用abs()和fabs()    78

3.10.2 UNIX和数学函数库    79

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

3.11.1 整型提升    79

3.11.2 寻常算术转换    79

3.11.3 强制类型转换    81

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

3.13 总结    83

3.14 练习    84

第4章 控制流    89

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

4.2 关系操作符和表达式    90

4.3 相等操作符和表达式    92

4.4 逻辑操作符和表达式    93

4.5 复合语句    95

4.6 表达式和空语句    95

4.7 if和if-else语句    96

4.8 while语句    98

4.9 for语句    100

4.10 例子:布尔变量    102

4.11 逗号操作符    102

4.12 do语句    103

4.13 例子:斐波那契数    105

4.14 goto语句    107

4.15 break和continue语句    108

4.16 switch语句    108

4.17 条件操作符    109

4.18 总结    110

4.19 练习    111

第5章 函数    119

5.1 函数定义    119

5.2 return语句    121

5.3 函数原型    121

5.4 例子:创建乘方表    122

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

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

5.7 函数调用和传值调用    125

5.8 开发大型程序    126

5.9 使用断言    128

5.10 作用域规则    129

5.10.1 平行和嵌套代码块    130

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

5.11 存储类型    130

5.11.1 auto存储类型    130

5.11.2 extern存储类型    131

5.11.3 register存储类型    132

5.11.4 static存储类型    133

5.12 静态外部变量    133

5.13 默认初始化    134

5.14 递归    135

5.15 例子:汉诺塔    138

5.16 总结    141

5.17 练习    142

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

6.1 一维数组    149

6.1.1 初始化    150

6.1.2 下标    150

6.2 指针    151

6.3 传引用调用    153

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

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

6.6 数组作为函数的实参    156

6.7 例子:冒泡排序    156

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

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

6.10 字符串    164

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

6.12 多维数组    168

6.12.1 二维数组    168

6.12.2 存储映射函数    169

6.12.3 形式参数声明    169

6.12.4 三维数组    170

6.12.5 初始化    170

6.12.6 使用typedef    171

6.13 指针数组    172

6.14 main()函数的参数    176

6.15 不规则数组    176

6.16 函数作为参数    178

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

6.18 函数指针数组    183

6.19 类型限定符const和volatile    186

6.20 总结    187

6.21 练习    188

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

7.1 位操作符和表达式    201

7.1.1 按位求反    202

7.1.2 补码    202

7.1.3 位逻辑操作符    203

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

7.2 掩码    204

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

7.4 包装和解包    206

7.5 枚举类型    209

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

7.7 总结    215

7.8 练习    216

第8章 预处理器    221

8.1 #include的使用    221

8.2 使用#define    221

8.3 带参数的宏    222

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

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

8.6 例子:带参数的宏    228

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

8.8 条件编译    232

8.9 预定义的宏    234

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

8.11 assert()宏    235

8.12 使用#error和#pragma    235

8.13 行号    236

8.14 对应的函数    236

8.15 例子:快速排序    236

8.16 总结    238

8.17 练习    239

第9章 结构和联合    247

9.1 结构    247

9.2 访问结构成员    249

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

9.4 在函数中使用结构    252

9.5 结构的初始化    253

9.6 例子:玩扑克牌    254

9.7 联合    257

9.8 位字段    259

9.9 例子:访问位和字节    260

9.10 ADT堆栈    261

9.11 总结    264

9.12 练习    265

第10章 结构和列表处理    271

10.1 自引用的结构    271

10.2 线性链表    272

10.3 链表操作    273

10.4 一些链表处理函数    275

10.4.1 插入    277

10.4.2 删除    277

10.5 堆栈    278

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

10.7 队列    285

10.8 二叉树    287

10.8.1 二叉树的遍历    288

10.8.2 创建树    290

10.9 普通的树    290

10.9.1 遍历    292

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

10.10 总结    293

10.11 练习    294

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

11.1 输出函数printf()    299

11.2 输入函数scanf()    302

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

11.4 fopen()和fclose()函数    306

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

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

11.7 随机访问文件    311

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

11.9 文件访问权限    313

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

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

11.12 环境变量    316

11.13 C编译器    316

11.14 使用性能评估程序    318

11.15 函数库    319

11.16 对C代码进行计时    320

11.17 使用make    323

11.18 使用touch    327

11.19 其他有用的工具    327

11.20 总结    328

11.21 练习    329

第12章 高级应用    337

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

12.2 进程的叠加:exec...()函数族系    338

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

12.4 信号    342

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

12.6 矩阵的动态分配    346

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

12.6.2 用指针数组创建矩阵    347

12.6.3 调整下标范围    348

12.6.4 一次分配所有内存    350

12.7 返回状态    351

12.8 总结    354

12.9 练习    355

第13章 从C到C++    359

13.1 输出    359

13.2 输入    360

13.3 函数    362

13.4 类和抽象数据类型    363

13.5 重载    364

13.6 构造函数和析构函数    366

13.7 面向对象编程和继承    367

13.8 多态    368

13.9 模板    370

13.10 C++的异常    371

13.11 面向对象编程的优点    371

13.12 总结    372

13.13 练习    373

第14章 从C到Java    377

14.1 输出    377

14.2 变量和类型    378

14.3 类和抽象数据类型    379

14.4 重载    380

14.5 类的创建和销毁    380

14.6 面向对象编程和继承    381

14.7 多态和重写方法    381

14.8 Applet    382

14.9 Java的异常    383

14.10 Java和OOP的优势    384

14.11 总结    384

14.12 练习    385

附录A 标准函数库    387

附录B C的语法    413

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

附录D ASCII字符码    424

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

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/28 15:57:43