图书介绍

C语言参考手册 原书第5版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

C语言参考手册 原书第5版
  • (美)哈比森等著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111346845
  • 出版时间:2011
  • 标注页数:404页
  • 文件大小:20MB
  • 文件页数:418页
  • 主题词: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语言2

第1章 概述2

1.1 C语言的演变2

1.1.1传统C2

1.1.2标准C(1989)2

1.1.3标准C(1995)3

1.1.4标准C(1999)3

1.1.5标准C++++4

1.1.6本书内容4

1.2应该使用哪种C语言4

1.3 C编程概述5

1.4一致性6

1.5语法约定7

第2章 词法元素8

2.1字符集8

2.1.1执行字符集9

2.1.2空白字符和行终止符9

2.1.3字符编码10

2.1.4三字符组10

2.1.5多字节字符和宽字符11

2.2注释13

2.3标记14

2.4操作符和分隔符15

2.5标识符15

2.6关键字17

2.7常量18

2.7.1整数常量18

2.7.2浮点数常量22

2.7.3字符常量23

2.7.4字符串常量25

2.7.5转义字符27

2.7.6字符转义码28

2.7.7数值转义码29

2.8 C++兼容性29

2.8.1字符集30

2.8.2注释30

2.8.3操作符30

2.8.4标识符和关键字30

2.8.5字符常量30

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

2.10练习32

第3章 C预处理器34

3.1预处理器命令34

3.2预处理器词法约定35

3.3定义和替换36

3.3.1类似对象的宏定义36

3.3.2定义带参数的宏37

3.3.3宏表达式的重新扫描39

3.3.4预定义的宏40

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

3.3.6宏展开的优先级错误42

3.3.7宏参数的副作用43

3.3.8把标记转换为字符串43

3.3.9宏展开中的标记合并44

3.3.10宏的可变参数列表45

3.3.11其他问题46

3.4文件包含46

3.5条件编译48

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

3.5.2 #elif命令49

3.5.3 #ifdef和#ifndef命令50

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

3.5.5 defined操作符52

3.6显式的行号52

3.7 pragma指令53

3.7.1标准pragma命令53

3.7.2标准pragma指令的位置54

3.7.3_Pragma操作符54

3.8错误指令54

3.9 C++兼容性55

3.10练习55

第4章 声明57

4.1声明的组织形式57

4.2术语58

4.2.1作用域58

4.2.2可见性59

4.2.3前向引用59

4.2.4名称的重载60

4.2.5重复声明61

4.2.6重复可见性62

4.2.7范围62

4.2.8初始值63

4.2.9外部名称64

4.2.10编译时名称65

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

4.3.1默认存储类别指定符66

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

4.3.3函数指定符67

4.4类型指定符和限定符67

4.4.1默认类型指定符68

4.4.2缺失的声明器69

4.4.3类型限定符70

4.4.4 const70

4.4.5 volatile和序列点72

4.4.6 restrict74

4.5声明器75

4.5.1简单声明器75

4.5.2指针声明器76

4.5.3数组声明器77

4.5.4函数声明器78

4.5.5声明器的组合80

4.6初始化值81

4.6.1整数82

4.6.2浮点数83

4.6.3指针83

4.6.4数组84

4.6.5枚举86

4.6.6结构86

4.6.7联合87

4.6.8省略花括号88

4.6.9指定成员的初始化值88

4.7隐式声明89

4.8外部名称90

4.8.1初始化值模型90

4.8.2省略的存储类别模型90

4.8.3公共模型90

4.8.4混合公共模型91

4.8.5总结和建议91

4.8.6未引用的外部声明92

4.9 C++兼容性92

4.9.1作用域92

4.9.2标签和typedef名称92

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

4.9.4 const类型限定符93

4.9.5初始化值93

4.9.6隐式声明93

4.9.7定义和引用声明94

4.9.8函数链接94

4.9.9无参函数94

4.10练习94

第5章 类型97

5.1整数类型98

