图书介绍

C语言参考手册 原书 第5版PDF|Epub|txt|kindle电子书版本网盘下载

C语言参考手册 原书 第5版
  • (美)哈比森著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111235916
  • 出版时间:2008
  • 标注页数:401页
  • 文件大小:21MB
  • 文件页数:415页
  • 主题词:C语言-程序设计-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C语言参考手册 原书 第5版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 C语言1

第1章 概述1

1.1 C语言的演变1

1.1.1 传统C1

1.1.2 标准C(1989)2

1.1.3 标准C(1995)2

1.1.4 标准C(1999)2

1.1.5 标准C++3

1.1.6 本书内容3

1.2 应该使用哪种C语言3

1.3 C编程概述4

1.4 一致性5

1.5 语法约定6

第2章 词法元素7

2.1 字符集7

2.1.1 执行字符集8

2.1.2 空白字符和行终止符8

2.1.3 字符编码9

2.1.4 三字符组9

2.1.5 多字节字符和宽字符10

2.2 注释12

2.3 标记13

2.4 操作符和分隔符14

2.5 标识符14

2.6 关键字16

2.7 常量17

2.7.1 整数常量17

2.7.2 浮点数常量21

2.7.3 字符常量22

2.7.4 字符串常量24

2.7.5 转义字符26

2.7.6 字符转义码27

2.7.7 数值转义码28

2.8 C++兼容性28

2.8.1 字符集29

2.8.2 注释29

2.8.3 操作符29

2.8.4 标识符和关键字29

2.8.5 字符常量29

2.9 关于字符集、指令集和编码29

2.10 练习31

第3章 C预处理器33

3.1 预处理器命令33

3.2 预处理器词法约定34

3.3 定义和替换35

3.3.1 类似对象的宏定义35

3.3.2 定义带参数的宏36

3.3.3 宏表达式的重新扫描38

3.3.4 预定义的宏39

3.3.5 取消宏定义和重新定义宏41

3.3.6 宏展开的优先级错误41

3.3.7 宏参数的副作用42

3.3.8 把标记转换为字符串42

3.3.9 宏展开中的标记合并43

3.3.10 宏的可变参数列表44

3.3.11 其他问题45

3.4 文件包含45

3.5 条件编译47

3.5.1 #if、#else和#endif命令47

3.5.2 #elif命令48

3.5.3 #ifdef和#ifndef命令49

3.5.4 条件命令中的常量表达式50

3.5.5 defined操作符51

3.6 显式的行号51

3.7 pragma指令52

3.7.1 标准pragma命令52

3.7.2 标准pragma指令的位置53

3.7.3 _Pragma操作符53

3.8 错误指令53

3.9 C++兼容性54

3.10 练习54

第4章 声明56

4.1 声明的组织形式56

4.2 术语57

4.2.1 作用域57

4.2.2 可见性58

4.2.3 前向引用58

4.2.4 名称的重载59

4.2.5 重复声明60

4.2.6 重复可见性61

4.2.7 范围61

4.2.8 初始值62

4.2.9 外部名称63

4.2.10 编译时名称64

4.3 存储类别和函数指定符64

4.3.1 默认存储类别指定符65

4.3.2 存储类别指定符的例子65

4.3.3 函数指定符66

4.4 类型指定符和限定符66

4.4.1 默认类型指定符67

4.4.2 缺失的声明器68

4.4.3 类型限定符69

4.4.4 const69

4.4.5 volatile和序列点71

4.4.6 restrict73

4.5 声明器74

4.5.1 简单声明器74

4.5.2 指针声明器75

4.5.3 数组声明器76

4.5.4 函数声明器77

4.5.5 声明器的组合79

4.6 初始化值80

4.6.1 整数81

4.6.2 浮点数82

4.6.3 指针82

4.6.4 数组83

4.6.5 枚举85

4.6.6 结构85

4.6.7 联合86

4.6.8 省略花括号87

4.6.9 指定成员的初始化值87

4.7 隐式声明88

4.8 外部名称89

4.8.1 初始化值模型89

4.8.2 省略的存储类别模型89

4.8.3 公共模型89

4.8.4 混合公共模型90

4.8.5 总结和建议90

4.8.6 未引用的外部声明91

4.9 C++兼容性91

4.9.1 作用域91

4.9.2 标签和typedef名称91

4.9.3 用于类型的存储类别指定符92

4.9.4 const类型限定符92

4.9.5 初始化值92

4.9.6 隐式声明92

4.9.7 定义和引用声明93

4.9.8 函数链接93

4.9.9 无参函数93

4.10 练习93

第5章 类型96

5.1 整数类型97

5.1.1 有符号整数类型97

