图书介绍
C语言教程 原书第4版PDF|Epub|txt|kindle电子书版本网盘下载
![C语言教程 原书第4版](https://www.shukui.net/cover/19/30508084.jpg)
- (美)Al Kelley,(美)Ira Pohl著;徐波译 著
- 出版社: 北京:机械工业出版社
- ISBN:7111202139
- 出版时间:2007
- 标注页数:425页
- 文件大小:30MB
- 文件页数:437页
- 主题词:C语言-程序设计-教材
PDF下载
下载说明
C语言教程 原书第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第0章 从零开始1
0.1 为什么要用C1
0.2 ANSIC标准2
0.3 从C到C++2
0.4 从C和C++到Java3
第1章 C语言概述5
1.1 编程和预备知识5
1.2 程序输出5
1.3 变量、表达式和赋值8
1.4 使用#define和#include10
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.7 字符串常量49
2.6 常量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和unsigned71
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.11.2 寻常算术转换79
3.11.1 整型提升79
3.11 隐式类型转换和强制类型转换79
3.10.2 UNIX和数学函数库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.7 例子:冒泡排序156
6.6 数组作为函数的实参156
6.8 用calloc()和malloc()进行动态内存分配157
6.9 例子:归并和归并排序160
6.10 字符串164
6.11 标准函数库中的字符串处理函数165
6.12 多维数组168
6.12.1 二维数组168
6.12.3 形式参数声明169
6.12.2 存储映射函数169
6.12.4 三维数组170
6.12.5 初始化170
6.12.6 使用typedef171
6.13 指针数组172
6.14 main()函数的参数176
6.15 不规则数组176
6.16 函数作为参数178
6.17 例子:使用二分法寻找函数的根180
6.18 函数指针数组183
6.19 类型限定符const和volatile186
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 使用#define221
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和#pragma235
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.1 自引用的结构271
第10章 结构和列表处理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.1 输出函数printf()299
第11章 输入/输出和操作系统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 使用make323
11.18 使用touch327
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.1 输出377
第14章 从C到Java377
14.2 变量和类型378
14.3 类和抽象数据类型379
14.4 重载380
14.5 类的创建和销毁380
14.6 面向对象编程和继承381
14.7 多态和重写方法381
14.8 Applet382
14.9 Java的异常383
14.10 Java和OOP的优势384
14.11 总结384
14.12 练习385
附录A 标准函数库387
附录B C的语法413
附录C ANSIC与传统C的比较419
附录D ASCII字符码424
附录E 操作符的优先级和结合性425