5.1.1有符号整数类型98

5.1.2无符号整数类型101

5.1.3字符类型102

5.1.4扩展整数类型104

5.1.5布尔类型104

5.2浮点类型104

5.3指针类型108

5.3.1通用指针109

5.3.2 null指针和非法指针109

5.3.3使用指针的一些警告110

5.4数组类型111

5.4.1数组和指针111

5.4.2多维数组112

5.4.3数组边界112

5.4.4操作113

5.4.5可变长度的数组113

5.5枚举类型115

5.6结构类型117

5.6.1结构类型引用119

5.6.2结构上的操作120

5.6.3成员120

5.6.4结构成员的布局122

5.6.5位段122

5.6.6移植性问题124

5.6.7结构的大小125

5.6.8灵活数组成员126

5.7联合类型127

5.7.1联合成员的布局127

5.7.2联合的大小128

5.7.3使用联合类型129

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

5.8函数类型131

5.9 void类型133

5.10 typedef名称133

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

5.10.2重定义typedef名称135

5.10.3编译器的说明136

5.11类型兼容性136

5.11.1等价的类型136

5.11.2枚举兼容性137

5.11.3数组兼容性138

5.11.4函数兼容性138

5.11.5结构和联合兼容性139

5.11.6指针兼容性139

5.11.7源文件之间的兼容性139

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

5.13 C++兼容性141

5.13.1枚举类型141

5.13.2 typedef名称141

5.13.3类型兼容性141

5.14练习141

第6章 转换和表示形式144

6.1表示形式144

6.1.1存储单位和数据长度144

6.1.2字节顺序145

6.1.3对齐限制146

6.1.4指针的长度147

6.1.5地址模型的效果147

6.1.6类型表示形式149

6.2转换150

6.2.1表示形式的变化150

6.2.2细微的转换150

6.2.3转换为整数类型150

6.2.4转换为浮点类型152

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

6.2.6转换为枚举类型152

6.2.7转换为指针类型152

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

6.2.9转换为void类型153

6.3寻常转换154

6.3.1类型转换154

6.3.2赋值转换154

6.3.3寻常单目转换155

6.3.4寻常双目转换157

6.3.5默认的函数实参转换158

6.3.6其他函数转换159

6.4 C++兼容性159

6.5练习159

第7章 表达式161

7.1对象、左值和指示符161

7.2表达式和优先级162

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

7.2.2溢出和其他算术异常163

7.3基本表达式164

7.3.1名称164

7.3.2字面值165

7.3.3带括号的表达式165

7.4后缀表达式166

7.4.1下标表达式166

7.4.2成员选择168

7.4.3函数调用169

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

7.4.5复合字面值172

7.5单目表达式173

7.5.1类型转换174

7.5.2 sizeof操作符174

7.5.3单目负号和正号176

7.5.4逻辑反176

7.5.5位反177

7.5.6取地址操作符177

7.5.7间接访问178

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

7.6双目操作符表达式180

7.6.1乘除操作符180

7.6.2加减操作符182

7.6.3移位操作符183

7.6.4关系操作符185

7.6.5相等操作符186

7.6.6位操作符188

7.6.7整数集合的例子189

7.7逻辑操作符表达式192

7.8条件表达式194

7.9赋值表达式195

7.9.1简单赋值196

7.9.2复合赋值197

7.10线性表达式197

7.11常量表达式198

7.11.1预处理器常量表达式199

7.11.2整型常量表达式200

7.11.3初始化值常量表达式200

7.12求值的顺序201

7.13被丢弃的值202

7.14内存访问的优化203

7.15C++兼容性204

7.16练习204

第8章 语句206

8.1语句的基本语法规则206

8.2表达式语句207

8.3标签语句207

8.4复合语句208

8.5条件语句210

8.5.1多路条件语句210

8.5.2悬疑的else问题211

8.6迭代式语句212

8.6.1 while语句212

8.6.2 do语句213

8.6.3 for语句214

8.6.4使用for语句215

