图书介绍
C和C++实务精选 C和指针PDF|Epub|txt|kindle电子书版本网盘下载
- (美)里克(Reek,K.A.)编著;徐波译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115114560
- 出版时间:2003
- 标注页数:448页
- 文件大小:24MB
- 文件页数:470页
- 主题词:C语言-程序设计
PDF下载
下载说明
C和C++实务精选 C和指针PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 快速上手1
1.1 简介1
1.1.1 空白和注释4
1.1.2 预处理指令4
1.1.3 main函数5
1.1.4 read_column_numbers函数8
1.1.5 rearrange函数12
1.2 补充说明14
1.3 编译14
1.4 总结15
1.5 警告的总结15
1.6 编程提示的总结15
1.7 问题16
1.8 编程练习16
第2章 基本概念19
2.1 环境19
2.1.1 翻译19
2.1.2 执行21
2.2 词法规则21
2.2.1 字符22
2.2.2 注释23
2.2.3 自由形式的源代码23
2.2.4 标识符24
2.2.5 程序的形式24
2.3 程序风格25
2.4 总结26
2.5 警告的总结26
2.6 编程提示的总结26
2.7 问题27
2.8 编程练习28
第3章 数据29
3.1 基本数据类型29
3.1.1 整型家族29
3.1.2 浮点类型32
3.1.3 指针33
3.2 基本声明35
3.2.1 初始化35
3.2.2 声明简单数组36
3.2.3 声明指针36
3.2.4 隐式声明37
3.3 typedef38
3.4 常量38
3.5 作用域39
3.5.1 代码块作用域40
3.5.2 文件作用域41
3.5.3 原型作用域41
3.5.4 函数作用域41
3.6 链接属性41
3.7 存储类型43
3.8 static关键字44
3.9 作用域、存储类型示例45
3.10 总结46
3.11 警告的总结47
3.12 编程提示的总结47
3.13 问题48
第4章 语句51
4.1 空语句51
4.2 表达式语句51
4.3 代码块52
4.4 if语句52
4.5 while语句53
4.5.1 break和continue语句54
4.5.2 while语句的执行过程54
4.6 for语句55
4.7 do语句56
4.8 switch语句57
4.8.1 switch中的break语句58
4.8.2 default子句59
4.8.3 switch语句的执行过程59
4.9 goto语句60
4.10 总结61
4.11 警告的总结62
4.12 编程提示的总结62
4.13 问题62
4.14 编程练习63
第5章 操作符和表达式67
5.1 操作符67
5.1.1 算术操作符67
5.1.2 移位操作符67
5.1.3 位操作符69
5.1.4 赋值70
5.1.5 单目操作符72
5.1.6 关系操作符73
5.1.7 逻辑操作符74
5.1.8 条件操作符75
5.1.9 逗号操作符76
5.1.10 下标引用、函数调用和结构成员77
5.2 布尔值78
5.3 左值和右值79
5.4 表达式求值80
5.4.1 隐式类型转换80
5.4.2 算术转换80
5.4.3 操作符的属性81
5.4.4 优先级和求值的顺序82
5.5 总结85
5.6 警告的总结86
5.7 编程提示的总结86
5.8 问题86
5.9 编程练习88
第6章 指针91
6.1 内存和地址91
6.2 值和类型92
6.3 指针变量的内容93
6.4 间接访问操作符94
6.5 未初始化和非法的指针95
6.6 NULL指针96
6.7 指针、间接访问和左值97
6.8 指针、间接访问和变量97
6.9 指针常量98
6.10 指针的指针98
6.11 指针表达式99
6.12 实例104
6.13 指针运算107
6.13.1 算术运算108
6.13.2 关系运算110
6.14 总结111
6.15 警告的总结112
6.16 编程提示的总结112
6.17 问题112
6.18 编程练习115
第7章 函数117
7.1 函数定义117
7.2 函数声明119
7.2.1 原型119
7.2.2 函数的缺省认定121
7.3 函数的参数122
7.4 ADT和黑盒124
7.5 递归127
7.5.1 追踪递归函数128
7.5.2 递归与迭代131
7.6 可变参数列表134
7.6.1 stdarg宏135
7.6.2 可变参数的限制135
7.7 总结136
7.8 警告的总结137
7.9 编程提示的总结137
7.10 问题138
7.11 编程练习138
第8章 数组141
8.1 一维数组141
8.1.1 数组名141
8.1.2 下标引用142
8.1.3 指针与下标144
8.1.4 指针的效率145
8.1.5 数组和指针150
8.1.6 作为函数参数的数组名150
8.1.7 声明数组参数152
8.1.8 初始化152
8.1.9 不完整的初始化153
8.1.10 自动计算数组长度153
8.1.11 字符数组的初始化153
8.2 多维数组154
8.2.1 存储顺序154
8.2.2 数组名155
8.2.3 下标156
8.2.4 指向数组的指针158
8.2.5 作为函数参数的多维数组159
8.2.6 初始化160
8.2.7 数组长度自动计算162
8.3 指针数组162
8.4 总结165
8.5 警告的总结166
8.6 编程提示的总结166
8.7 问题166
8.8 编程练习170
第9章 字符串、字符和字节175
9.1 字符串基础175
9.2 字符串长度175
9.3 不受限制的字符串函数177
9.3.1 复制字符串177
9.3.2 连接字符串178
9.3.3 函数的返回值178
9.3.4 字符串比较178
9.4 长度受限的字符串函数179
9.5 字符串查找基础180
9.5.1 查找一个字符180
9.5.2 查找任何几个字符181
9.5.3 查找一个子串181
9.6 高级字符串查找182
9.6.1 查找一个字符串前缀182
9.6.2 查找标记182
9.7 错误信息184
9.8 字符操作184
9.8.1 字符分类184
9.8.2 字符转换184
9.9 内存操作185
9.10 总结186
9.11 警告的总结187
9.12 编程提示的总结187
9.13 问题188
9.14 编程练习188
第10章 结构和联合195
10.1 结构基础知识195
10.1.1 结构声明195
10.1.2 结构成员197
10.1.3 结构成员的直接访问197
10.1.4 结构成员的间接访问198
10.1.5 结构的自引用198
10.1.6 不完整的声明199
10.1.7 结构的初始化199
10.2 结构、指针和成员200
10.2.1 访问指针201
10.2.2 访问结构201
10.2.3 访问结构成员202
10.2.4 访问嵌套的结构203
10.2.5 访问指针成员204
10.3 结构的存储分配205
10.4 作为函数参数的结构206
10.5 位段209
10.6 联合211
10.6.1 变体记录212
10.6.2 联合的初始化213
10.7 总结214
10.8 警告的总结214
10.9 编程提示的总结214
10.10 问题215
10.11 编程练习217
第11章 动态内存分配221
11.1 为什么使用动态内存分配221
11.2 malloc和free221
11.3 calloc和realloc222
11.4 使用动态分配的内存223
11.5 常见的动态内存错误223
11.6 内存分配实例226
11.7 总结231
11.8 警告的总结232
11.9 编程提示的总结232
11.10 问题232
11.11 编程练习233
第12章 使用结构和指针235
12.1 链表235
12.2 单链表235
12.2.1 在单链表中插入236
12.2.2 其他链表操作245
12.3 双链表245
12.3.1 在双链表中插入246
12.3.2 其他链表操作253
12.4 总结253
12.5 警告的总结254
12.6 编程提示的总结254
12.7 问题254
12.8 编程练习255
第13章 高级指针话题257
13.1 进一步探讨指向指针的指针257
13.2 高级声明258
13.3 函数指针260
13.3.1 回调函数261
13.3.2 转移表263
13.4 命令行参数265
13.4.1 传递命令行参数265
13.4.2 处理命令行参数266
13.5 字符串常量269
13.6 总结271
13.7 警告的总结272
13.8 编程提示的总结272
13.9 问题272
13.10 编程练习275
第14章 预处理器279
14.1 预定义符号279
14.2 #define279
14.2.1 宏281
14.2.2 #define替换282
14.2.3 宏与函数283
14.2.4 带副作用的宏参数284
14.2.5 命名约定285
14.2.6 #undef285
14.2.7 命令行定义285
14.3 条件编译286
14.3.1 是否被定义287
14.3.2 嵌套指令288
14.4 文件包含288
14.4.1 函数库文件包含289
14.4.2 本地文件包含289
14.4.3 嵌套文件包含290
14.5 其他指令291
14.6 总结292
14.7 警告的总结293
14.8 编程提示的总结293
14.9 问题293
14.10 编程练习295
第15章 输入/输出函数297
15.1 错误报告297
15.2 终止执行298
15.3 标准I/O函数库298
15.4 ANSI I/O概念299
15.4.1 流299
15.4.2 文件300
15.4.3 标准I/O常量300
15.5 流I/O总览301
15.6 打开流302
15.7 关闭流303
15.8 字符I/O304
15.8.1 字符I/O宏305
15.8.2 撤消字符I/O305
15.9 未格式化的行I/O306
15.10 格式化的行I/O308
15.10.1 scanf家族308
15.10.2 scanf格式代码308
15.10.3 printf家族312
15.10.4 printf格式代码312
15.11 二进制I/O316
15.12 刷新和定位函数316
15.13 改变缓冲方式318
15.14 流错误函数319
15.15 临时文件319
15.16 文件操纵函数319
15.17 总结320
15.18 警告的总结321
15.19 编程提示的总结322
15.20 问题322
15.21 编程练习323
第16章 标准函数库327
16.1 整型函数327
16.1.1 算术<stdlib.h>327
16.1.2 随机数<stdlib.h>328
16.1.3 字符串转换<stdlib.h>329
16.2 浮点型函数329
16.2.1 三角函数<math.h>330
16.2.2 双曲函数<math.h>330
16.2.3 对数和指数函数<math.h>330
16.2.4 浮点表示形式<math.h>331
16.2.5 幂<math.h>331
16.2.6 底数、顶数、绝对值和余数<math.h>331
16.2.7 字符串转换<stdlib.h>332
16.3 日期和时间函数332
16.3.1 处理器时间<time.h>332
16.3.2 当天时间<time.h>332
16.4 非本地跳转<setjmp.h>335
16.4.1 实例336
16.4.2 何时使用非本地跳转337
16.5 信号338
16.5.1 信号名<signal.h>338
16.5.2 处理信号<signal.h>339
16.5.3 信号处理函数340
16.6 打印可变参数列表<stdarg.h>341
16.7 执行环境342
16.7.1 终止执行<stdlib.h>342
16.7.2 断言(assertion)<assert.h>342
16.7.3 环境<stdlib.h>343
16.7.4 执行系统命令<stdlib.h>343
16.7.5 排序和查找<stdlib.h>344
16.8 locale346
16.8.1 数值和货币格式<locale.h>346
16.8.2 字符串和locale<string.h>348
16.8.3 改变locale的效果349
16.9 总结349
16.10 警告的总结350
16.11 编程提示的总结351
16.12 问题351
16.13 编程练习352
第17章 经典抽象数据类型355
17.1 内存分配355
17.2 堆栈355
17.2.1 堆栈接口356
17.2.2 实现堆栈356
17.3 队列364
17.3.1 队列接口364
17.3.2 实现队列365
17.4 树369
17.4.1 在二叉搜索树中插入370
17.4.2 从二叉搜索树删除节点370
17.4.3 在二叉搜索树中查找371
17.4.4 树的遍历371
17.4.5 二叉搜索树接口372
17.4.6 实现二叉搜索树373
17.5 实现的改进379
17.5.1 拥有超过一个的堆栈379
17.5.2 拥有超过一种的类型380
17.5.3 名字冲突380
17.5.4 标准函数库的ADT381
17.6 总结383
17.7 警告的总结384
17.8 编程提示的总结384
17.9 问题384
17.10 编程练习385
第18章 运行时环境387
18.1 判断运行时环境387
18.1.1 测试程序387
18.1.2 静态变量和初始化390
18.1.3 堆栈帧391
18.1.4 寄存器变量391
18.1.5 外部标识符的长度393
18.1.6 判断堆栈帧布局393
18.1.7 表达式的副作用398
18.2 C和汇编语言的接口399
18.3 运行时效率400
18.4 总结402
18.5 警告的总结403
18.6 编程提示的总结403
18.7 问题403
18.8 编程练习403
附录 部分问题答案405
索引443
参考文献448