C和指针
正版保障 假一赔十 电子发票
¥
51.37
5.2折
¥
99
全新
库存235件
作者(美)肯尼斯·里科
出版社人民邮电出版社
ISBN9787115522689
出版时间2020-09
装帧平装
开本16开
定价99元
货号1202121833
上书时间2024-12-22
商品详情
- 品相描述:全新
- 商品描述
-
导语摘要
1.C指针经典之作2020最新版,全球畅销30余年,影响了国内外好几代程序员的C语言圣经级作品,中文版累计销售14w+册;2.此书获得了ACUU的高度评价,ACCU主席FrancisGlassborow倾力推荐;3.本书凸现指针对C的重要性,提供宝贵的提示和智慧的警告,向大家展示指针在C程序中的巨大威力;4.本书提供与C语言编程相关的全面资源和深入讨论,通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
本书是为水平较高的C程序员和学生量身打造的,为那些需要深入理解C编程语言的人提供了以全面详尽的资源。本书对指针的基础知识和高级特性进行了全面且深入的讲解与探索,确保C程序员能够将指针的强大功能融入到他们的C程序中。本书内容覆盖全面,对C编程惯用法进行了详细解释,还对C指针的一些高级主题进行了深入讨论,对于高水平的学生和C程序员来说,本书是相当有价值的教程和参考资料。
本书内容:提供了完整的背景信息,以方便读者全面理解C语言;全面介绍了指针的内容,包括语法、有效使用指针的艺术,以及指针的常见编程惯用法;对实现通用抽象数据结构的不同方法进行了比较;使用简单、熟悉的写作风格来清楚解释难度较大的主题,并使用大量的插图和图表将复杂的概念进行可视化;讨论了编程技巧、效率、可移植性和软件工程等问题,并利用“警告”的方式对一些常见的编程陷阱进行了标注;介绍了C标准库中的每一个函数。
作者简介
Kenneth Reek是美国Rochester工业学院计算机系教授,有几十年年的C编程教学经验,并凭借《C和指针》一书获得了ACUU的高度评价。
目录
第1章快速上手 1
1.1简介1
1.1.1空白和注释4
1.1.2预处理指令4
1.1.3main函数5
1.1.4read_column_numbers函数8
1.1.5rearrange函数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.3typedef38
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.8static关键字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.4if语句52
4.5while语句53
4.5.1break和continue语句54
4.5.2while语句的执行过程54
4.6for语句55
4.7do语句56
4.8switch语句57
4.8.1switch中的break语句58
4.8.2default子句59
4.8.3switch语句的执行过程59
4.9goto语句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.6NULL指针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.4ADT和黑盒124
7.5递归127
7.5.1追踪递归函数128
7.5.2递归与迭代131
7.6可变参数列表134
7.6.1stdarg宏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错误信息183
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问题187
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.2malloc和free221
11.3calloc和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.4ANSII/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.1scanf家族308
15.10.2scanf格式代码308
15.10.3printf家族312
15.10.4printf格式代码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算术327
16.1.2随机数328
16.1.3字符串转换329
16.2浮点型函数329
16.2.1三角函数330
16.2.2双曲函数330
16.2.3对数和指数函数330
16.2.4浮点表示形式331
16.2.5幂331
16.2.6底数、顶数、绝对值和余数331
16.2.7字符串转换332
16.3日期和时间函数332
16.3.1处理器时间332
16.3.2当天时间332
16.3.3日期和时间的转换333
16.4非本地跳转335
16.4.1实例336
16.4.2何时使用非本地跳转337
16.5信号338
16.5.1信号名338
16.5.2处理信号339
16.5.3信号处理函数340
16.6打印可变参数列表341
16.7执行环境342
16.7.1终止执行342
16.7.2断言342
16.7.3环境343
16.7.4执行系统命令343
16.7.5排序和查找344
16.8locale346
16.8.1数值和货币格式346
16.8.2字符串和locale348
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.2C和汇编语言的接口399
18.3运行时效率400
18.4总结402
18.5警告的总结403
18.6编程提示的总结403
18.7问题403
18.8编程练习403
附录部分问题和编程练习的答案405
内容摘要
《C和指针》提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
《C和指针》适合C语言初学者和初级C程序员阅读,也可作为计算机专业学生学习C语言的参考。
主编推荐
1.C指针经典之作2020近期新版,靠前30余年,影响了国内外好几代程序员的C语言圣经级作品,中文版累计销售14w+册;
2.此书获得了ACUU的高度评价,ACCU主席Francis Glassborow倾力推荐;
3.本书凸现指针对C的重要性,提供宝贵的提示和智慧的警告,向大家展示指针在C程序中的巨大威力;
4.本书提供与C语言编程相关的全面资源和深入讨论,通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
本书是为水平较高的C程序员和学生量身打造的,为那些需要深入理解C编程语言的人提供了以全面详尽的资源。本书对指针的基础知识和高级特性进行了全面且深入的讲解与探索,确保C程序员能够将指针的强大功能融入到他们的C程序中。本书内容覆盖全面,对C编程惯用法进行了详细解释,还对C指针的一些高级主题进行了深入讨论,对于高水平的学生和C程序员来说,本书是相当有价值的教程和参考资料。
本书内容:
提供了完整的背景信息,以方便读者全面理解C语言;
全面介绍了指针的内容,包括语法、有效使用指针的艺术,以及指针的常见编程惯用法;
对实现通用抽象数据结构的不同方法进行了比较;
使用简单、熟悉的写作风格来清楚解释难度较大的主题,并使用大量的插图和图表将复杂的概念进行可视化;
讨论了编程技巧、效率、可移植性和软件工程等问题,并利用“警告”的方式对一些常见的编程陷阱进行了标注;
介绍了C标准库中的每一个函数。
媒体评论
我竭尽全力地推荐这本我所见过的优选的C编程入门图书。作者深知读者所需,并为他们打下良好基础。如果你已经开始学习C语言但始终不得要领,不妨试一试这本书。
——Francis Glassborow, ACCU主席
— 没有更多了 —
以下为对购买帮助不大的评价