C语言大全 (第四版)
分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: 著者: 美 赫伯特.希尔特 ;译者: 王子恢等译
出 版 社: 电子工业出版社
出版时间: 2003-4-1字数: 896版次: 1页数: 541印刷时间:开本:印次:纸张: 胶版纸I S B N : 9787505369153包装: 平装编辑推荐
内容简介
本书根据国际著名的计算机程序语言专家Herbert Shchildt的专著翻译。这是一本C语言的百科全书,其中包括C的命令、功能、编程和应用等方面的内容,是集专家及C语言编程人员的多方面专门经验之作。全书共分六大部分,共29章。第一部分详细讨论了关键字、预处理、指令和C语言特性;第二部分详细介绍了新的C99标准,并将C89和C99进行了仔细对比;第三部分详细介绍了C标准程序库;第四部分介绍算法和应用程序;第五部分详细讨论了Windows 2000框架的构造,并用实例讨论了C软件的开发技术;第六部分介绍C解释程序。
本书内容全面,叙述清晰,辅以大量实例与应用示例,为广大PC机用户程序开发人员提供了一部很有价值的工具书。也可作计算机应用人员,有关大专院校师生及PC机软件开发人员的参考书.
作者简介
赫伯特希尔特是C语言专家及计算机图书著名作者,并身兼ANSI/ISO组织C语言标准化委员会的委员。他的图书无论在美国本土还是在世界其他国家,一直处在销售排行榜的前列。本书从第一版开始,一直授权我社出版中文版,同样十分畅销,深受我国广大读者的喜爱。
目录
第一部分 C语言基础
第1章 C语言概述
1.1 C语言的简要历史
1.2 C是中级语言
1.3 C是结构化语言
1.4 C是面向程序员的语言
1.5 编译和解释
1.6 C程序的格式
1.7 库和链接
1.8 分别编译
1.9 编译C程序
1.10 C的内存映像
1.11 C与C++
1.12 术语
第2章 C表达式
2.1 基本数据类型
2.2 修饰基本类型
2.3 标识符命名
2.4 变量
2.4.1 定义变量的位置
2.4.2 局部变量
2.4.3 形式参数
2.4.4 全局变量
2.4.5 C语言的四个域
2.5 类型修饰符
2.5.1 const
2.5.2 volatile
2.6 存储类型说明符
2.6.1 extern
2.6.2 static变量
2.6.3 register变量
2.7 变量初始化
2.8 常量
2.8.1 16进制和8进制常量
2.8.2 串常量
2.8.3 反斜线字符常量
2.9 操作符
2.9.1 赋值操作符
2.9.2 赋值中的类型转换
2.9.3 多重赋值
2.9.4 复合赋值
2.9.5 算术操作符
2.9.6 增量和减量
2.9.7 关系和逻辑操作符
2.9.8 位操作符
2.9.9 问号(?)操作符
2.9.10 指针操作符&和*
2.9.11 编译时操作符sizeof()
2.9.12 逗号(,)操作符
2.9.13 圆点(.)和箭头(→)操作符
2.9.14 []和()操作符
2.9.15 优先级小结
2.10 表达式
2.10.1 求值顺序
2.10.2 表达式中的类型转换
2.10.3 强制类型转换
2.10.4 间隔和括号
第3章 语句
3.1 C的真值和假值
3.2 选择语句
3.2.1 if语句
3.2.2 嵌套if语句
3.2.3 if—else—if梯次
3.2.4 代替if的问号(?)
3.2.5 条件表达式
3.2.6 switch
3.2.7 嵌套switch语句
3.3 重复(Iteration)语句
3.3.1 for循环
3.3.2 for循环的变形
3.3.3 无限循环
3.3.4 无循环体的循环
3.3.5 在for循环中声明变量
3.3.6 while循环
3.3.7 do—while循环
3.4 跳转语句
3.4.1 return语句
3.4.2 goto语句
3.4.3 break语句
3.4.4 exit()函数
3.4.5 continue语句
3.5 表达式语句
3.6 块语句
第4章 数组和串
4.1 一维数组
4.2 指向数组的指针
4.3 向函数传一维数组
4.4 串
4.5 二维数组
4.5.1 字符串数组
4.6 多维数组
4.7 指针的下标操作
4.8 数组初始化
4.8.1 无尺寸数组初始化
4.9 可变长数组
4.10 一担挑游戏
第5章 指针
5. 1 什么是指针
5.2 指针变量
5.3 指针操作符
5.4 指针表达式
5.4.1 指针赋值
5.4.2 指针转换
5.4.3 指针算术操作
5.4.4 指针比较
5.5 指针和数组
5.5.1 指针数组
5.6 多级间址
5.7 指针初始化
5.8 函数指针
5.9 动态分配函数
5.9.1 动态分配的数组
5.10 由restrict修饰的指针
5.11 与指针有关的问题
第6章 函数
6.1 函数的一般形式
6.2 理解函数的作用域规则
6.3 函数的变元
6.3.1 值调用和引用调用
6.3.2 引用调用
6.3.3 用数组调用
6.4 main()的变元argc和argv
6.5 返回语句
6.5.1 从函数中返回
6.5.2 返回值
6.5.3 返回指针
6.5.4 void型函数
6.6 main()的返回值
6.7 递归
6.8 函数原型
6.8.1 老式风格的函数声明
6.8.2 标准的库函数原型
6.9 定义可变长度的参数表
6.10 “隐含的int”规则
6.11 参数声明的老式方法和现代方法
6.12 inline关键字
第7章 结构、联台、枚举和用户定义类型
7.1 结构
7.1.1 存取结构成员
7.1.2 结构赋值
7.2 结构数组
7.2.1 通信录实例
7.3 向函数传递结构
7.3.1 向函数传结构成员
7.3.2 向函数传递全结构
7.4 结构指针
7.4.1 定义结构指针
7.4.2 使用结构指针
7.5 结构中的数组和结构
7.6 联合
7.7 位域
7.8 枚举
7.9 C与G++之间的重要差别
7.10 用sizeof确保可移植性
7.11 typedef
第8章 控制台I/O
8.1 读写字符
8.1.1 getchar()的问题
8.1.2 代替getchar()的函数
8.2 读写串
8.3 格式化控制台I/O
8.4 printf
8.4.1 打印字符和串
8.4.2 打印数值
8.4.3 显示地址
8.4.4 格式说明符%n
8.4.5 格式修饰符
8.4.6 最小域宽说明符
8.4.7 精度说明符
8.4.8 对齐输出
8.4.9 处理其他数据类型
8.4.10 修饰符*和#
8.5 scanf()
8.5.1 格式说明符
8.5.2 输入数值
8.5.3 输入无符号整数
8.5.4 用scanf()读单字符
8.5.5 用scanf()读串
8.5.6 输入地址
8.5.7 格式符%n
8.5.8 使用扫描集合
8.5.9 过滤多余空白符
8.5.10 控制串中的非空白符
8.5.11 必须向scanf()传地址
8.5.12 格式修饰符
8.5.13 忽略输入
第9章 文件I/O
9.1 C与C++I/O
9.2 标准C的I/O和UNIX C的I/O
9.3 流和文件
9.4 流
9.4.1 文本流
9.4.2 二进制流
9.5 文件
9.6 文件系统基础
9.6.1 文件指针
9.6.2 打开文件
9.6.3 关闭文件
9.6.4 写字符
9.6.5 读字符
9.6.6 使用fopen()、getc()、putc()和fclose()
9.6.7 使用feof()
9.6.8 用fputs()和fgets()处理串
9.6.9 rewind()
9.6.10 ferror()
9.6.11 删除文件
9.6.12 对流清仓
9.7 fread()和fwrite()
9.7.1 使用fread()和fwrite()
9.7.2 通信录实例
9.8 fseek ()和随机存取I/O
9.9 fprintf()和fscanf()
9.10 标准流
9.10.1 控制台I/O的连接
9.10.2 用freopen()重定向标准流
第10章 预处理程序和注释
10.1 预处理程序
10.2 #define
10.2.1 定义类函数宏
10.3 #error
10.4 #include
10.5 条件编译指令
10.5.1 #if、#else、#elif和#endif
10.5.2 #ifdef 和#ifndef
10.6 #undef
10.7 使用defined
10.8 #line
10.9 #pragma
10.10 预处理操作符#和##
10.11 预定义宏
10.12 注释
10.12.1 单行注释
第二部分 C99标准
第11章 C99
11.1 C89与C99概述
11.1.1 增加的特性
11.1.2 删除的特性
11.1.3 修改的特性
11.2 由restrict修饰的指针
11.3 inline
11.4 新的内置数据类型
11.4.1 _Bool
11.4.2 _Complex和_Imaginary
11.4.3 long long int类型
11.5 对数组的增强
11.5.1 变长数组
11.5.2 类型修饰符在数组声明中的应用
11.6 单行注释
11.7 分散代码和声明
11.8 预处理程序的修改
11.8.1 变元表
11.8.2 _Pragma操作符
11.8.3 内置的编译指令(Pragmas)
11.8.4 增加的内置宏
11.9 在for循环中声明变量
11.10 复合赋值
11.11 柔性数组结构成员
11.12 指定的初始化符
11.13 printf()和scanf()函数系列的新增内容
11.14 C99中的新库
11.15 __func__预定义标识符
11.16 放宽的转换限制
11.17 不再支持隐含的int
11.18 删除了隐含的函数声明
11.19 对返回值的约束
11.20 扩展的整数类型
11.2l 对整数类型提升规则的修改
第三部分 C标准库
第12章 链接、库和头部
12.1 链接程序
12.1.1 分别编译
12.1.2 可重定位代码与绝对代码
12.1.3 覆盖链接
12.1.4 DLL链接
12.2 C标准库
12.2.1 库和目标码文件
12.3 头部
12.3.1 头部文件中的宏
12.4 重新定义库函数
第13章 I/O函数
13.1 clearerr
13.1.1 例子
13.1.2 有关函数
13.2 fclose
13.2.1 例子
13.2.2 有关函数
13.3 feof
13.3.1 例子
13.3.2 有关函数
13.4 ferror
13.4.1 例子
13.4.2 有关函数
13.5 fflush
13.5.1 例子
13.5.2 有关函数
13.6 fgetc
13.6.1 例子
13.6.2 有关函数
13.7 fgetpos
13.7.1 例子
13.7.2 有关函数
13.8 fgets
13.8.1 例子
13.8.2 有关函数
13.9 fopen
13.9.1 例子
13.9.2 有关函数
13.10 fprintf
13.10.1 例子
13.10.2 有关函数
13.11 fputc
13.11.1 例子
13.11.2 有关函数
13.12 fputs
13.12.1 例子
13.12.2 有关函数
13.13 fread
13.13.1 例子
13.13.2 有关函数
13.14 freopen
13.14.1 例子
13.14.2 有关函数
13.15 fscanf
13.15.1 例子
13.15.2 有关函数
13.16 fseek
13.16.1 例子
13.16.2 有关函数
13.17 fsetpos
13.17.1 例子
13.17.2 有关函数
13.18 ftell
13.18.1 例子
13.18.2 有关函数
13.19 fwrite
13.19.1 例子
13.19.2 有关函数
13.20 getc
13.2D.1 例子
13.20.2 有关函数
13.21 getchar
13.21.1 例子
13.21.2 有关函数
13.22 gets
13.22.1 例子
13.22.2 有关函数
13.23 Perror
13.23.1 例子
13.24 printf
13.24.1 C99为printf()增加的格式修饰符
13.24.2 例子
13.24.3 有关函数
13.25 putc
13.25.1 例子
13.25.2 有关函数
13.26 putchar
13.26.1 例子
13.26.2 有关函数
13.27 puts
13.27.1 例子
13.27.2 有关函数
13.28 remove
13.28.1 例子
13.28.2 有关函数
13.29 rename
13.29.1 例子
13.29.2 有关函数
13.30 rewind
13.30.1 例子
13.30.2 有关函数
13.31 scanf
13.31.1 C99为scanf()增加的格式修饰符
13.31.2 例子
13.31.3 有关函数
13.32 setbuf
13.32.1 例子
13.32.2 有关函数
13.33 setvbuf
13.33.1 例子
13.33.2 有关函数
13.34 snprintf
13.34.1 有关函数
13.35 sprintf
13.35.1 例子
13.35.2 有关函数
13.36 sscanf
13.36.1 例子
13.36.2 有关函数
13.37 tmpfile
13.37.1 例子
13.37.2 有关函数
13.38 tmpnam
13.38.1 例子
13.38.2 有关函数
13.39 ungetc
13.39.1 例子
13.39.2 有关函数
13.40 vpirintf、vfprintf、vsprintf及vsnprintf
13.40.1 例子
13.40.2 有关函数
13.41 vscanf、vfscanf及vsscanf
13.41.1 有关函数
第14章 串和字符函数
14.1 isalnum
14.1.1 例子
14.1.2 有关函数
14.2 isalpha
14.2.1 例子
14.2.2 有关函数
14.3 isblank
14.3.1 例子
14.3.2 有关函数
14.4 iscntrl
14.4.1 例子
14.4.2 有关函数
14.5 isdigit
14.5.1 例子
14.5.2 有关函数
14.6 isgraph
14.6.1 例子
14.6.2 有关函数
14.7 islower
14.7.1 例子
14.7.2 有关函数
14.8 isprint
14.8.1 例子
14.8.2 有关函数
14.9 ispunct
14.9.1 例子
14.9.2 有关函数
14.10 isspace
14.10.1 例子
14.10.2 有关函数
14.11 isupper
14.11.1 例子
14.11.2 有关函数
14.12 isxdigit
14.12.1 例子
14.12.2 有关函数
14.13 memchr
14.13.1 例子
14.13.2 有关函数
14.14 memcmp
14.14.1 例子
14.14.2 有关函数
14.15 emecpy
14.15.1 例子
14.15.2 有关函数
14.16 memmove
14.16.1 例子
14.16.2 有关函数
14.17 memset
14.17.1 例子
14.17.2 有关函数
14.18 strcat
14.18.1 例子
14.18.2 有关函数
14.19 strchr
14.19.1 例子
14.19.2 有关函数
14.20 strcmp
14.20.1 例子
14.20.2 有关函数
14.21 strcoll
14.21.1 例子
14.21.2 有关函数
14.22 strcpy
14.22.1 例子
14.22.2 有关函数
14.23 strcspn
14.23.1 例子
14.23.2 有关函数
14.24 strerror
14.24.1 例子
14.25 strlen
14.25.1 例子
14.25.2 有关函数
14.26 strncat
14.26.1 例子
14.26.2 有关函数
14.27 strncmp
14.27.1 例子
14.27.2 有关函数
14.28 strncpy
14.28.1 例子
14.28.2 有关函数
14.29 strpbrk
14.29.1 例子
14. 29.2 有关函数
14.30 strrchr
14.30.1 例子
14.30.2 有关函数
14.31 strspn
14.31.1 例子
14.31.2 有关函数
14.32 strstr
14.32.1 例子
14.32.2 有关函数
14.33 strtok
14.33.1 例子
14.33.2 有关函数
14.34 strxfrm
14.34.1 例子
14.34.2 有关函数
14.35 tolower
14.35.1 例子
14.35.2 有关函数
14.36 toupper
14.36.1 例子
14.36.2 有关函数
第15章 数学函数
15.1 acos
15.1.1 例子
15.1.2 有关函数
15.2 acosh
15.2.1 有关函数
15.3 asin
15.3.1 例子
15.3.2 有关函数
15.4 asinh
15.4.1 有关函数
15.5 atan
15.5.1 例子
15.5.2 有关函数
15.6 atanh
15.6.1 有关函数
15.7 atan2
15.7.1 例子
15.7.2 有关函数
15.8 cbrt
15.8.1 例子
15.8.2 有关函数
15.9 ceil
15.9.1 例子
15.9.2 有关函数
15.10 copysign
15.10.1 有关函数
15.11 cos
15.11.1 例子
15.11.2 有关函数
15. 12 cosh
15.12.1 例子
15.12.2 有关函数
15.1 erf
15.13.1 有关函数
15.14 erfc
15.14.1 有关函数
15.15 exp
15.15.1 例子
15.15.2 有关函数
15.16 exp2
15.16.1 有关函数
15.17 expml
15.17.1 有关函数
15.18 fabs
15.18.1 例子
15. 18. 2 有关函数
15.19 fdim
15.19.1 有关函数
15.20 floor
15.20.1 例子
15.20.2 有关函数
15.21 fma
15.21.1 有关函数
15.22 fmax
15.22.1 有关函数
15.23 fmin
15.23.1 有关函数
15.24 fmod
15.24.1 例子
15.24.2 有关函数
15.25 frexp
15.25. 1 例子
15.25.2 有关函数
15.26 hypot
15.26.1 有关函数
15.27 ilogb
15.27.1 有关函数
15.28 ldexp
15.28.1 例子
15.28.2 有关函数
15.29 Imamma
15.29.1 有关函数
15.30 llrint
15.30.1 有关函数
15.31 llround
15.31.1 有关函数
15.32 log
15.32.1 例子
15.32.2 有关函数
15.33 loglp
15.33.1 有关函数
15.34 log10
15.34.1 例子
15.34.2 有关函数
15.35 log2
15.35.1 有关函数
15.36 logb
15. 36. 1 有关函数
15.37 lrint
15.37.1 有关函数
15.38 lround
15.38. 1 有关函数
15.39 modef
15.39. 1 例子
15.39. 2 有关函数
15.40 nan
15.40.1 有关函数
15.41 nearbyint
15.41.1 有关函数
15.42 nextafter
15. 42.1 有关函数
15.43 nexttoward
15.43.1 有关函数
15.44 pow
15.44.1 例子
15.44.2 有关函数
15.45 remainder
15.45. 1 有关函数
15.46 remquo
15.46.1 有关函数
15.47 rint
15.47.1 有关函数
15.48 round
15.48.1 有关函数
15.49 scalbln
15.49.1 有关函数
15.50 scalbn
15.50.1 有关函数
15.51 sin
15.51.1 例子
15.51.2 有关函数
15.52 sinh
15.52.1 例子
15.52.2 有关函数
15.53 sqrt
15.53.1 例子
15.53.2 有关函数
15.54 tan
15.54.1 例子
15.54.2 有关函数
15.55 tanh
15.55.1 例子
15.55.2 有关函数
15.56 tgamma
15.56.1 有关函数
15.57 trunc
15.57.1 有关函数
第16章 时间、日期和本地化函数
16.1 asctime
16.1. 1 例子
16.1.2 有关函数
16.2 clock
16.2.1 例子
16.2.2 有关函数
16.3 ctime
16.3.1 例子
16.3.2 有关函数
16.4 difftime
16.4.1 例子
16.4.2 有关函数
16.5 gmtime
16.5.1 例子
16.5.2 有关函数
16.6 localeconv
16.6.1 例子
16.6.2 有关函数
16.7 localtime
16.7.1 例子
16.7.2 有关函数
16.8 mktime
16.8.1 例子
16.8.2 有关函数
16.9 setlocale
16.9.1 例子
16.9.2 有关函数
16.10 strftime
16.10.1 例子
16.10.2 有关函数
16.11 time
16.11.1 例子
16.11.2 有关函数
第17章 动态分配函数
17.10 calloc
17.1.1 有关函数
17.2 free
17.2.1 例子
17.2.2 有关函数
17.3 malloc
17.3.1 例子
17.3.2 有关函数
17.4 realloc
17.4.1 例子
17.4.2 有关函数
第18章 工具函数
18.1 abort
18.1.1 例子
18.1.2 有关函数
18.2 abs
18.2.1 例子
18.2.2 有关函数
18.3 assert
18.3.1 例子
18.3.2 有关函数
18.4 atexit
18.4.1 例子
18.4.2 有关函数
18.5 atof
18.5.1 例子
18.5.2 有关函数
18.6 atoi
18.6.1 例子
18.6.2 有关函数
18.7 atol
18.7.1 例子
18.7.2 有关函数
18.8 atoll
18.8.1 有关函数
18.9 bsearch
18.9.1 例子
18.9.2 有关函数
18.10 div
18.10.1 例子
18.10.2 有关函数
18.11 exit
18.11.1 例子
媒体评论