第一篇 标准C函数库
第1章 C89与C99标准的比较
1.1 C99综述
1.1.1 restrict指针
1.1.2 inline关键字
1.1.3 新增的数据类型
1.1.4 对数组的增强
1.1.5 单行注释
1.1.6 分散代码与声明
1.1.7 预处理程序的修改
1.1.8 for语句内的变量声明
1.1.9 复合赋值
1.1.10 柔性数组结构成员
1.1.11 指定的初始化符
1.1.12 printf()和scanf()函数系列的增强
1.1.13 C99中新增的库
1.1.14 __func__预定义标识符
1.2 C99中改动的特性
1.2.1 放宽的转换限制
1.2.2 不再支持隐含式函数声明
1.2.3 删除了隐含式函数声明
1.2.4 对返回值的约束
1.2.5 扩展的整数类型
1.2.6 对整数类型提升规则的改进
第2章 I/O函数
2.1 clearerr
2.2 fclose
2.3 feof
2.4 ferror
2.5 fflush
2.6 fgetc
2.7 fgetpos
2.8 fgets
2.9 fopen
2.10 fprintf
2.11 fputc
2.12 fputs
2.13 fread
2.14 freopen
2.15 fscanf
2.16 fseek
2.17 fsetpos
2.18 ftell
2.19 fwrite
2.20 getc
2.21 getchar
2.22 gets
2.23 perror
2.24 printf
2.25 putc
2.26 putchar
2.27 puts
2.28 remove
2.29 rename
2.30 rewind
2.31 scanf
2.32 setbuf
2.33 setvbuf
2.34 snprintf
2.35 sprintf
2.36 sscanf
2.37 tmpfile
2.38 tmpnam
2.39 ungetc
2.40 vprintf、vfprintf、vsprintf与vsnprintf
2.41 vscanf、vfscanf与vsscanf
第3章 字符与字符串函数
3.1 isalnum
3.2 isalpha
3.3 isblank
3.4 iscntrl
3.5 isdigit
3.6 isgraph
3.7 islower
3.8 isprint
3.9 ispunct
3.10 isspace
3.11 isupper
3.12 isxdigit
3.13 memchr
3.14 memcmp
3.15 memcpy
3.16 memmove
3.17 memset
3.18 strcat
3.19 strchr
3.20 strcmp
3.21 strcoll
3.22 strcpy
3.23 strcspn
3.24 strerror
3.25 strlen
3.26 strncat
3.27 strncmp
3.28 strncpy
3.29 strpbrk
3.30 strrchr
3.31 strspn
3.32 strstr
3.33 strtok
3.34 strxfm
3.35 tolower
3.36 toupper
第4章 数学函数
4.1 acos
4.2 acosh
4.3 asin
4.4 asinh
4.5 atan
4.6 atanh
4.7 atan2
4.8 cbrt
4.9 ceil
4.10 copysign
4.11 cos
4.12 cosh
4.13 erf
4.14 erfc
4.15 exp
4.16 exp2
4.17 expm1
4.18 fabs
4.19 fdim
4.20 floor
4.21 fina
4.22 fmax
4.23 fmin
4.24 fmod
4.25 frexp
4.26 hypot
4.27 ilogb
4.28 idexp
4.29 igamma
4.30 llrint
4.31 llround
4.32 log
4.33 log1p
4.34 log10
4.35 log2
4.36 logb
4.37 lrint
4.38 ilround
4.39 modf
4.40 nan
4.41 nearbyint
4.42 nextafter
4.43 nexttoward
4.44 pow
4.45 remainder
4.46 remquo
4.47 rint
4.48 round
4.49 scalbln
4.50 scalbn
4.51 sin
4.52 sinh
4.53 sqrt
4.54 tan
4.55 tanh
4.56 tgamma
4.57 trunc
第5章 时间、日期与本地化函数
5.1 asctime
5.2 clock
5.3 ctime
5.4 difftime
5.5 gmttime
5.6 licaleconv
5.7 licaltime
5.8 mktime
5.9 setlocale
5.10 strftime
5.11 time
第6章 动态分配函数
6.1 calloc
6.2 free
6.3 malloc
6.4 realloc
第7章 工具函数
7.1 abort
7.2 abs
7.3 assert
7.4 atexit
7.5 atof
7.6 atoi
7.7 atol
7.8 atoll
7.9 bsearch
7.10 div
7.11 exit
7.12 _Exit
7.13 getenv
7.14 labs
7.15 llabs
7.16 ldiv
7.17 lldiv
7.18 longjmp
7.19 mblen
7.20 mbstowcs
7.21 mbtowc
7.22 qsort
7.23 raise
7.24 rand
7.25 setjmp
7.26 signal
7.27 srand
7.28 strtod
7.29 strtof
7.30 strtol
7.31 strtold
7.32 strtoll
7.33 strtoul
7.34 strtoull
7.35 system
7.36 va_arg、va_copy、va_start与va_end
7.37 wcstombs
7.38 wctomb
第8章 宽字符函数
8.1 宽字符函数的分类
8.2 宽字符I/O函数
8.3 宽字符串函数
8.4 宽字符串转换函数
8.5 宽字符数组函数
8.6 多字节/宽字符转换函数
第9章 C99标准新引进的库函数特性
9.1 复数库
9.2 浮点环境库
9.3 <stdint.h>头部文件
9.4 整数格式转换函数
9.5 一般类型数学宏
9.6 <stdbool.h>头部文件
第10章 创建自定义函数
10.1 函数的形式与作用域
10.2 函数的变元
10.3 return语句
10.4 函数的递归
10.5 函数的原型
10.6 传统与现代的参数声明
第二篇 标准C++类库
第11章 标准C++综述
11.1 C++的发展历程
11.2 面向对象程序设计
11.3 C++的关键字与程序格式
11.4 C与C++的区别
11.5 C++基础
11.6 老式C++与现代C++
11.7 C++类
11.7.1 类与结构是相互关联的
11.7.2 类与联合是相互关联的
11.7.3 友元函数
11.7.4 友元类
11.7.5 内联函数及其定义
11.7.6 静态类成员
11.7.7 嵌套类与局部类
11.7.8 函数的对象传递与返回
11.7.9 对象赋值
11.8 构造函数与析构函数
11.8.1 构造函数
11.8.2 析构函数
11.8.3 何时调用构造函数和析构函数
11.9 函数重载
11.9.1 重载构造函数
11.9.2 创建复制构造函数
11.10 运算符重载
11.10.1 创建成员运算符函数
11.10.2 使用友元函数的运算符重载
11.10.3 重载特殊运算符
11.11 继承性
11.12 虚函数与多态性
第12章 标准模板库综述
12.1 STL概述
12.2 容器类
12.3 STL的一般操作原理
12.4 vector容器
12.5 list容器
12.6 map容器
12.7 算法
12.8 函数对象
12.9 string类
第13章 标准C++I/O类
13.1 I/O类
13.2 I/O头部文件
13.3 格式化标记与I/O操作算子
13.4 数据类型
13.5 重载<<和>>运算符
13.6 通用I/O函数
13.6.1 bad
13.6.2 clear
13.6.3 eof
13.6.4 exceptions
13.6.5 fail
13.6.6 fill
13.6.7 flags
13.6.8 flush
13.6.9 fstream、ifstream和ofstream
13.6.10 gcount
13.6.11 get
13.6.12 getline
13.6.13 good
13.6.14 ignore
13.6.15 open
13.6.16 peek
13.6.17 precision
13.6.18 put
13.6.19 putback
13.6.20 rdstate
13.6.21 read
13.6.22 readsome
13.6.23 seekg和seekp
13.6.24 setf
13.6.25 setstate
13.6.26 str
13.6.27 stringstream、istringstream和ostringstream
13.6.28 sync_with_stdio
13.6.29 tellg和tellp
13.6.30 unsetf
13.6.31 width
13.6.32 write
第14章 STL容器类
14.1 bitset
14.2 deque
14.3 list
14.4 map
14.5 multimap
14.6 multiset
14.7 queue
14.8 priority_queue
14.9 set
14.10 stack
14.11 vector
第15章 STL算法
15.1 adjacent_find
15.2 binary_search
15.3 copy
15.4 count
15.5 count_if
15.6 equal
15.7 eqaul_range
15.8 eqaul_range
15.9 fill与fill_n
15.10 find
15.11 find_end
15.12 find_first_of
15.13 find_if
15.14 for_each
15.15 generate与generate_n
15.16 includes
15.17 inplace_merge
15.18 iter_swap
15.19 lexicographical_compare
15.20 lower_bound
15.21 make_heap
15.22 max
15.23 max_element
15.24 merge
15.25 min
15.26 min_element
15.27 mismatch
15.28 next_permutation
15.29 nth_element
15.30 partial_sort
15.31 partial_sort_copy
15.32 partition
15.33 pop_heap
15.34 prev_permutation
15.35 push_heap
15.36 random_shuffle
15.37 remove、remove_if、remove_copy和remove_copy_if
15.38 replace、replace_if、replace_copy和replace_copy_if
15.39 reverse和reverse_copy
15.40 rotate和rotate_copy
15.41 search
15.42 search_n
15.43 set_difference
15.44 set_intersection
15.45 set_symmetric_difference
15.46 set_union
15.47 sort
15.48 sort_heap
15.49 stable_partition
15.50 stable_sort
15.51 swap
15.52 swap_ranges
15.53 transform
15.54 unique与unique_copy
15.55 upper_bound
第16章 STL迭代器、分配器与函数对象
16.1 迭代器
16.1.1 基本迭代器类型
16.1.2 低级迭代器类
16.1.3 预定义迭代器
16.1.4 迭代器函数
16.2 函数对象
16.2.1 函数对象
16.2.2 绑定器
16.2.3 取反器
16.2.4 适配器
第17章 字符串类
17.1 basic_string类
17.2 char_traits类
第18章 数字类
18.1 complex类
18.2 valarray类
18.2.1 slice与gslice类
18.2.2 助手类
18.3 数字算法
18.3.1 accumulate
18.3.2 adjacent_difference
18.3.3 inner_product
18.3.4 partial_sum
第19章 异常处理与其他类
19.1 异常处理类
19.2 auto_ptr与pair类
19.3 其他类
19.4 本地化类库