C Primer Plus(第6版)

C Primer Plus(第6版) PDF 超清完整版

  • 大小:216.2 MB
  • 类型:C语言
  • 格式:PDF
  • 出版:人民邮电出版社
  • 作者:史蒂芬·普拉达
  • 更新:2023-01-16 14:41:18
vip 立即下载( 216.2 MB )
关注公众号免费下载
版权投诉 / 资源反馈(本资源由用户 沈娅欣 投稿)

我们帮大家精选了C语言相关的资料,由人民邮电出版社出版,作者是史蒂芬·普拉达,介绍了关于C、C语言、CPrimerPlus方面,格式为PDF,资源大小216.2 MB,目前在C语言类资源综合评分为:9.8分。

C语言资源推荐

读者评价

网友NO.37867
燕文曜

c-primer-plus-ed6: 基础数据类型 字符串与格式化IO 运算符/表达式/语句 控制语句(循环/分支/跳转) 字符IO与输入验证 函数(递归 &运算符) 数组与指针(VLA 复合字面量) 字符串与字符串函数 存储类别/链接/内存管理 文件IO 结构(struct/union/typedef) 位操作 c预处理器和c库 高级数据表示ADT

深入浅出,细致入微。最不可思议的是,我竟然真的从头到尾读完了它

1.C语言绝对不像一些年长的工程师说得那么难,这一本书几乎把它的知识全部都介绍完了。只是要用C语言写出一些容易维护的代码还真需要点经验和技巧。

2.什么C与指针,C陷阱与缺陷...其实也就讲一些很简单的东西(在看完这本书以后)。

3.看完这本书以后,推荐学习一下设计模式(以学习如何写出容易维护的代码为目的)。

4.编码规范必须要看Misra-C文档,它除了介绍规范本身,还会讲到一些本书没有介绍的C语言规则,如实现定义行为和未定义行为的区别、整型提升等。

5.学习《深入了解计算机系统》可以学习到一些C语言实现的细节,优化方法,内存模型、Cache对程序性能的影响,关键路径分析法在现代处理器的应用,类Unix系统编程入门等知识。

网友NO.47052
靳秋月
强力推荐的一本C语言入门书籍,626页可以让你在C语言的世界里畅游很久,风趣幽默的文笔让人心情愉悦。这里要感谢云巅工作室精彩的翻译。这本书真正的诠释了入门书籍的概念,却又可以为你指出深入的方向,让你在继续前进时不至于迷茫。(作者不仅阐述了语法中正确的形式,同时也即尽可能的阐述读者错误的代码可能会出现的问题,这一反一正相得益彰,值得多次品读)60元的价格也绝对对得起它的价值。 总的来说可以是直接跳过谭老师书籍的一本经典入门教程。

书籍介绍

C Primer Plus

C Primer Plus(第六版)电子书封面

内容介绍

《C Primer Plus(第6版)中文版》详细讲解了C语言的基本概念和编程技巧。《C Primer Plus(第6版)中文版》共17章。第1、2章介绍了C语言编程的预备知识。第3~15章详细讲解了C语言的相关知识,包括数据类型、格式化输入/输出、运算符、表达式、语句、循环、字符输入和输出、函数、数组和指针、字符和字符串函数、内存管理、文件输入输出、结构、位操作等。第16章、17章介绍C预处理器、C库和高级数据表示。本书以完整的程序为例,讲解C语言的知识要点和注意事项。每章末设计了大量复习题和编程练习,帮助读者巩固所学知识和提高实际编程能力。附录给出了各章复习题的参考答案和丰富的参考资料。《C Primer Plus(第6版)中文版》可作为C语言的教材,适用于需要系统学习C语言的初学者,也适用于巩固C语言知识或希望进一步提高编程技术的程序员。