5.1.2 无符号整数类型100

5.1.3 字符类型101

5.1.4 扩展整数类型103

5.1.5 布尔类型103

5.2 浮点类型103

5.3 指针类型107

5.3.1 通用指针108

5.3.2 null指针和非法指针108

5.3.3 使用指针的一些警告109

5.4 数组类型110

5.4.1 数组和指针110

5.4.2 多维数组111

5.4.3 数组边界111

5.4.4 操作112

5.4.5 可变长度的数组112

5.5 枚举类型114

5.6 结构类型116

5.6.1 结构类型引用118

5.6.2 结构上的操作119

5.6.3 成员119

5.6.4 结构成员的布局121

5.6.5 位段121

5.6.6 移植性问题123

5.6.7 结构的大小124

5.6.8 灵活数组成员125

5.7 联合类型126

5.7.1 联合成员的布局126

5.7.2 联合的大小127

5.7.3 使用联合类型128

5.7.4 (其他)使用联合类型129

5.8 函数类型130

5.9 void类型132

5.10 typedef名称132

5.10.1 用于函数类型的typedef名称134

5.10.2 重定义typedef名称134

5.10.3 编译器的说明135

5.11 类型兼容性135

5.11.1 等价的类型135

5.11.2 枚举兼容性136

5.11.3 数组兼容性137

5.11.4 函数兼容性137

5.11.5 结构和联合兼容性138

5.11.6 指针兼容性138

5.11.7 源文件之间的兼容性138

5.12 类型名称和抽象声明器138

5.13 C++兼容性140

5.13.1 枚举类型140

5.13.2 typedef名称140

5.13.3 类型兼容性140

5.14 练习140

第6章 转换和表示形式143

6.1 表示形式143

6.1.1 存储单位和数据长度143

6.1.2 字节顺序144

6.1.3 对齐限制145

6.1.4 指针的长度146

6.1.5 地址模型的效果146

6.1.6 类型表示形式148

6.2 转换149

6.2.1 表示形式的变化149

6.2.2 细微的转换149

6.2.3 转换为整数类型149

6.2.4 转换为浮点类型151

6.2.5 转换为结构和联合类型151

6.2.6 转换为枚举类型151

6.2.7 转换为指针类型151

6.2.8 转换为数组和函数类型152

6.2.9 转换为void类型152

6.3 寻常转换153

6.3.1 类型转换153

6.3.2 赋值转换153

6.3.3 寻常单目转换154

6.3.4 寻常双目转换156

6.3.5 默认的函数实参转换157

6.3.6 其他函数转换158

6.4 C++兼容性158

6.5 练习158

第7章 表达式160

7.1 对象、左值和指示符160

7.2 表达式和优先级161

7.2.1 操作符的优先级和结合性161

7.2.2 溢出和其他算术异常162

7.3 基本表达式163

7.3.1 名称163

7.3.2 字面值164

7.3.3 带括号的表达式164

7.4 后缀表达式165

7.4.1 下标表达式165

7.4.2 成员选择167

7.4.3 函数调用168

7.4.4 后缀增值和减值操作符170

7.4.5 复合字面值171

7.5 单目表达式172

7.5.1 类型转换173

7.5.2 sizeof操作符173

7.5.3 单目负号和正号175

7.5.4 逻辑反175

7.5.5 位反176

7.5.6 取地址操作符176

7.5.7 间接访问177

7.5.8 前缀增值和减值操作符178

7.6 双目操作符表达式179

7.6.1 乘除操作符179

7.6.2 加减操作符181

7.6.3 移位操作符182

7.6.4 关系操作符184

7.6.5 相等操作符185

7.6.6 位操作符187

7.6.7 整数集合的例子188

7.7 逻辑操作符表达式191

7.8 条件表达式193

7.9 赋值表达式194

7.9.1 简单赋值195

7.9.2 复合赋值196

7.10 线性表达式196

7.11 常量表达式197

7.11.1 预处理器常量表达式198

7.11.2 整型常量表达式199

7.11.3 初始化值常量表达式199

7.12 求值的顺序200

7.13 被丢弃的值201

7.14 内存访问的优化202

7.15 C++兼容性203

7.16 练习203

第8章 语句205

8.1 语句的基本语法规则205

8.2 表达式语句206

8.3 标签语句206

8.4 复合语句207

8.5 条件语句209

8.5.1 多路条件语句209

8.5.2 悬疑的else问题210

8.6 迭代式语句211

8.6.1 while语句211

8.6.2 do语句212

8.6.3 for语句213

8.6.4 使用for语句214

8.6.5 多个控制变量216

8.7 switch语句217

8.8 break和continue语句219

8.9 return语句221

8.10 goto语句222

