《C PRIMNER PLUS 第6版 英文版 下》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:(美)STEPHEN PRATA著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:7115413512
  • 页数:1004 页
图书介绍:

第12章 存储类别、链接和内存管理 511

存储类别 511

作用域 513

链接 515

存储期 516

自动变量 518

寄存器变量 522

块作用域的静态变量 522

外部链接的静态变量 524

内部链接的静态变量 529

多文件 530

存储类别说明符 530

存储类别和函数 533

存储类别的选择 534

随机数函数和静态变量 534

掷骰子 538

分配内存:malloc()和free() 543

free()的重要性 547

calloc()函数 548

动态内存分配和变长数组 548

存储类别和动态内存分配 549

ANSI C类型限定符 551

const类型限定符 552

volatile类型限定符 554

restrict类型限定符 555

_Atomic类型限定符(C11) 556

旧关键字的新位置 557

关键概念 558

本章小结 558

复习题 559

编程练习 561

第13章 文件输入/输出 565

与文件进行通信 565

文件是什么 566

文本模式和二进制模式 566

I/O的级别 568

标准文件 568

标准I/O 568

检查命令行参数 569

fopen()函数 570

getc()和putc()函数 572

文件结尾 572

fclose()函数 574

指向标准文件的指针 574

一个简单的文件压缩程序 574

文件I/O:fprintf()、fscanf()、fgets()和fputs() 576

fprintf()和fscanf()函数 576

fgets()和fputs()函数 578

随机访问:fseek()和ftell() 579

fseek()和ftell()的工作原理 580

二进制模式和文本模式 582

可移植性 582

fgetpos()和fsetpos()函数 583

标准I/O的机理 583

其他标准I/O函数 584

int ungetc(int c,FILE*fp)函数 585

int fflush()函数 585

int setvbuf()函数 585

二进制I/O:fread()和fwrite() 586

size_t fwrite()函数 588

size_t fread()函数 588

int feof(FILE*fp)和int ferror(FILE*fp)函数 589

一个程序示例 589

用二进制I/O进行随机访问 593

关键概念 594

本章小结 595

复习题 596

编程练习 598

第14章 结构和其他数据形式 601

示例问题:创建图书目录 601

建立结构声明 604

定义结构变量 604

初始化结构 606

访问结构成员 607

结构的初始化器 607

结构数组 608

声明结构数组 611

标识结构数组的成员 612

程序讨论 612

嵌套结构 613

指向结构的指针 615

声明和初始化结构指针 617

用指针访问成员 617

向函数传递结构的信息 618

传递结构成员 618

传递结构的地址 619

传递结构 621

其他结构特性 622

结构和结构指针的选择 626

结构中的字符数组和字符指针 627

结构、指针和malloc() 628

复合字面量和结构(C99) 631

伸缩型数组成员(C99) 633

匿名结构(C11) 636

使用结构数组的函数 637

把结构内容保存到文件中 639

保存结构的程序示例 640

程序要点 643

链式结构 644

联合简介 645

使用联合 646

匿名联合(C11) 647

枚举类型 649

enum常量 649

默认值 650

赋值 650

enum的用法 650

共享名称空间 652

typedef简介 653

其他复杂的声明 655

函数和指针 657

关键概念 665

本章小结 665

复习题 666

编程练习 669

第15章 位操作 673

二进制数、位和字节 674

二进制整数 674

有符号整数 675

二进制浮点数 676

其他进制数 676

八进制 677

十六进制 677

C按位运算符 678

按位逻辑运算符 678

用法:掩码 680

用法:打开位(设置位) 681

用法:关闭位(清空位) 682

用法:切换位 683

用法:检查位的值 683

移位运算符 684

编程示例 685

另一个例子 688

位字段 690

位字段示例 692

位字段和按位运算符 696

对齐特性(C11) 703

关键概念 705

本章小结 706

复习题 706

编程练习 708

第16章 C预处理器和C库 711

翻译程序的第一步 712

明示常量:#define 713

记号 717

重定义常量 717

在#define中使用参数 718

用宏参数创建字符串:#运算符 721

预处理器粘合剂:##运算符 722

变参宏:...和...VA ARGS__ 723

宏和函数的选择 725

文件包含:#include 726

头文件示例 727

使用头文件 729

其他指令 730

#undef指令 731

从C预处理器角度看已定义 731

条件编译 731

预定义宏 737

#line和#error 738

#pragma 739

泛型选择(C11) 740

内联函数(C99) 741

_Noreturn函数(C11) 744

C库 744

访问C库 745

