人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

C和指针

74.25
运费: ¥ 0.00-20.00
C和指针 商品图0
C和指针 商品图1
C和指针 商品图2
C和指针 商品图3
C和指针 商品缩略图0 C和指针 商品缩略图1 C和指针 商品缩略图2 C和指针 商品缩略图3

商品详情

书名:C和指针  
定价:99.0  
ISBN:9787115522689  
作者:肯尼斯·里科  
版次:第1版  
出版时间:2020-09  

内容提要:  
《C和指针》提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和*级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。 全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的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.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 typedef 38  
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 错误信息 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.2 malloc和free 221  
11.3 calloc和realloc 222  
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 #define 279  
14.2.1 宏 281  
14.2.2 #define替换 282  
14.2.3 宏与函数 283  
14.2.4 带副作用的宏参数 284  
14.2.5 命名约定 285  
14.2.6 #undef 285  
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/O 304  
15.8.1 字符I/O宏 305  
15.8.2 撤销字符I/O 305  
15.9 未格式化的行I/O 306  
15.10 格式化的行I/O 308  
15.10.1 scanf家族 308  
15.10.2 scanf格式代码 308  
15.10.3 printf家族 312  
15.10.4 printf格式代码 312  
15.11 二进制I/O 316  
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.8 locale 346                        
16.8.1 数值和货币格式 346                        
16.8.2 字符串和locale 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 标准函数库的ADT 381                          
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                          
                         
人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信公众号认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

C和指针

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:renyoushe
人民邮电出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