《C/C++函数与算法速查宝典》内容简介与阅读建议

获取这本书 暂无已核验电子书资源
下载
作者
陈锐
分类
科技技术
出版年份
2022
出版社
人民邮电出版社
页数
376 页
语言
中文

《C/C++函数与算法速查宝典》内容简介

本书全面、系统地讲解了C和C++中的常用函数及算法,其内容分为3篇,共29章,包括近300个常用函数和九大类算法,还以实例形式讲解了Visual Studio调试技术。其中,在C语言函数篇,对每一个函数的讲解都包含了函数原型、功能、参数、返回值、范例、解析等内容,部分函数会通过综合实例来辅助理解。在算法篇,每个算法采用相应实例进行讲解,包含问题、分析、实现、说明等内容。在C++输入/输出流与容器篇,针对每个类库选取了最常用的函数,按构造类函数、存取类函数、操作类函数等类别从函数原型、函数功能、函数参数、函数返回值、函数范例、函数解析等方面进行了介绍。本书适合学习C/C++函数和算法的初、中级开发人员,爱好者和大、中专院校学生使用。对于经常使用C/C++进行开发的程序员,本书更是一本不可多得的案头常备工具书。

《C/C++函数与算法速查宝典》书籍信息摘要

《C/C++函数与算法速查宝典》内容简介与阅读建议,作者 陈锐,科技技术,2022年。获取前建议核对作者、出版社、年份、ISBN、版本和正版渠道。相关主题:C/C++函数、算法实例、容器类库、计算机类。

《C/C++函数与算法速查宝典》适合哪些读者?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。

获取建议

《C/C++函数与算法速查宝典》怎么获取更合适?

优先确认版本和阅读目的;下载区只展示已核验的公版、授权、开放许可或官方试读资源。

下载

暂无已核验电子书资源;本站不展示未授权完整文件。

下载

版本

优先选择作者、译者、出版社、出版年份和 ISBN 信息明确的版本;经典作品可优先选择校注、导读或权威出版社版本。

目录

  1. 第 1篇 C语言函数篇
  2. 第 1章 ctype.h库函数 2
  3. ctype.h库函数主要包括一些字符处理函数。例如,其中的isalnum函数用来判断是否是英文字母或数字字符,tolower函数是将大写字母转换为小写字母。
  4. 1.1 字符测试函数 2
  5. 1.1.1 isalnum函数—判断是否是英文字母或数字字符 2
  6. 1.1.2 isalpha函数—判断是否为英文字母 3
  7. 1.1.3 isascii函数—判断ASCII码是否位于0~127 4
  8. 1.1.4 iscntrl函数—判断是否是控制字符 5