8.6.5多个控制变量217

8.7 switch语句218

8.8 break和continue语句220

8.9 return语句222

8.10 goto语句223

8.11空语句224

8.12 C++兼容性224

8.12.1复合语句224

8.12.2循环中的声明224

8.13练习225

第9章 函数226

9.1函数定义226

9.2函数原型228

9.2.1原型出现在什么时候230

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

9.2.3合理地使用原型231

9.2.4原型和调用约定231

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

9.3形式参数声明233

9.4形参类型的调整235

9.5参数传递约定236

9.6形参的一致237

9.7函数的返回类型238

9.8返回类型的一致239

9.9 main函数239

9.10内联函数240

9.11 C++兼容性242

9.11.1原型242

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

9.11.3返回类型的一致242

9.11.4 main242

9.11.5内联243

9.12练习243

第二部分 C函数库246

第10章 函数库简介246

10.1 标准C工具246

10.2 C++兼容性247

10.3库头文件和名称249

10.3.1 assert.h249

10.3.2 complex.h249

10.3.3 ctype.h249

10.3.4 errno.h249

10.3.5 fenv.h249

10.3.6 float.h250

10.3.7 inttypes.h250

10.3.8 iso64.h250

10.3.9 limits.h250

10.3.10 locale.h250

10.3.11 math.h251

10.3.12 setjmp.h252

10.3.13 signal.h252

10.3.14 stdarg.h252

10.3.15 stdbool.h252

10.3.16 stddef.h252

10.3.17 stdint.h252

10.3.18 stdio.h252

10.3.19 stdlib.h253

10.3.20 string.h253

10.3.21 tgmath.h253

10.3.22 time.h254

10.3.23 wchar.h254

10.3.24 wctype.h254

第11章 标准语言附加255

11.1 NULL、ptrdiff_t、size_t、offsetof255

11.2 EDOM、ERANGE、EILSEQ、errno、strerror、perror256

11.3 bool、false、true257

11.4 va_list、va_start、va_arg、va_end258

11.5标准C的操作符宏261

第12章 字符处理262

12.1 isalnum、isalpha、iscntrl、iswalnum、iswalpha、iswcntrl262

12.2 iscsym、iscsymf264

12.3 isdigit、isodigit、isxdigit、iswdigit、iswxdigit264

12.4 isgraph、isprint、ispunct、iswgraph、iswprint、iswpunct265

12.5 islower、isupper、iswlower、iswupper266

12.6 isblank、isspace、iswhite、iswspace266

12.7 toascii267

12.8 toint267

12.9 tolower、toupper、towlower、towupper267

12.10 wctype_t、wctype、iswctype268

12.11 wctrans_t、wctrans269

第13章 字符串处理270

13.1 strcat、strncat、wcscat、wcsncat270

13.2 strcmp、strncmp、wcscmp、wcsncmp271

13.3 strcpy、strncpy、wcscpy、cscncpy272

13.4 strlen、wcslen273

13.5 strchr、strrchr、wcschr、wcsrchr273

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

13.7 strstr、strtok、wcsstr、wcstok275

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

13.9 atof、atoi、atol、atoll277

13.10 strcoll、strxfrm、wcscoll、wcsxfrm277

第14章 内存函数279

14.1 memchr、wmemchr279

14.2 memcmp、wmemcmp279

14.3 memcpy、memccpy、memmove、wmemcpy、wmemmove280

14.4 memset、wmemset281

第15章 输入/输出工具282

15.1 FILE、EOF、wchar_t、WEOF283

15.2 fopen、fclose、fflush、freopen、fwide284

15.2.1文件模式285

15.2.2文件的定向286

15.3 setbuf、setvbuf287

15.4 stdin、stdout、stderr287

15.5 fseek、ftell、rewind、fgetpos、fsetpos288

15.5.1 fseek和ftell287

15.5.2 fgetpos和fsetpos290

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

15.7 fgets、fgetws、gets291