8.11 空语句223

8.12 C++兼容性223

8.12.1 复合语句223

8.12.2 循环中的声明223

8.13 练习224

第9章 函数225

9.1 数定义225

9.2 函数原型227

9.2.1 原型出现在什么时候229

9.2.2 混合使用原型和非原型声明229

9.2.3 合理地使用原型230

9.2.4 原型和调用约定230

9.2.5 标准C和传统C的兼容性232

9.3 形式参数声明232

9.4 形参类型的调整234

9.5 参数传递约定235

9.6 形参的一致236

9.7 函数的返回类型237

9.8 返回类型的一致238

9.9 main函数238

9.10 内联函数239

9.11 C++兼容性241

9.11.1 原型241

9.11.2 形参和返回类型中的类型声明241

9.11.3 返回类型的一致241

9.11.4 main241

9.11.5 内联242

9.12 练习242

第二部分 C函数库第10章 函数库简介245

10.1 标准C工具245

10.2 C++兼容性244

10.3 库头文件和名称248

10.3.1 assert.h248

10.3.2 complex.h248

10.3.3 ctype.h248

10.3.4 errno.h248

10.3.5 fenv.h248

10.3.6 float.h249

10.3.7 inttypes.h249

10.3.8 iso64.h249

10.3.9 limits.h249

10.3.10 locale.h249

10.3.11 math.h250

10.3.12 setjmp.h251

10.3.13 signal.h251

10.3.14 stdarg.h251

10.3.15 stdbool.h251

10.3.16 stddef.h251

10.3.17 stdint.h251

10.3.18 stdio.h251

10.3.19 stdlib.h252

10.3.20 string.h252

10.3.21 tgmath.h252

10.3.22 time.h253

10.3.23 wchar.h253

10.3.24 wctype.h253

第11章 标准语言附加254

11.1 NULL、ptrdiff_t、size_t、offsetof254

11.2 EDOM、ERANGE、EILSEQ、errno、strerror、perror255

11.3 bool、false、true256

11.4 va_list、va_start、va_arg、va_end257

11.5 标准C的操作符宏260

第12章 字符处理261

12.1 isalnum、isalpha、iscntrl、iswalnum、iswalpha iswcntrl261

12.2 iscsym iscsymf263

12.3 isdigit、isodigit、isxdigit、iswdigit、iswxdigit263

12.4 isgraph、isprint、ispunct、iswgraph、iswprint、iswpunct264

12.5 islower、isupper、iswlower、iswupper265

12.6 isblank、isspace、iswhite、iswspace265

12.7 toascii266

12.8 toint266

12.9 tolower、toupper、towlower、towupper266

12.10 wctype_t、wctype、iswctype267

12.11 wctrans_t、wctrans268

第13章 字符串处理269

13.1 strcat、strncat、wcscat、wcsncat269

13.2 strcmp、strncmp、wcscmp、wcsncmp270

13.3 strcpy、strncpy、wcscpy、cscncpy271

13.4 strlen、wcslen272

13.5 strchr、strrchr、wcschr、wcsrchr272

13.6 strspn、strcspn、strpbrk、strrpbrk、wcsspn、wcscspn、wcspbrk273

13.7 strstr、strtok、wcsstr、wcstok274

13.8 strtod、strtof、strtold、strtol、strtoll、strtoul、strtoull275

13.9 atof、atoi、atol、atoll276

13.10 strcoll、strxfrm、wcscoll、wcsxfrm276

第14章 内存函数278

14.1 memchr、wmemchr278

14.2 memcmp、wmemcmp278

14.3 memcpy、memccpy、memmove、wmemcpy、wmemmove279

14.4 memset、wmemset280

第15章 输入/输出工具281

15.1 FILE、EOF、wchar_t、WEOF282

15.2 fopen、fclose、fflush、freopen、fwide283

15.2.1 文件模式284

15.2.2 文件的定向285

15.3 setbuf、setvbuf286

15.4 stdin、stdout、stderr286

15.5 fseek、ftell、rewind、fgetpos、fsetpos287

15.5.1 fseek和ftell287

15.5.2 fgetpos和fsetpos289

15.6 fgetc、fgetwc、getc、getwc、getchar、getwchar、ungetc、ungetwc289

15.7 fgets、fgetws、gets290

15.8 fscanf、fwscanf、scanf、wscanf、sscanf swscanf291

15.8.1 控制字符串292

15.8.2 转换规范292

15.9 fputc、fputwc、putc、putwc、putchar、putwchar297

15.10 fputs、fputws、puts298

15.11 fprintf、printf、sprintf、snprintf、fwprintf、wprintf、swprintf298

15.11.1 输出格式299

15.11.2 转换规范300