目录

  • 第1章 初识C语言     1
  • 1.1 C语言的起源         1
  • 1.2  选择C语言的理由        1
  • 1.2.1 设计特性    1
  • 1.2.2 高效性         1
  • 1.2.3 可移植性    2
  • 1.2.4 强大而灵活         3
  • 1.2.5 面向程序员         3
  • 1.2.6 缺点    3
  • 1.3 C语言的应用范围         3
  • 1.4  计算机能做什么   4
  • 1.5  高级计算机语言和编译器   5
  • 1.6  语言标准        6
  • 1.6.1 第1个ANSI/ISO C标准     6
  • 1.6.2 C99标准     6
  • 1.6.3 C11标准     7
  • 1.7  使用C语言的7个步骤        7
  • 1.7.1 第1步:定义程序的目标         8
  • 1.7.2 第2步:设计程序     8
  • 1.7.3 第3步:编写代码     8
  • 1.7.4 第4步:编译     8
  • 1.7.5 第5步:运行程序     9
  • 1.7.6 第6步:测试和调试程序         9
  • 1.7.7 第7步:维护和修改代码         9
  • 1.7.8 说明    9
  • 1.8  编程机制        10
  • 1.8.1 目标代码文件、可执行文件和库    10
  • 1.8.2 UNIX系统   11
  • 1.8.3 GNU编译器集合和LLVM项目 13
  • 1.8.4 Linux系统   13
  • 1.8.5 PC的命令行编译器   14
  • 1.8.6 集成开发环境(Windows)      14
  • 1.8.7 Windows/Linux    15
  • 1.8.8 Macintosh中的C        15
  • 1.9  本书的组织结构   15
  • 1.10 本书的约定 16
  • 1.10.1 字体  16
  • 1.10.2 程序输出  16
  • 1.10.3 特殊元素  17
  • 1.11 本章小结      17
  • 1.12 复习题 18
  • 1.13 编程练习      18
  • 第2章 C语言概述      19
  • 2.1  简单的C程序示例        19
  • 2.2  示例解释        20
  • 2.2.1 第1遍:快速概要     21
  • 2.2.2 第2遍:程序细节     21
  • 2.3  简单程序的结构   28
  • 2.4  提高程序可读性的技巧        28
  • 2.5  进一步使用C         29
  • 2.5.1 程序说明    30
  • 2.5.2 多条声明    30
  • 2.5.3 乘法    30
  • 2.5.4 打印多个值         30
  • 2.6  多个函数        30
  • 2.7  调试程序        32
  • 2.7.1 语法错误    32
  • 2.7.2 语义错误    33
  • 2.7.3 程序状态    34
  • 2.8  关键字和保留标识符   34
  • 2.9  关键概念        35
  • 2.10 本章小结      35
  • 2.11 复习题 36
  • 2.12 编程练习      37
  • 第3章 数据和C 39
  • 3.1  示例程序        39
  • 3.2  变量与常量数据   42
  • 3.3  数据:数据类型关键字        42
  • 3.3.1 整数和浮点数    43
  • 3.3.2 整数    43
  • 3.3.3 浮点数         43
  • 3.4 C语言基本数据类型    44
  • 3.4.1 int类型        44
  • 3.4.2 其他整数类型    47
  • 3.4.3 使用字符:char类型         50
  • 3.4.4 _Bool类型  54
  • 3.4.5 可移植类型:stdint.h和inttypes.h 55
  • 3.4.6 float、double和long double      56
  • 3.4.7 复数和虚数类型         60
  • 3.4.8 其他类型    60
  • 3.4.9 类型大小    62
  • 3.5  使用数据类型        63
  • 3.6  参数和陷阱   63
  • 3.7  转义序列示例        64
  • 3.7.1 程序运行情况    65
  • 3.7.2 刷新输出    65
  • 3.8  关键概念        66
  • 3.9  本章小结        66
  • 3.10 复习题 67
  • 3.11 编程练习      68
  • 第4章 字符串和格式化输入/输出   71
  • 4.1  前导程序        71
  • 4.2  字符串简介   72
  • 4.2.1 char类型数组和null字符 72
  • 4.2.2 使用字符串         73
  • 4.2.3 strlen()函数         74
  • 4.3  常量和C预处理器        76
  • 4.3.1 const限定符       78
  • 4.3.2 明示常量    78
  • 4.4 printf()和scanf()     80
  • 4.4.1 printf()函数 80
  • 4.4.2 使用printf()         81
  • 4.4.3 printf()的转换说明修饰符 83
  • 4.4.4 转换说明的意义         87
  • 4.4.5 使用scanf()         92
  • 4.4.6 printf()和scanf()的*修饰符        95
  • 4.4.7 printf()的用法提示     97
  • 4.5  关键概念        98
  • 4.6  本章小结        98
  • 4.7  复习题   99
  • 4.8  编程练习        100
  • 第5章 运算符、表达式和语句 103
  • 5.1  循环简介        103
  • 5.2  基本运算符   105
  • 5.2.1 赋值运算符:=  105
  • 5.2.2 加法运算符:   107
  • 5.2.3 减法运算符:-   107
  • 5.2.4 符号运算符:-和      107
  • 5.2.5 乘法运算符:*  108
  • 5.2.6 除法运算符:/   110
  • 5.2.7 运算符优先级    110
  • 5.2.8 优先级和求值顺序    112
  • 5.3  其他运算符   113
  • 5.3.1 sizeof运算符和size_t类型       113
  • 5.3.2 求模运算符:% 114
  • 5.3.3 递增运算符:          115
  • 5.3.4 递减运算符:--  118
  • 5.3.5 优先级         118
  • 5.3.6 不要自作聪明    119
  • 5.4  表达式和语句        120
  • 5.4.1 表达式         120
  • 5.4.2 语句    120
  • 5.4.3 复合语句(块)         123
  • 5.5  类型转换        124
  • 5.6  带参数的函数        127
  • 5.7  示例程序        129
  • 5.8  关键概念        130
  • 5.9  本章小结        130
  • 5.10 复习题 131
  • 5.11 编程练习      134
  • 第6章 C控制语句:循环 137
  • 6.1  再探while循环     137
  • 6.1.1 程序注释    138
  • 6.1.2 C风格读取循环 139
  • 6.2 while语句      140
  • 6.2.1 终止while循环  140
  • 6.2.2 何时终止循环    141
  • 6.2.3 while:入口条件循环        141
  • 6.2.4 语法要点    141
  • 6.3  用关系运算符和表达式比较大小        143
  • 6.3.1 什么是真    144
  • 6.3.2 其他真值    145
  • 6.3.3 真值的问题         146
  • 6.3.4 新的_Bool类型  147
  • 6.3.5 优先级和关系运算符         148
  • 6.4  不确定循环和计数循环        150
  • 6.5 for循环  151
  • 6.6  其他赋值运算符: =、-=、*=、/=、%=    155
  • 6.7  逗号运算符   156
  • 6.8  出口条件循环:do  while   159
  • 6.9  如何选择循环        161
  • 6.10 嵌套循环      162
  • 6.10.1 程序分析  163
  • 6.10.2 嵌套变式  163
  • 6.11 数组简介      164
  • 6.12 使用函数返回值的循环示例      166
  • 6.12.1 程序分析  168
  • 6.12.2 使用带返回值的函数       169
  • 6.13 关键概念      169
  • 6.14 本章小结      170
  • 6.15 复习题 170
  • 6.16 编程练习      174
  • 第7章 C控制语句:分支和跳转      177
  • 7.1 if语句     177
  • 7.2 if else语句     179
  • 7.2.1 另一个示例:介绍getchar()和putchar() 180
  • 7.2.2 ctype.h系列的字符函数   182
  • 7.2.3 多重选择else  if       184
  • 7.2.4 else与if配对     186
  • 7.2.5 多层嵌套的if语句     187
  • 7.3  逻辑运算符   190
  • 7.3.1 备选拼写:iso646.h头文件      191
  • 7.3.2 优先级         192
  • 7.3.3 求值顺序    192
  • 7.3.4 范围    193
  • 7.4  一个统计单词的程序   194
  • 7.5  条件运算符:?:    196
  • 7.6  循环辅助:continue和break       198
  • 7.6.1 continue语句      198
  • 7.6.2 break语句  200
  • 7.7  多重选择:switch和break  202
  • 7.7.1 switch语句 204
  • 7.7.2 只读每行的首字符    205
  • 7.7.3 多重标签    206
  • 7.7.4 switch和if  else        208
  • 7.8 goto语句        208
  • 7.9  关键概念        211
  • 7.10 本章小结      211
  • 7.11 复习题 212
  • 7.12 编程练习      214
  • 第8章 字符输入/输出和输入验证   217
  • 8.1  单字符I/O:getchar()和putchar()       217
  • 8.2  缓冲区   218
  • 8.3  结束键盘输入        219
  • 8.3.1 文件、流和键盘输入         219
  • 8.3.2 文件结尾    220
  • 8.4  重定向和文件        222
  • 8.5  创建更友好的用户界面        226
  • 8.5.1 使用缓冲输入    226
  • 8.5.2 混合数值和字符输入         228
  • 8.6  输入验证        230
  • 8.6.1 分析程序    234
  • 8.6.2 输入流和数字    234
  • 8.7  菜单浏览        235
  • 8.7.1 任务    235
  • 8.7.2 使执行更顺利    235
  • 8.7.3 混合字符和数值输入         237
  • 8.8  关键概念        240
  • 8.9  本章小结        240
  • 8.10 复习题 241
  • 8.11 编程练习      241
  • 第9章 函数 243
  • 9.1  复习函数        243
  • 9.1.1 创建并使用简单函数         244
  • 9.1.2 分析程序    245
  • 9.1.3 函数参数    247
  • 9.1.4 定义带形式参数的函数    248
  • 9.1.5 声明带形式参数函数的原型    249
  • 9.1.6 调用带实际参数的函数    249
  • 9.1.7 黑盒视角    250
  • 9.1.8 使用return从函数中返回值    250
  • 9.1.9 函数类型    252
  • 9.2 ANSI C函数原型    253
  • 9.2.1 问题所在    253
  • 9.2.2 ANSI的解决方案        254
  • 9.2.3 无参数和未指定参数         255
  • 9.2.4 函数原型的优点         256
  • 9.3  递归        256
  • 9.3.1 演示递归    256
  • 9.3.2 递归的基本原理         258
  • 9.3.3 尾递归         258
  • 9.3.4 递归和倒序计算         260
  • 9.3.5 递归的优缺点    262
  • 9.4  编译多源代码文件的程序   262
  • 9.4.1 UNIX    263
  • 9.4.2 Linux    263
  • 9.4.3  DOS命令行编译器     263
  • 9.4.4 Windows和苹果的IDE编译器 263
  • 9.4.5 使用头文件         263
  • 9.5  查找地址:&运算符     267
  • 9.6  更改主调函数中的变量        268
  • 9.7  指针简介        269
  • 9.7.1 间接运算符:*  270
  • 9.7.2 声明指针    270
  • 9.7.3 使用指针在函数间通信    271
  • 9.8  关键概念        274
  • 9.9  本章小结        275
  • 9.10 复习题 275
  • 9.11 编程练习      276
  • 第10章 数组和指针   277
  • 10.1 数组      277
  • 10.1.1 初始化数组       277
  • 10.1.2 指定初始化器(C99)    281
  • 10.1.3 给数组元素赋值       282
  • 10.1.4 数组边界  282
  • 10.1.5 指定数组的大小       284
  • 10.2 多维数组      284
  • 10.2.1 初始化二维数组       287
  • 10.2.2 其他多维数组  288
  • 10.3 指针和数组 288
  • 10.4 函数、数组和指针      290
  • 10.4.1 使用指针形参  293
  • 10.4.2 指针表示法和数组表示法       294
  • 10.5 指针操作      295
  • 10.6 保护数组中的数据      298
  • 10.6.1 对形式参数使用const     299
  • 10.6.2 const的其他内容     300
  • 10.7 指针和多维数组 302
  • 10.7.1 指向多维数组的指针       304
  • 10.7.2 指针的兼容性  305
  • 10.7.3 函数和多维数组       306
  • 10.8 变长数组(VLA)        309
  • 10.9 复合字面量 312
  • 10.10 关键概念   314
  • 10.11 本章小结   315
  • 10.12 复习题        316
  • 10.13 编程练习   317
  • 第11章 字符串和字符串函数   321
  • 11.1 表示字符串和字符串I/O   321
  • 11.1.1 在程序中定义字符串       322
  • 11.1.2 指针和字符串  328
  • 11.2 字符串输入 329
  • 11.2.1 分配空间  329
  • 11.2.2 不幸的gets()函数    330
  • 11.2.3 gets()的替代品 331
  • 11.2.4 scanf()函数        336
  • 11.3 字符串输出 337
  • 11.3.1 puts()函数 338
  • 11.3.2 fputs()函数        339
  • 11.3.3 printf()函数        339
  • 11.4 自定义输入/输出函数         340
  • 11.5 字符串函数 342
  • 11.5.1 strlen()函数       342
  • 11.5.2 strcat()函数       343
  • 11.5.3 strncat()函数    345
  • 11.5.4 strcmp()函数     346
  • 11.5.5 strcpy()和strncpy()函数   351
  • 11.5.6 sprintf()函数      356
  • 11.5.7 其他字符串函数       357
  • 11.6 字符串示例:字符串排序 359
  • 11.6.1 排序指针而非字符串       360
  • 11.6.2 选择排序算法  361
  • 11.7 ctype.h字符函数和字符串         362
  • 11.8 命令行参数 363
  • 11.8.1 集成环境中的命令行参数       365
  • 11.8.2 Macintosh中的命令行参数    365
  • 11.9 把字符串转换为数字 365
  • 11.10 关键概念   368
  • 11.11 本章小结   368
  • 11.12 复习题        369
  • 11.13 编程练习   371
  • 第12章 存储类别、链接和内存管理       373
  • 12.1 存储类别      373
  • 12.1.1 作用域       374
  • 12.1.2 链接  376
  • 12.1.3 存储期       376
  • 12.1.4 自动变量  377
  • 12.1.5 寄存器变量       380
  • 12.1.6 块作用域的静态变量       381
  • 12.1.7 外部链接的静态变量       382
  • 12.1.8 内部链接的静态变量       386
  • 12.1.9 多文件       386
  • 12.1.10 存储类别说明符    387
  • 12.1.11 存储类别和函数    389
  • 12.1.12 存储类别的选择    389
  • 12.2 随机数函数和静态变量      390
  • 12.3 掷骰子 393
  • 12.4 分配内存:malloc()和free()       396
  • 12.4.1 free()的重要性 399
  • 12.4.2 calloc()函数       400
  • 12.4.3 动态内存分配和变长数组       400
  • 12.4.4 存储类别和动态内存分配       401
  • 12.5 ANSI C类型限定符      402
  • 12.5.1 const类型限定符     403
  • 12.5.2 volatile类型限定符 404
  • 12.5.3 restrict类型限定符 405
  • 12.5.4 _Atomic类型限定符(C11) 406
  • 12.5.5 旧关键字的新位置  406
  • 12.6 关键概念      407
  • 12.7 本章小结      407
  • 12.8 复习题 408
  • 12.9 编程练习      409
  • 第13章 文件输入/输出      413
  • 13.1 与文件进行通信 413
  • 13.1.1 文件是什么       413
  • 13.1.2 文本模式和二进制模式  413
  • 13.1.3 I/O的级别         415
  • 13.1.4 标准文件  415
  • 13.2 标准I/O        415
  • 13.2.1 检查命令行参数       416
  • 13.2.2 fopen()函数       416
  • 13.2.3  getc()和putc()函数  417
  • 13.2.4 文件结尾  418
  • 13.2.5 fclose()函数       419
  • 13.2.6 指向标准文件的指针       419
  • 13.3 一个简单的文件压缩程序 419
  • 13.4 文件I/O:fprintf()、fscanf()、fgets()和fputs() 421
  • 13.4.1 fprintf()和fscanf()函数     421
  • 13.4.2 fgets()和fputs()函数         422
  • 13.5 随机访问:fseek()和ftell() 423
  • 13.5.1 fseek()和ftell()的工作原理      424
  • 13.5.2 二进制模式和文本模式  425
  • 13.5.3 可移植性  425
  • 13.5.4 fgetpos()和fsetpos()函数         426
  • 13.6 标准I/O的机理  426
  • 13.7 其他标准I/O函数       427
  • 13.7.1 int ungetc(int c, FILE *fp)函数  427
  • 13.7.2 int fflush()函数  428
  • 13.7.3 int setvbuf()函数       428
  • 13.7.4 二进制I/O:fread()和fwrite()         428
  • 13.7.5 size_t fwrite()函数    429
  • 13.7.6 size_t fread()函数     430
  • 13.7.7 int feof(FILE *fp)和int ferror(FILE *fp)函数      430
  • 13.7.8 一个程序示例  430
  • 13.7.9 用二进制I/O进行随机访问   433
  • 13.8 关键概念      435
  • 13.9 本章小结      435
  • 13.10 复习题        435
  • 13.11 编程练习   437
  • 第14章 结构和其他数据形式   439
  • 14.1 示例问题:创建图书目录 439
  • 14.2 建立结构声明      441
  • 14.3 定义结构变量      441
  • 14.3.1 初始化结构       442
  • 14.3.2 访问结构成员  443
  • 14.3.3 结构的初始化器       443
  • 14.4 结构数组      444
  • 14.4.1 声明结构数组  446
  • 14.4.2 标识结构数组的成员       447
  • 14.4.3 程序讨论  447
  • 14.5 嵌套结构      448
  • 14.6 指向结构的指针 449
  • 14.6.1 声明和初始化结构指针  450
  • 14.6.2 用指针访问成员       451
  • 14.7 向函数传递结构的信息      451
  • 14.7.1 传递结构成员  451
  • 14.7.2 传递结构的地址       452
  • 14.7.3 传递结构  453
  • 14.7.4 其他结构特性  454
  • 14.7.5 结构和结构指针的选择  458
  • 14.7.6 结构中的字符数组和字符指针       458
  • 14.7.7 结构、指针和malloc()     459
  • 14.7.8 复合字面量和结构(C99)    462
  • 14.7.9 伸缩型数组成员(C99)         463
  • 14.7.10 匿名结构(C11)  465
  • 14.7.11 使用结构数组的函数    466
  • 14.8 把结构内容保存到文件中 467
  • 14.8.1 保存结构的程序示例       468
  • 14.8.2 程序要点  470
  • 14.9 链式结构      471
  • 14.10 联合简介   472
  • 14.10.1 使用联合         472
  • 14.10.2 匿名联合(C11)  473
  • 14.11 枚举类型   474
  • 14.11.1 enum常量       475
  • 14.11.2 默认值    475
  • 14.11.3 赋值         475
  • 14.11.4 enum的用法  476
  • 14.11.5 共享名称空间         477
  • 14.12 typedef简介       478
  • 14.13 其他复杂的声明        479
  • 14.14 函数和指针        481
  • 14.15 关键概念   487
  • 14.16 本章小结   487
  • 14.17 复习题        488
  • 14.18 编程练习   490
  • 第15章 位操作   493
  • 15.1 二进制数、位和字节 493
  • 15.1.1 二进制整数       494
  • 15.1.2 有符号整数       494
  • 15.1.3 二进制浮点数  495
  • 15.2 其他进制数 495
  • 15.2.1 八进制       495
  • 15.2.2 十六进制  496
  • 15.3 C按位运算符       496
  • 15.3.1 按位逻辑运算符       497
  • 15.3.2 用法:掩码       498
  • 15.3.3 用法:打开位(设置位)       498
  • 15.3.4 用法:关闭位(清空位)       499
  • 15.3.5 用法:切换位  499
  • 15.3.6 用法:检查位的值  500
  • 15.3.7 移位运算符       500
  • 15.3.8 编程示例  501
  • 15.3.9 另一个例子       503
  • 15.4 位字段 505
  • 15.4.1 位字段示例       506
  • 15.4.2 位字段和按位运算符       509
  • 15.5 对齐特性(C11)        515
  • 15.6 关键概念      516
  • 15.7 本章小结      516
  • 15.8 复习题 517
  • 15.9 编程练习      518
  • 第16章 C预处理器和C库        521
  • 16.1 翻译程序的第一步      521
  • 16.2 明示常量:#define      522
  • 16.2.1 记号  525
  • 16.2.2 重定义常量       525
  • 16.3 在#define中使用参数         525
  • 16.3.1 用宏参数创建字符串:#运算符    527
  • 16.3.2 预处理器黏合剂:##运算符  528
  • 16.3.3 变参宏:...和_ _VA_ARGS_ _  529
  • 16.4 宏和函数的选择 530
  • 16.5 文件包含:#include    531
  • 16.5.1 头文件示例       531
  • 16.5.2 使用头文件       533
  • 16.6 其他指令      534
  • 16.6.1 #undef指令       534
  • 16.6.2 从C预处理器角度看已定义  534
  • 16.6.3 条件编译  535
  • 16.6.4 预定义宏  539
  • 16.6.5 #line和#error   540
  • 16.6.6 #pragma    540
  • 16.6.7 泛型选择(C11)    541
  • 16.7 内联函数(C99)        542
  • 16.8 _Noreturn函数(C11)      544
  • 16.9 C库       544
  • 16.9.1 访问C库  544
  • 16.9.2 使用库描述       545
  • 16.10 数学库        546
  • 16.10.1 三角问题         547
  • 16.10.2 类型变体         548
  • 16.10.3 tgmath.h库(C99)      550
  • 16.11 通用工具库        550
  • 16.11.1 exit()和atexit()函数        550
  • 16.11.2 qsort()函数      552
  • 16.12 断言库        556
  • 16.12.1 assert的用法 556
  • 16.12.2 _Static_assert(C11)  557
  • 16.13 string.h库中的memcpy()和memmove() 558
  • 16.14 可变参数:stdarg.h 560
  • 16.15 关键概念   562
  • 16.16 本章小结   562
  • 16.17 复习题        562
  • 16.18 编程练习   563
  • 第17章 高级数据表示       567
  • 17.1 研究数据表示      567
  • 17.2 从数组到链表      570
  • 17.2.1 使用链表  572
  • 17.2.2 反思  576
  • 17.3 抽象数据类型(ADT)       576
  • 17.3.1 建立抽象  577
  • 17.3.2 建立接口  578
  • 17.3.3 使用接口  581
  • 17.3.4 实现接口  583
  • 17.4 队列ADT      589
  • 17.4.1 定义队列抽象数据类型  590
  • 17.4.2 定义一个接口  590
  • 17.4.3 实现接口数据表示  591
  • 17.4.4 测试队列  598
  • 17.5 用队列进行模拟 600
  • 17.6 链表和数组 605
  • 17.7 二叉查找树 608
  • 17.7.1 二叉树ADT       608
  • 17.7.2 二叉查找树接口       609
  • 17.7.3 二叉树的实现  611
  • 17.7.4 使用二叉树       624
  • 17.7.5 树的思想  628
  • 17.8 其他说明      629
  • 17.9 关键概念      630
  • 17.10 本章小结   630
  • 17.11 复习题        630
  • 17.12 编程练习   631
  • 附录A 复习题答案      633
  • 附录B 参考资料 665
  • B.1  参考资料I:补充阅读 665
  • B.2  参考资料II:C运算符 667
  • B.3  参考资料III:基本类型和存储类别   671
  • B.4  参考资料IV:表达式、语句和程序流       675
  • B.5  参考资料V:新增C99和C11的ANSI C库        679
  • B.6  参考资料VI:扩展的整数类型   714
  • B.7  参考资料VII:扩展字符支持      716
  • B.8  参考资料VIII:C99/C11数值计算增强      720
  • B.9  参考资料IX:C和C 的区别     726

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