使用库描述 746

数学库 747

三角问题 748

类型变体 750

tgmath.h库(C99) 752

通用工具库 753

exit()和atexit()函数 753

qsort()函数 755

断言库 760

assert的用法 760

_Static_assert(C11) 762

string.h库中的memcpy()和memmove() 763

可变参数:stdarg.h 765

关键概念 768

本章小结 768

复习题 768

编程练习 770

第17章 高级数据表示 773

研究数据表示 774

从数组到链表 777

使用链表 781

反思 786

抽象数据类型(ADT) 786

建立抽象 788

建立接口 789

使用接口 793

实现接口 796

队列ADT 804

定义队列抽象数据类型 804

定义一个接口 805

实现接口数据表示 806

测试队列 815

用队列进行模拟 818

链表和数组 824

二叉查找树 828

二叉树ADT 829

二叉查找树接口 830

二叉树的实现 833

使用二叉树 849

树的思想 854

其他说明 856

关键概念 856

本章小结 857

复习题 857

编程练习 858

附录A 复习题答案 861

第1章 复习题答案 861

第2章 复习题答案 862

第3章 复习题答案 863

第4章 复习题答案 866

第5章 复习题答案 869

第6章 复习题答案 872

第7章 复习题答案 876

第8章 复习题答案 879

第9章 复习题答案 881

第10章 复习题答案 883

第11章 复习题答案 886

第12章 复习题答案 890

第13章 复习题答案 891

第14章 复习题答案 894

第15章 复习题答案 898

第16章 复习题答案 899

第17章 复习题答案 901

附录B 参考资料 905

参考资料Ⅰ:补充阅读 905

在线资源 905

C语言书籍 907

编程书籍 907

参考书籍 908

C++书籍 908

参考资料Ⅱ:C运算符 908

算术运算符 909

关系运算符 910

赋值运算符 910

逻辑运算符 911

条件运算符 911

与指针有关的运算符 912

符号运算符 912

结构和联合运算符 912

按位运算符 913

混合运算符 914

参考资料Ⅲ:基本类型和存储类别 915

总结:基本数据类型 915

总结:如何声明一个简单变量 917

总结:限定符 919

参考资料Ⅳ:表达式、语句和程序流 920

总结:表达式和语句 920

总结:while语句 921

总结:for语句 921

总结:do while语句 922

总结:if语句 923

带多重选择的switch语句 924

总结:程序跳转 925

参考资料Ⅴ:新增C99和C11的ANSI C库 926

断言:assert.h 926

复数:complex.h(C99) 927

字符处理:ctype.h 929

错误报告:errno.h 930

浮点环境:fenv.h(C99) 930

浮点特性:float.h 933

整数类型的格式转换:inttypes.h 935

可选拼写:iso64 6.h 936

本地化:locale.h 936

数学库:math.h 939

非本地跳转:setjmp.h 945

信号处理:signal.h 945

对齐:stdalign.h(C11) 946

可变参数:stdarg.h 947

原子支持:stdatomic.h(C11) 948

布尔支持:stdbool.h(C99) 948

通用定义:stddef.h 948

整数类型:stdint.h 949

标准I/O库:stdio.h 953

通用工具:stdlib.h 956

_Noreturn:stdnoreturn.h 962

处理字符串:string.h 962

通用类型数学:tgmath.h(C99) 965

线程:threads.h(C11) 967

日期和时间:time.h 967

统一码工具:uchar.h(C11) 971

扩展的多字节字符和宽字符工具:wchar.h(C99) 972

宽字符分类和映射工具:wctype.h(C99) 978

参考资料Ⅵ:扩展的整数类型 980

精确宽度类型 981

最小宽度类型 982

最快最小宽度类型 983

最大宽度类型 983

可储存指针值的整型 984

扩展的整型常量 984

参考资料Ⅶ:扩展字符支持 984

三字符序列 984

双字符 985

可选拼写:iso646.h 986

多字节字符 986

通用字符名(UCN) 987

宽字符 988

宽字符和多字节字符 989

参考资料Ⅷ:C99/C1 1数值计算增强 990

IEC浮点标准 990

fenv.h头文件 994

STDC FP_CONTRACT编译指示 995

math.h库增补 995

对复数的支持 996

参考资料Ⅸ:C和C++的区别 998

函数原型 999

char常量 1000

const限定符 1000

结构和联合 1001

枚举 1002

指向void的指针 1002

布尔类型 1003

可选拼写 1003

宽字符支持 1003

复数类型 1003

内联函数 1003

C++11中没有的C99/C11特性 1004