15.11.3 转换标志300

15.11.4 最小字段宽度301

15.11.5 精度302

15.11.6 长度规范302

15.11.7 转换操作303

15.12 v[x]printf v[x]scanf310

15.13 fread、fwrite311

15.14 feof、ferror、clearerr312

15.15 remove、rename313

15.16 tmpfile、tmpnam、mktemp313

第16章 基本工具315

16.1 malloc、calloc、mlalloc、clalloc、free、cfree315

16.2 rand、srand、RAND_MAX317

16.3 atof、atoi、atol、atoll318

16.4 strtod、strtof、strtold、strtol、strtoll、strtoul strtoull318

16.5 abort、atexit、exit、_Exit、EXIT_FAILURE、EXIT_SUCCESS320

16.6 getenv321

16.7 system322

16.8 bsearch、qsort322

16.9 abs、labs、llabs、div、ldiv、lldiv324

16.10 mblen、mbtowc、wctomb326

16.10.1 编码和转换状态326

16.10.2 长度函数326

16.10.3 转换为宽字符326

16.10.4 宽字符转换为多字节字符327

16.11 mbstowcs、wcstombs327

16.11.1 转换为宽字符串327

16.11.2 从宽字符串转换为多字节字符328

第17章 数学函数330

17.1 abs、lbas、llabs、div、ldiv、lldiv330

17.2 fabs331

17.3 ceil、floor、lrint、llrint、lround、llround、nearbyint、round、rint、trunc331

17.4 fmod、remainder、remquo332

17.5 frexp、ldexp、modf、scalbn332

17.6 exp、exp2、expm1、ilogb、log、log10、log1p、log2、logb333

17.7 cbrt、fma、hypot、pow、sqrt334

17.8 rand、srand、RAND_MAX335

17.9 cos、sin、tan、cosh、sinh、tanh335

17.10 acos、asin、atan、atan2、acosh、asinh、atanh336

17.11 fdim、fmax、fmin337

17.12 类型通用的宏337

17.13 erf、erfc、lgamma、tgamma340

17.14 fpclassify、isfinite、isinf、isnan、isnormal、signbit341

17.15 copysign、nan、nextafter、nexttoward342

17.16 isgreater、isgreaterequal、isless、islessequal、islessgreater、isunordered342

第18章 时间和日期函数344

18.1 clock、clock_t、CLOCKS_PER_SEC、times344

18.2 time、time_t345

18.3 asctime、ctime345

18.4 gmtime、localtime、mktime346

18.5 difftime347

18.6 strtime、wcsftime348

第19章 控制函数351

19.1 assert、NDEBUG351

19.2 system、exec351

19.3 exit、abort352

19.4 setjmp、longjmp、jmp_buf352

19.5 atexit353

19.6 signal、raise、gsignal、ssignal、psignal353

19.7 sleep、alarm355

第20章 区域356

20.1 setlocale356

20.2 localeconv357

第21章 扩展整数类型360

21.1 基本规则360

21.1.1 类型的种类360

21.1.2 要么都定义,要么都不定义360

21.1.3 MIN和MAX限制360

21.1.4 PRI…和SCN…格式字符串宏361

21.2 固定长度的整数类型362

21.3 具有最小宽度的最小长度类型363

21.4 具有最小宽度的快速类型363

21.5 指针长度和最大长度整数类型364

21.6 ptrdiff_t、size_t、wchar_t、wint_t和sig_atomic_t的范围365

21.7 imaxabs、imaxdiv、imaxdiv_t365

21.8 strtoimax、strtouimax366

21.9 wcstoimax、wcstoumax366

第22章 浮点环境367

22.1 介绍367

22.2 浮点环境368

22.3 浮点异常368

22.4 浮点四舍五入模式369

22.5 浮点表达式收缩370

第23章 复数运算371

23.1 复数函数库约定371

23.2 complex、_Complex_I、imaginary、_Imaginary_I、I371

23.3 CX_LIMITED_RANGE371

23.4 cacos、casin、catan、ccos、csin、ctan372

23.5 cacosh、casinh、catanh、ccosh、csinh、ctanh373

23.6 cexp、clog、cabs、cpow、csqrt373

23.7 carg、cimag、creal、conj、cproj374

第24章 宽字符和多字节字符工具376

24.1 基本类型和宏376

24.2 宽字符和多字节字符之间的转换376

24.3 宽字符串和多字节字符串之间的转换378

24.4 转换为算术类型379

24.5 输入和输出函数379

24.6 字符串函数380

24.7 日期和时间转换381

24.8 宽字符分类和映射函数381

附录A ASCII字符集382

附录B 语法383

附录C 练习答案395

热门推荐