C语言相关资源

  • C Primer Plus 5th Edition

    C Primer Plus 5th Edition 课后答案

    大小:13.5 MBC Primer课后答案

  • C Primer Plus(第六版) 复习题参考答案

    《 C primer Plus 》而作为C语言的经典入门书籍,书上的内容受益颇多。可当为课后习题苦恼不已,这里准备了一份较为完备,准确的习题答案。完备的《C primer plus》的答案,以供初入此道的萌新们参考。需要的朋友可下再试试! 《C Primer Plus(第6版)中文版》可作为C语言的教材,适用于需要系统学习C语言的初学者,也适用于巩固C语言知识或希望进一步提高编程技术的程序员。

    大小:46.1 MBCPrimer

  • C++Primer题解

    C++Primer题解

    c++primer题解 作者:ClovisL.Tondo译者:侯捷 华中理工大学 出版日期:2002年9月 作者CLOVISL.TONDO,TTTECHWORKS,INC.的总裁。这家公司提供C,C++,NUIX工具等技术训练,以其他公司为主要客户,并提供书稿给技术 出版。TONDO博士也是《THECAN-SWERBOOK》的作者,以及其他8本书籍的协同作者,写作范围涵盖C、驱动程序、MAKE、数据结构。

    大小:6.23 MBC++

  • 《C++ Primer Plus(第6版)中文版》源代码

    《C++ Primer Plus(第6版)中文版》源代码

    编辑推荐 一本经久不衰的C 畅销经典教程;首本支持C 11新标准的程序设计图书。 它被誉为开发人员学习C 的必备教程,没有之一! Amazon网站Language类销售排名第三的超级畅销书,之前版本在美国销售超10万! 《C Primer Plus(第6版)中文版》可以说是一本面向从未学习过C语言甚至是从未学习过编程的人的入门书籍,它的首章从基础内容讲起,先介绍了传统编程的规则,后面才着重讲解有关面向对象C 的精髓之一的有关内容。整个书的结构安排较为合理,难度

    大小:165.72 KBC++配套资源

  • 《C++ Primer Plus(第6版)英文版(上、下册)》配套资源

    《C++ Primer Plus(第6版)英文版(上、下册)》配套资源

    编辑推荐 经久不衰的C++畅销经典教程 涵盖C++11新标准 本书是精心设计而且经过仔细测试的C++完整教程,涵盖了C++语言的大多数核心主题。本书作为C++语言的经典巨著,讲解了编程原理(包括结构化代码和自顶向下设计)、类、继承、模板、异常、lambda表达式、智能指针和移动语义等知识。 本书作者以一种清晰、易于理解的方式对C++进行了全面介绍,还讲解了基本的编程概念以及C++语言的具体细节。本书还通过短小实用的示例一次解释一两个概念,并立

    大小:44.42 KBC++ Primer配套资源

资源下载

C语言学习笔记

18小时23分钟前回答

C++ Primer Plus详解

1.各种数据类型的长度 int main(void){using namespace std;int n(3); // C++还可以这么赋值int m{6};int f = {8};int n_int = INT_MAX; //声明变量同时赋值=初始化short n_short = SHRT_MAX;long n_long = LONG_MAX;long long n_llong = LLONG_MAX;cout "n = " n endl;cout "m = " m endl;cout "f = " f endl;cout "int is " sizeof(int) " bytes." endl;// sizeof是运算符不是clmits中的函数.INT_MAX是cout "short is " sizeof n_short " bytes." endl; //函数必须带括号,sizeof(运算符……

21小时36分钟前回答

C++Primer笔记之关联容器的使用详解

关联容器 关联容器支持通过键来高效地查找和读取元素。两个基本的关联容器类型是map和set。map的元素以键-值对的形式组织:键用作元素在map的索引,而值则表示所存储和读取的数据。set仅包含一个键,并有效地支持关于某个键是否存在的查询。set和map类型的对象不允许为同一个键添加第二个元素。如果一个键必须对应多个实例,则需使用multimap或mutiset类型,这两种类型允许多……