展开全部(共 300 章节)
  1. 1.1.5 isdigit函数—判断是否是数字字符 6
  2. 1.1.6 isgraph函数—判断是否是可打印字符(不包括空格) 7
  3. 1.1.7 islower函数—判断是否是小写英文字母 8
  4. 1.1.8 isprint函数—判断是否是可打印字符(包括空格) 10
  5. 1.1.9 ispunct函数—判断是否是标点符号 11
  6. 1.1.10 isspace函数—判断是否是 空白符 12
  7. 1.1.11 isxdigit函数—判断是否是 十六进制字符 13
  8. 1.2 字符转换函数 15
  9. 1.2.1 tolower函数—将大写英文字母转换为小写英文字母 15
  10. 1.2.2 toupper函数—将小写英文字母转换为大写英文字母 16
  11. 1.2.3 toascii函数—将字符转换为ASCII码 17
  12. 第 2章 stdio.h库函数 19
  13. stdio.h库函数主要包括常用的输入/输出函数。例如,其中的getch函数用来接受从键盘输入的字符,printf函数用来格式化输出数据,fprintf函数用来格式化输出数据到指定的文件中。
  14. 2.1 字符输入/输出函数 19
  15. 2.1.1 getch函数和getche函数—接受从键盘输入的字符 19
  16. 2.1.2 getchar函数—接受一个字符并显示在屏幕上 20
  17. 2.1.3 gets函数—读取一个字符串 21
  18. 2.1.4 putchar函数—在屏幕上输出一个字符 23
  19. 2.1.5 puts函数—在屏幕上输出一个字符串 24
  20. 2.2 格式化输入/输出函数 25
  21. 2.2.1 printf函数—格式化输出数据 25
  22. 2.2.2 scanf函数—格式化输入数据 28
  23. 2.2.3 sprintf函数—输出格式化数据到指定的数组中 30
  24. 2.2.4 sscanf函数—从字符串读取格式化数据 31
  25. 2.2.5 vprintf函数—在屏幕上输出格式化变长参数列表 33
  26. 2.2.6 vscanf函数—读取从键盘输入的格式化数据 34
  27. 2.3 文件输入/输出函数 35
  28. 2.3.1 fgetc函数和getc函数—从文件中读取一个字符 35
  29. 2.3.2 fgets函数—从文件中读取多个字符 36
  30. 2.3.3 fprintf函数—格式化输出数据到指定的文件中 38
  31. 2.3.4 fscanf函数—从文件中读取格式化数据 39
  32. 2.3.5 fputc函数和putc函数—输出一个字符到指定的文件中 40
  33. 2.3.6 fputs函数—输出一个字符串到指定的文件中 42
  34. 2.3.7 fread函数—从文件中读取一个数据块 43
  35. 2.3.8 fwrite函数—向文件中写入数据块 44
  36. 2.3.9 vfprintf函数—输出格式化数据到指定的文件 46
  37. 2.3.10 vfscanf函数—从文件中读取 格式化数据 47
  38. 2.4 文件定位函数 48
  39. 2.4.1 fseek函数—移动文件位置指针到指定位置 49
  40. 2.4.2 ftell函数—得到文件位置指针的当前值 50
  41. 2.4.3 rewind函数—将文件位置指针移动到文件的开头 51
  42. 2.5 文件存取操作函数 53
  43. 2.5.1 fclose函数—关闭文件 53
  44. 2.5.2 fflush函数—将缓冲区的内容写入文件 54
  45. 2.5.3 fopen函数—打开文件 55
  46. 2.5.4 remove函数—删除文件 57
  47. 2.5.5 rename函数—重命名文件 58
  48. 2.6 文件错误控制函数 60
  49. 2.6.1 clearerr函数—清除文件中的错误标志 60
  50. 2.6.2 feof函数—是否到了文件末尾 61
  51. 2.6.3 ferror函数—检查文件操作是否出现了错误 62
  52. 2.7 文件输入/输出函数综合应用范例 64
  53. 第3章 string.h库函数 70
  54. string.h库函数主要包括常用的字符串操作函数。例如,其中的strcmp函数用来比较两个字符串的大小,strcpy函数用来将一个字符串拷贝到另一个字符串中,strcat函数用来将两个字符串连接在一起。
  55. 3.1 字符串比较函数 70
  56. 3.1.1 memcmp函数和memicmp函数—比较两个字符串 70
  57. 3.1.2 strcmp函数和stricmp函数—比较两个字符串 72
  58. 3.1.3 strncmp函数和strnicmp函数—比较两个字符串 74
  59. 3.2 字符串拷贝函数 75
  60. 3.2.1 memcpy函数—拷贝n个字节到另一个数组 75
  61. 3.2.2 memmove函数—拷贝n个字节到数组中(可重叠) 76
  62. 3.2.3 strcpy函数—字符串拷贝 77
  63. 3.2.4 strncpy函数—拷贝n个字符到目的字符数组 78
  64. 3.3 字符串连接函数 80
  65. 3.3.1 strcat函数—连接两个字符串 80
  66. 3.3.2 strncat函数—将字符串1的前n个字符连接到字符串2 81
  67. 3.4 字符串查找函数 82
  68. 3.4.1 memchr函数—在内存块中查找字符 83
  69. 3.4.2 strchr函数—在字符串中查找字符 84
  70. 3.4.3 strstr函数—查找字符串 85
  71. 3.4.4 strtok函数—分解字符串 87
  72. 3.5 字符串转换函数 88
  73. 3.5.1 strlwr函数—将大写字母转换为小写字母 88
  74. 3.5.2 strrev函数—将字符串逆置 90
  75. 3.5.3 strupr函数—将小写字母转换为大写字母 91
  76. 3.6 其他函数 92
  77. 3.6.1 memset函数—用指定的字符填充字符串 92
  78. 3.6.2 strlen函数—求字符串的长度 93
  79. 3.7 字符串函数综合应用范例 94
  80. 第4章 stdlib.h库函数 99
  81. stdlib.h库函数主要包括字符串转换函数、动态内存管理函数、过程控制函数等。例如,atof 函数是将字符串转换为双精度浮点数,malloc函数是分配内存空间,abort函数用来终止当前的进程。
  82. 4.1 字符串转换函数 99
  83. 4.1.1 atof函数—将字符串转换为双精度浮点数 99
  84. 4.1.2 atoi函数—将字符串转换为整数 101
  85. 4.1.3 atol函数—将字符串转换为长整型数 102
  86. 4.1.4 strtod函数—将字符串转换为双精度浮点数 103
  87. 4.1.5 strtol函数—将字符串转换为长整型数 104
  88. 4.2 动态内存管理函数 106
  89. 4.2.1 malloc函数—分配内存空间 106
  90. 4.2.2 calloc函数—分配内存空间并初始化 107
  91. 4.2.3 free函数—释放内存空间 109
  92. 4.2.4 realloc函数—重新分配内存空间 111
  93. 4.2.5 动态内存管理函数综合应用范例 112
  94. 4.3 随机数生成函数 116
  95. 4.3.1 rand函数—产生伪随机数 116
  96. 4.3.2 srand函数—初始化随机数发生器 117
  97. 4.4 查找函数和排序函数 118
  98. 4.4.1 bsearch函数—折半查找 118
  99. 4.4.2 qsort函数—快速排序 119
  100. 4.4.3 排序函数和查找函数综合应用范例 121
  101. 4.5 过程控制函数 123
  102. 4.5.1 abort函数—终止当前进程 123
  103. 4.5.2 exit函数—退出当前程序 126
  104. 4.5.3 system函数—执行系统命令 127
  105. 第5章 math.h库函数 129
  106. math.h 库函数主要包括三角函数、指数和对数函数、幂指数和开方函数等。例如,cos 函数用来求角度的余弦值,log 函数用来求自然对数,pow 10函数用来求10exp的值。
  107. 5.1 三角函数 129
  108. 5.1.1 cos函数—求角度的余弦值 129
  109. 5.1.2 sin函数—求角度的正弦值 130
  110. 5.1.3 tan函数—求角度的正切值 131
  111. 5.1.4 acos函数—求角度的反余弦值 132
  112. 5.1.5 asin函数—求角度的反正弦值 133
  113. 5.1.6 atan函数—求角度的反正切值 134
  114. 5.2 指数和对数函数 136
  115. 5.2.1 exp函数—求以自然数e为底的指数值 136
  116. 5.2.2 log函数—求自然对数 137
  117. 5.2.3 log10函数—求对数 138
  118. 5.3 幂指数和开方函数 139
  119. 5.3.1 pow函数—求baseexp的值 139
  120. 5.3.2 pow10函数—求10exp的值 140
  121. 5.3.3 sqrt函数—求平方根 141
  122. 5.4 绝对值函数 142
  123. 5.4.1 abs函数—求整数的绝对值 143
  124. 5.4.2 fabs函数—求浮点数的绝对值 144
  125. 5.4.3 labs函数—求长整型数据的绝对值 145
  126. 5.5 其他函数 146
  127. 5.5.1 floor函数—求不大于x的最大整数 146
  128. 5.5.2 fmod函数—返回x/y的余数 147
  129. 5.5.3 frexp函数—将浮点数分解为尾数和指数 148
  130. 5.5.4 hypot函数—根据直角边求斜边 149
  131. 5.5.5 modf函数—将浮点数分解为整数部分和小数部分 151
  132. 5.5.6 poly函数—计算xn的值 152
  133. 5.6 数学函数综合应用范例 153
  134. 5.6.1 计算方程的根 153
  135. 5.6.2 求整数序列的第i个元素 155
  136. 5.6.3 求2s+2t的第 10项 156
  137. 第6章 stdarg.h库函数 159
  138. stdarg.h 库函数主要包括3个用来处理变长参数的宏。例如,va_arg宏用来获取下一个参数,va_start宏用来初始化变长参数列表。
  139. 6.1 va_arg宏 159
  140. 6.2 va_start宏 161
  141. 6.3 va_end宏 162
  142. 6.4 可变参数函数综合应用范例 164
  143. 第7章 time.h库函数 166
  144. time.h 库函数主要包括一些时间处理函数。例如,其中的 time 函数用来得到当前的时间,ctime 函数用来将时间转换为字符串形式。
  145. 7.1 时间操作函数 166
  146. 7.1.1 clock函数—返回CPU时钟计时单元 166
  147. 7.1.2 difftime函数—计算两个时钟之间的间隔 167
  148. 7.1.3 time函数—得到当前的时间 169
  149. 7.2 时间格式转换函数 170
  150. 7.2.1 asctime函数—将时间格式转换为字符串形式 170
  151. 7.2.2 ctime函数—将时间转换为字符串形式 171
  152. 7.2.3 gmtime函数—返回(格林尼治)时间结构的指针 172
  153. 7.2.4 localtime函数—返回指向时间结构的指针 174
  154. 7.2.5 mktime函数—将struct tm格式的时间转换为秒 175
  155. 7.2.6 strftime函数—将时间格式化为字符串 176
  156. 第 2篇 算法篇
  157. 第8章 排序算法 180
  158. 排序算法是程序设计中较为常用的算法。排序算法主要包括插入排序、交换排序、选择排序、归并排序和基数排序。
  159. 8.1 插入排序 180
  160. 8.1.1 直接插入排序 180
  161. 8.1.2 折半插入排序 182
  162. 8.1.3 希尔排序 185
  163. 8.2 交换排序 187
  164. 8.2.1 冒泡排序 188
  165. 8.2.2 快速排序 191
  166. 8.3 选择排序 195
  167. 8.3.1 简单选择排序 195
  168. 8.3.2 堆排序 199
  169. 8.4 归并排序 205
  170. 8.5 基数排序 207
  171. 第9章 查找算法 214
  172. 查找算法是程序设计中常用的算法。查找算法主要包括基于线性表的查找、基于树的查找和哈希表的查找。
  173. 9.1 基于线性表的查找 214
  174. 9.1.1 顺序查找 214
  175. 9.1.2 折半查找 216
  176. 9.1.3 分块查找 219
  177. 9.2 基于树的查找 222
  178. 9.2.1 基于二叉排序树的查找操作 222
  179. 9.2.2 基于二叉排序树的插入操作 224
  180. 9.3 哈希表的查找 227
  181. 9.3.1 构造哈希表 227
  182. 9.3.2 处理冲突 229
  183. 第 10章 递推算法 234
  184. 递推算法是通过不断迭代,用旧的变量值递推得到新值。递推算法常用来解决重复计算的问题,如斐波那契数列、存取问题等。
  185. 10.1 顺推法 234
  186. 10.1.1 斐波那契数列 234
  187. 10.1.2 将十进制数转换为二进制数 236
  188. 10.1.3 求最大公约数和最小公倍数 238
  189. 10.1.4 质因数的分解 240
  190. 10.1.5 角谷猜想 241
  191. 10.1.6 母牛生小牛问题 242
  192. 10.1.7 杨辉三角 243
  193. 10.2 逆推法 245
  194. 10.2.1 猴子摘桃问题 245
  195. 10.2.2 存取问题 246
  196. 第 11章 枚举算法 248
  197. 枚举算法也称穷举算法,它是编程中常用的一种算法。在解决某些问题时,可能无法按照一定规律从众多的候选解中找出正确的答案。此时,可以从众多的候选解中逐一取出候选答案,并验证候选答案是否为正确的解。
  198. 11.1 判断n是否能被3、5、7整除 248
  199. 11.2 百钱买百鸡 251
  200. 11.3 五猴分桃 252
  201. 11.4 求最大连续子序列和 254
  202. 11.5 填数游戏 256
  203. 11.6 谁在说谎 257
  204. 第 12章 递归算法 260
  205. 递归是自己调用自己,它将一个复杂的问题进行整体考虑,只要知道最基本问题的答案,就可以得到整个问题的答案。常见的递归问题有阶乘、斐波那契数列和最大公约数等。
  206. 12.1 简单递归 260
  207. 12.1.1 求n的阶乘 260
  208. 12.1.2 斐波那契数列 263
  209. 12.1.3 求n个数中的最大者 265
  210. 12.1.4 进制转换 266
  211. 12.1.5 求最大公约数 267
  212. 12.2 复杂递归 268
  213. 12.2.1 逆置字符串 268
  214. 12.2.2 和式分解 270
  215. 12.2.3 和式分解(分解出的和数非递 增排列) 272
  216. 12.2.4 求无序序列中的第k大 元素 273
  217. 12.2.5 从1~n个自然数中任选r个 数的所有组合数 275
  218. 12.2.6 大牛生小牛问题 277
  219. 第 13章 贪心算法 279
  220. 贪心算法是一种不追求最优解,只希望找到较为满意解的方法。贪心算法省去了为找最优解要穷尽所有可能而必须耗费的大量时间,因此,它一般可以快速得到比较满意的解。贪心算法常以当前情况为基础做最优选择,而不考虑各种可能的整体情况,所以贪心算法不需要回溯。
  221. 13.1 找零钱问题 279
  222. 13.2 哈夫曼编码 281
  223. 13.3 加油站问题 288
  224. 第 14章 回溯算法 290
  225. 回溯算法也称为试探法,是一种选优搜索法。该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按照某种顺序逐一枚举和检验。当发现当前的候选解不可能是解时,就选择下一个候选解;倘若当前候选解只是不满足问题的规模要求,但满足所有其他要求时,则继续扩大当前候选解的规模,并继续向前试探。如果当前的候选解满足包括问题规模在内的所有要求,则该候选解就是问题的一个解。在寻找解的过程中,放弃当前候选解,退回上一步重新选择候选解的过程就称为回溯。
  226. 14.1 和式分解(非递归实现) 290
  227. 14.2 填字游戏 293
  228. 14.3 装箱问题 297
  229. 第 15章 分治算法 300
  230. 分治算法是将一个规模为N的问题分解为K个规模较小的子问题进行求解,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。最大子序列和、求x的n次幂、众数问题等就是利用分治算法来实现的。
  231. 15.1 最大子序列和问题 300
  232. 15.2 求x的n次幂 302
  233. 15.3 众数问题 304
  234. 15.4 求n个数中的最大者和最小者 306
  235. 15.5 整数划分问题 308
  236. 15.6 大整数的乘法问题 310
  237. 第 16章 矩阵算法 315
  238. 矩阵算法主要通过分析数组中元素值的变化规律,巧妙利用数组下标与元素值之间的关系设计算法。矩阵算法往往需要交换或者存取矩阵中的某个元素,这就需要灵活掌握二维数组两个下标的变换。
  239. 16.1 打印拉丁方阵 315
  240. 16.2 打印蛇形方阵 317
  241. 16.3 打印螺旋矩阵(非递归和递归实现) 318
  242. 16.4 打印逆螺旋矩阵 321
  243. 16.5 将矩阵旋转90度 322
  244. 16.6 将上三方阵以行序为主序转换为以列序为主序 324
  245. 第 17章 实用算法 327
  246. 在学习和工作中,经常会遇到一些与实际生活紧密相关的问题,这些问题也可通过算法来得到答案,从而大大提高我们的学习和工作效率。比较常见的实用算法有计算一年中的第几天、大小写金额转换、微信抢红包问题、求算术表达式的值、一元多项式的乘法、大整数乘法。
  247. 17.1 一年中的第几天 327
  248. 17.2 大小写金额转换 329
  249. 17.3 将15位身份证号转换为18位 333
  250. 17.4 微信抢红包问题 335
  251. 17.5 求算术表达式的值 336
  252. 17.6 一元多项式的乘法 345
  253. 17.7 大整数乘法 351
  254. 17.8 迷宫求解 353
  255. 第 18章 程序调试技术 359
  256. 程序调试也是程序员必备的一项技能。对于初学者来说,通过不断调试程序,既验证了程序的正确性,又深入地理解了程序的算法思想,提高了调试程序的能力,为今后深入学习计算机的其他内容打下坚实的基础。
  257. 18.1 为什么要调试程序 359
  258. 18.2 程序调试 360
  259. 18.2.1 如何使用Visual Studio 2019开发 环境调试程序 360
  260. 18.2.2 冒泡排序程序调试 366
  261. 18.2.3 合并链表程序调试 371
  262. 以下章节见电子资源
  263. 第3篇 C++输入/输出流与容器篇
  264. 第 19章 ios_base类 379
  265. ios_base类主要是C++输入/输出流的基类,它主要包含流的格式化函数。例如,flags函数用来获取或设置流格式,precision函数用来得到/设置浮点数的精度。
  266. 19.1 flags函数—得到/设置流的格式标志 380
  267. 19.2 setf函数和unsetf函数—设置和清除流的格式标志 381
  268. 19.3 precision函数—得到/设置浮点数的精度 383
  269. 19.4 width函数—得到/设置域宽 384
  270. 第 20章 iostream类 386
  271. iostream 类派生自istream类和 ostream类。iostream 类中的函数非常常用。例如,isotream类的对象cout用来控制输出、cin用来控制输入。
  272. 20.1 get函数—无格式的输入操作 388
  273. 20.2 getline函数—接受输入的字符串 390
  274. 20.3 ignore函数—忽略指定的字符 391
  275. 20.4 peek函数—从流中接受输入的字符 392
  276. 20.5 read函数—读取一个字符块 393
  277. 20.6 putback函数—将读取的字符返回给输入流 394
  278. 20.7 put函数—输出字符 396
  279. 20.8 fill函数—得到/设置填充字符 397
  280. 第 21章 文件流类 399
  281. ifstream类、ofstream类和fstream类都是对文件进行读/写操作的类,我们将这些类统称为文件流类。在C++中,要对文件进行读/写操作,就需要先将文件流类与文件关联起来(一般采用open的方式或构造函数的方式),然后再利用文件流对文件进行操作。
  282. 21.1 ifstream构造函数—创建输入流对象 400
  283. 21.2 rdbuf函数—返回指向filebuf的指针 401
  284. 21.3 is_open函数—检测文件是否被打开 403
  285. 21.4 open函数和close函数—打开和关闭文件 404
  286. 21.5 read函数和write函数—从流中读取数据和向流中写入数据 406
  287. 21.6 seekg函数和tellg函数—设置和得到流的位置指针位置 407
  288. 21.7 seekp函数和tellp函数—设置和得到文件的位置指针位置 409
  289. 21.8 flush函数—刷新输出流缓冲区 411
  290. 第 22章 string类 412
  291. string类主要用于消除对char*的使用,以保持与现有代码的兼容性,它还会自动进行内存管理,便于对字符进行操作,其性能比使用char*更佳。
  292. 22.1 字符串运算符函数 412