15.8 fscanf、fwscanf、scanf、wscanf、sscanf、swscanf292

15.8.1控制字符串293

15.8.2转换规范293

15.9 fputc、fputwc、putc、putwc、putchar、putwchar298

15.10 fputs、fputws、puts299

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

15.11.1输出格式300

15.11.2转换规范301

15.11.3转换标志301

15.11.4最小字段宽度302

15.11.5精度303

15.11.6长度规范303

15.11.7转换操作304

15.12 v[x]printf、v[x]scanf311

15.13 fread、fwrite312

15.14 feof、ferror、clearerr313

15.15 remove、rename314

15.16 tmpfile、tmpnam、mktemp314

第16章 基本工具316

16.1 malloc、calloc、mlalloc、clalloc、free、cfree316

16.2 rand、srand、RAND_MAX318

16.3 atof、atoi、atol、atoll319

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

16.5 abort、atexit、exit、_Exit、EXIT_FAILURE、EXIT_SUCCESS321

16.6 getenv322

16.7 system323

16.8 bsearch、qsort323

16.9 abs、labs、labs、div、ldiv、lldiv325

16.10 mblen、mbtowc、wctomb326

16.10.1编码和转换状态327

16.10.2长度函数327

16.10.3转换为宽字符327

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

16.11 mbstowcs、wcstombs328

16.11.1转换为宽字符串328

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

第17章 数学函数331

17.1 abs、lbas、llabs、div、ldiv、lldiv331

17.2 fabs332

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

17.4 fmod、remainder、remquo333

17.5 frexp、ldexp、modf、scalbn334

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

17.7 cbrt、fma、hypot、pow、sqrt335

17.8 rand、srand、RAND_MAX336

17.9 cos、sin、tan、cosh、sinh、tanh336

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

17.11 fdim、fmax、fmin338

17.12类型通用的宏338

17.13 erf、erfc、lgamma、tgamma341

17.14 fpclassify、isfinite、isinf、isnan、isnormal、signbit342

17.15 copysign、nan、nextafter、nexttoward343

17.16 isgreater、isgreaterequal、isless、islessequal、islessgreater、isunordered343

第18章 时间和日期函数345

18.1 clock、clock_t、CLOCKS_PER_SEC、times345

18.2 time、time_t346

18.3 asctime、ctime346

18.4 gmtime、localtime、mktime347

18.5 difftime348

18.6 strtime、wcsftime349

第19章 控制函数352

19.1 assert、NDEBUG352

19.2 system、exec352

19.3 exit、abort353

19.4 setjmp、longjmp、jmp_buf353

19.5 atexit354

19.6 signal、raise、gsignal、ssignal、psignal354

19.7 sleep、alarm356

第20章 区域357

20.1 setlocale357

20.2 localeconv358

第21章扩展整数类型361

21.1基本规则361

21.1.1类型的种类361

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

21.1.3 MIN和MAX限制361

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

21.2固定长度的整数类型363

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

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

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

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

21.7 imaxabs、imaxdiv、imaxdiv_t366

21.8 strtoimax、strtouimax367

21.9 wcstoimax、wcstoumax367

第22章 浮点环境368

22.1介绍368

22.2浮点环境369

22.3浮点异常369

22.4浮点四舍五入模式370

22.5浮点表达式收缩371

第23章 复数运算372

23.1复数函数库约定372

23.2 complex、_Complex_I、imaginary、_Imaginary_I、I372

23.3 CX_LIMITED_RANGE372

23.4 cacos、casin、catan、ccos、csin、ctan373

23.5 cacosh、casinh、catanh、ccosh、csinh、ctanh374

23.6 cexp、clog、cabs、cpow、csqrt374

23.7 carg、cimag、creal、conj、cproj375

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

24.1基本类型和宏377

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

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

24.4转换为算术类型380

24.5输入和输出函数380

24.6字符串函数381

24.7日期和时间转换382

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

附录A ASCII字符集383

附录B 语法384

附录C 练习答案396

热门推荐