常见问题

《C/C++函数与算法速查宝典》适合谁读?

适合希望系统学习技术概念、实践方法、工具使用和行业知识的读者。

《C/C++函数与算法速查宝典》阅读难度高吗?

建议先看简介、目录、作者和相关书籍,再判断是否适合当前阶段阅读。

《C/C++函数与算法速查宝典》纸质书值得买吗?

当前暂未接入已核验的纸质书购买链接,建议通过出版社、京东、当当等正版渠道核对版本后购买。

《C/C++函数与算法速查宝典》哪个版本更适合?

优先选择作者、译者、出版社、出版年份和 ISBN 信息清楚的版本;经典作品可优先选择校注、导读或权威出版社版本。

在哪里可以合法获取《C/C++函数与算法速查宝典》?

当前没有确认授权的电子书下载资源,也暂未接入已核验购买链接;商业出版物不提供未授权下载,建议通过出版社、京东、当当或官方电子书平台核对获取。

如何继续查找《C/C++函数与算法速查宝典》相关书籍?

可以进入 陈锐 作者页查看其他作品,也可以通过分类、标签、排行榜、人工推荐和“读完这本还可以读”继续发现相近主题。

手机扫码下载

使用手机扫描二维码

扫码后会直接打开下载链接。

电子书下载二维码

手机端点击下载会直接跳转,无需扫码。