图书介绍

C Primer Plus 第5版 中文版PDF|Epub|txt|kindle电子书版本网盘下载

C Primer Plus 第5版 中文版
  • (美)Stephen Prata著;云巅工作室译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115130221
  • 出版时间:2005
  • 标注页数:626页
  • 文件大小:64MB
  • 文件页数:639页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

C Primer Plus 第5版 中文版PDF格式电子书版下载

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

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

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

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

图书目录

第1章 概览1

1.1 C语言的起源1

1.2 使用C语言的理由1

1.2.1 设计特性1

1.2.2 高效性2

1.2.3 可移植性2

1.2.4 强大的功能和灵活性2

1.2.5 面向编程人员3

1.2.6 缺点3

1.3 C语言的发展方向3

1.4 计算机工作的基本原理4

1.5 高级计算机语言和编译器4

1.6 使用C语言的7个步骤5

1.6.1 第1步:定义程序目标5

1.6.2 第2步:设计程序6

1.6.3 第3步:编写代码6

1.6.4 第4步:编译6

1.6.5 第5步:运行程序6

1.6.6 第6步:测试和调试程序7

1.6.7 第7步:维护和修改程序7

1.6.8 总结7

1.7 编程机制7

1.7.1 目标代码文件、可执行文件和库8

1.7.2 UNIX系统9

1.7.3 Linux系统10

1.7.4 集成开发环境(Windows系统下)10

1.7.5 IBM PC的DOS编译器11

1.7.6 Macintosh上的C11

1.8 语言标准11

1.8.1 第1个ANSI/ISO C标准12

1.8.2 C99标准12

1.9 本书的组织结构12

1.10 本书体例13

1.10.1 字体13

1.10.2 屏幕输出13

1.11 总结14

1.12 复习题14

1.13 编程练习14

第2章 C语言概述15

2.1 C语言的一个简单实例15

2.2 实例说明16

2.2.1 第一遍 快速简介16

2.2.2 第二遍 程序细节17

2.3 一个简单程序的结构22

2.4 使程序可读的技巧23

2.5 更进一步24

2.5.1 说明24

2.5.2 多个声明24

2.5.3 乘法24

2.5.4 输出多个值25

2.6 多个函数25

2.7 调试26

2.7.1 语法错误26

2.7.2 语义错误27

2.7.3 程序状态28

2.8 关键字和保留标识符28

2.9 关键概念29

2.10 总结29

2.11 复习题30

2.12 编程练习31

第3章 数据和C32

3.1 示例程序32

3.2 变量与常量数据34

3.3 数据:数据类型关键字34

3.3.1 整数类型与浮点数类型35

3.3.2 整数35

3.3.3 浮点数36

3.4 C数据类型36

3.4.1 int类型36

3.4.2 其他整数类型39

3.4.3 使用字符:char类型42

3.4.4 _Bool类型46

3.4.5 可移植的类型:inttypes.h46

3.4.6 float、double和long double类型47

3.4.7 复数和虚数类型50

3.4.8 其他类型50

3.4.9 类型大小52

3.5 使用数据类型53

3.6 参数和易犯的错误54

3.7 另一个例子:转义序列55

3.7.1 过程分析55

3.7.2 刷新输出56

3.8 关键概念56

3.9 总结56

3.10 复习题57

3.11 编程练习58

第4章 字符串和格式化输入/输出60

4.1 前导程序60

4.2 字符串简介61

4.2.1 char数组类型和空字符61

4.2.2 使用字符串62

4.2.3 strlen()函数63

4.3 常量和C预处理器64

4.3.1 const修饰符66

4.3.2 系统定义的明显常量66

4.4 研究和利用printf()和scanf()67

4.4.1 printf()函数68

4.4.2 使用printf()68

4.4.3 printf()的转换说明修饰符70

4.4.4 转换说明的意义73

4.4.5 使用scanf()78

4.4.6 printf()和scanf()的*修饰符81

4.4.7 printf的用法提示82

4.5 关键概念83

4.6 总结83

4.7 复习题84

4.8 编程练习85

第5章 运算符、表达式和语句87

5.1 循环简介87

5.2 基本运算符89

5.2.1 赋值运算符:=89

5.2.2 加法运算符:+90

5.2.3 减法运算符:90

5.2.4 符号运算符:-和+90

5.2.5 乘法运算符:*91

5.2.6 除法运算符:92

5.2.7 运算符的优先级93

5.2.8 优先级和求值顺序94

5.3 其他运算符95

5.3.1 sizeof运算符和size_t类型95

5.3.2 取模运算符:%96

5.3.3 增量和减量运算符:++和--97

5.3.4 减量:--100

5.3.5 优先级100

5.3.6 不要太聪明101

5.4 表达式和语句102

5.4.1 表达式102

5.4.2 语句102

5.4.3 复合语句(代码块)104

5.5 类型转换105

5.6 带有参数的函数107

5.7 一个示例程序109

5.8 关键概念110

5.9 总结110

5.10 复习题111

5.11 编程练习113

第6章 C控制语句:循环115

6.1 再探while循环115

6.1.1 程序注解116

6.1.2 C风格的读循环117

6.2 while语句118

6.2.1 终止while循环118

6.2.2 循环何时终止118

6.2.3 while:入口条件循环119

6.2.4 语法要点119

6.3 比较大小:使用关系运算符和表达式120

6.3.1 什么是真122

6.3.2 还有什么是真122

6.3.3 真值的问题123

6.3.4 新的_Bool类型124

6.3.5 关系运算符的优先级125

6.4 不确定循环与计数循环127

6.5 for循环128

6.6 更多赋值运算符:+=、-=、*=、/=和%=132

6.7 逗号运算符133

6.8 退出条件循环:do while136

6.9 选择哪种循环138

6.10 嵌套循环138

6.10.1 程序讨论139

6.10.2 嵌套变化139

6.11 数组140

6.12 使用函数返回值的循环例子142

6.12.1 程序讨论144

6.12.2 使用具有返回值的函数144

6.13 关键概念145

6.14 总结145

6.15 复习题146

6.16 编程练习149

第7章 C控制语句:分支和跳转152

7.1 if语句152

7.2 在if语句中添加else关键字154

7.2.1 另一个例子:介绍getchar()和putchar()155

7.2.2 ctype.h系列字符函数157

7.2.3 多重选择else if158

7.2.4 把else与if配对160

7.2.5 多层嵌套的if161

7.3 获得逻辑性164

7.3.1 改变拼写法:iso646.h头文件166

7.3.2 优先级166

7.3.3 求值的顺序166

7.3.4 范围167

7.4 一个统计字数的程序168

7.5 条件运算符?:170

7.6 循环辅助手段:continue和break172

7.6.1 continue语句172

7.6.2 break语句174

7.7 多重选择:switch和break175

7.7.1 使用switch语句177

7.7.2 只读取一行的首字符178

7.7.3 多重标签178

7.7.4 switch和if else180

7.8 goto语句180

7.9 关键概念183

7.10 总结183

7.11 复习题184

7.12 编程练习186

第8章 字符输入/输出和输入确认188

8.1 单字符I/O:getchar()和putchar()188

8.2 缓冲区189

8.3 终止键盘输入190

8.3.1 文件、流和键盘输入190

8.3.2 文件结尾191

8.4 重定向和文件192

8.5 创建一个更友好的用户界面196

8.5.1 使用缓冲输入196

8.5.2 混合输入数字和字符198

8.6 输入确认200

8.6.1 分析程序203

8.6.2 输入流和数值204

8.7 菜单浏览204

8.7.1 任务205

8.7.2 使执行更顺利205

8.7.3 混合字符和数值输入207

8.8 关键概念209

8.9 总结209

8.10 复习题210

8.11 编程练习210

第9章 函数212

9.1 函数概述212

9.1.1 编写和使用一个简单的函数213

9.1.2 程序分析214

9.1.3 函数参数215

9.1.4 定义带有参数的函数:形式参量216

9.1.5 带参数函数的原型声明217

9.1.6 调用带有参数的函数:实际参数217

9.1.7 黑盒子观点218

9.1.8 使用return从函数中返回一个值218

9.1.9 函数类型221

9.2 ANSIC的函数原型221

9.2.1 产生的问题222

9.2.2 ANSI的解决方案222

9.2.3 无参数和不确定参数224

9.2.4 函数原型的优点224

9.3 递归224

9.3.1 递归的使用224

9.3.2 递归的基本原理226

9.3.3 尾递归226

9.3.4 递归和反向计算228

9.3.5 递归的优缺点229

9.4 多源代码文件程序的编译230

9.4.1 UNIX230

9.4.2 Linux230

9.4.3 DOS命令行编译器230

9.4.4 Windows和Macintosh编译器230

9.4.5 头文件的使用231

9.5 地址运算符:&233

9.6 改变调用函数中的变量235

9.7 指针简介236

9.7.1 间接运算符:*237

9.7.2 指针声明237

9.7.3 使用指针在函数间通信238

9.8 关键概念241

9.9 总结242

9.10 复习题242

9.11 编程练习243

第10章 数组和指针244

10.1 数组244

10.1.1 初始化244

10.1.2 指定初始化项目(C99)248

10.1.3 为数组赋值249

10.1.4 数组边界249

10.1.5 指定数组大小250

10.2 多维数组251

10.2.1 初始化二维数组253

10.2.2 更多维数的数组254

10.3 指针和数组254

10.4 函数、数组和指针256

10.4.1 使用指针参数258

10.4.2 评论:指针和数组260

10.5 指针操作260

10.6 保护数组内容263

10.6.1 对形式参量使用const264

10.6.2 有关const的其他内容265

10.7 指针和多维数组267

10.7.1 指向多维数组的指针268

10.7.2 指针兼容性269

10.7.3 函数和多维数组270

10.8 变长数组(VLA)273

10.9 复合文字276

10.10 关键概念278

10.11 总结278

10.12 复习题279

10.13 编程练习281

第11章 字符串和字符串函数282

11.1 字符串表示和字符串I/O282

11.1.1 在程序中定义字符串283

11.1.2 指针和字符串288

11.2 字符串输入289

11.2.1 创建存储空间289

11.2.2 gets()函数289

11.2.3 fgets()函数291

11.2.4 scanf()函数292

11.3 字符串输出293

11.3.1 puts()函数293

11.3.2 fputs()函数294

11.3.3 printf()函数294

11.4 自定义字符串输入/输出函数295

11.5 字符串函数297

11.5.1 strlen()函数297

11.5.2 strcat()函数298

11.5.3 strncat()函数299

11.5.4 strcmp()函数299

11.5.5 strncmp()变种303

11.5.6 strcpy()和strncpy()函数303

11.5.7 sprintf()函数307

11.5.8 其他字符串函数307

11.6 字符串例子:字符串排序309

11.6.1 排序指针而不是字符串310

11.6.2 选择排序算法310

11.7 ctype.h字符函数和字符串311

11.8 命令行参数312

11.8.1 集成环境下的命令行参数314

11.8.2 Macintosth的命令行参数314

11.9 把字符串转换为数字314

11.10 关键概念316

11.11 总结316

11.12 复习题317

11.13 编程练习319

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

12.1 存储类321

12.1.1 作用域321

12.1.2 链接323

12.1.3 存储时期323

12.1.4 自动变量324

12.1.5 寄存器变量326

12.1.6 具有代码块作用域的静态变量327

12.1.7 具有外部链接的静态变量328

12.1.8 具有内部链接的静态变量331

12.1.9 多文件332

12.2 存储类说明符332

12.3 存储类和函数334

12.4 随机数函数和静态变量335

12.5 掷骰子337

12.6 分配内存:malloc()和free()340

12.6.1 free()的重要性343

12.6.2 函数calloc()343

12.6.3 动态内存分配与变长数组344

12.6.4 存储类与动态内存分配344

12.7 ANSI C的类型限定词345

12.7.1 类型限定词const345

12.7.2 类型限定词volatile347

12.7.3 类型限定词restrict347

12.7.4 旧关键字的新位置348

12.8 关键概念348

12.9 总结349

12.10 复习题350

12.11 编程练习351

第13章 文件输入/输出354

13.1 和文件进行通信354

13.1.1 文件是什么354

13.1.2 文本视图和二进制视图355

13.1.3 I/O级别355

13.1.4 标准文件355

13.2 标准I/O356

13.2.1 检查命令行参数357

13.2.2 fopen()函数357

13.2.3 getc()函数和putc()函数358

13.2.4 文件结尾358

13.2.5 fclose()函数359

13.2.6 标准文件指针359

13.3 一个简单的文件压缩程序360

13.4 文件I/O:fprintf()、fscanf()、fgets()和fputs()函数361

13.4.1 fprintf()和fscanf()函数361

13.4.2 fgets()和fputs()函数362

13.4.3 注释:gets()函数和fgets()函数364

13.5 随机存取:fseek()和ftell()函数364

13.5.1 fseek()和ftell()如何工作365

13.5.2 二进制模式和文本模式366

13.5.3 可移植性366

13.5.4 fgetpos()和fsetpos()函数367

13.6 标准I/O内幕367

13.7 其他标准I/O函数368

13.7.1 int ungetc(intc,FILEfp)函数368

13.7.2 int fflush()函数368

13.7.3 int setvbuf()函数368

13.7.4 二进制I/O:fread()和fwrite()函数369

13.7.5 size_fwrite()函数369

13.7.6 size_t fread()函数370

13.7.7 int feof(FILE*fp)和int ferror(FILEfp)函数370

13.7.8 一个fread()和fwrite()的例子370

13.7.9 使用二进制I/O进行随机存取372

13.8 关键概念374

13.9 总结374

13.10 复习题375

13.11 编程练习376

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

14.1 示例问题:创建图书目录378

14.2 建立结构声明379

14.3 定义结构变量380

14.3.1 初始化结构381

14.3.2 访问结构成员381

14.3.3 结构的指定初始化项目382

14.4 结构数组382

14.4.1 声明结构数组384

14.4.2 标识结构数组的成员384

14.4.3 程序讨论385

14.5 嵌套结构385

14.6 指向结构的指针387

14.6.1 声明和初始化结构指针388

14.6.2 使用指针访问成员388

14.7 向函数传递结构信息389

14.7.1 传递结构成员389

14.7.2 使用结构地址390

14.7.3 把结构作为参数传递391

14.7.4 其他结构特性391

14.7.5 结构,还是指向结构的指针394

14.7.6 在结构中使用字符数组还是字符指针395

14.7.7 结构、指针和malloc()395

14.7.8 复合文字和结构(C99)397

14.7.9 伸缩型数组成员(C99)398

14.7.10 使用结构数组的函数400

14.8 把结构内容保存到文件中401

14.8.1 一个结构保存的实例402

14.8.2 程序要点404

14.9 结构:下一步是什么405

14.10 联合简介405

14.11 枚举类型407

14.11.1 enum常量408

14.11.2 默认值408

14.11.3 指定值408

14.11.4 enum用法408

14.11.5 共享的名字空间410

14.12 typedef简介410

14.13 奇特的声明412

14.14 函数和指针413

14.15 关键概念418

14.16 总结418

14.17 复习题419

14.18 编程练习421

第15章 位操作423

15.1 二进制数、位和字节423

15.1.1 二进制整数424

15.1.2 有符号整数424

15.1.3 二进制浮点数424

15.2 其他基数425

15.2.1 八进制425

15.2.2 十六进制425

15.3 C的位运算符426

15.3.1 位逻辑运算符426

15.3.2 用法:掩码428

15.3.3 用法:打开位428

15.3.4 用法:关闭位428

15.3.5 用法:转置位429

15.3.6 用法:查看一位的值429

15.3.7 移位运算符429

15.3.8 编程实例430

15.3.9 另一个实例432

15.4 位字段434

15.4.1 位字段实例435

15.4.2 位字段和位运算符437

15.5 关键概念443

15.6 总结443

15.7 复习题443

15.8 编程练习444

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

16.1 翻译程序的第一步446

16.2 明显常量:#define447

16.2.1 语言符号449

16.2.2 重定义常量450

16.3 在#define中使用参数450

16.3.1 利用宏参数创建字符串:#运算符452

16.3.2 预处理器的粘合剂:##运算符453

16.3.3 可变宏:...和_ _VA_ARGS_ _454

16.4 宏,还是函数455

16.5 文件包含:#include455

16.5.1 头文件:一个实例456

16.5.2 使用头文件458

16.6 其他指令459

16.6.1 #undef指令459

16.6.2 已定义:C预处理器的观点459

16.6.3 条件编译459

16.6.4 预定义宏463

16.6.5 #line和#error464

16.6.6 #pragma464

16.7 内联函数465

16.8 C库467

16.8.1 访问C库467

16.8.2 参考库描述467

16.9 数学库468

16.10 通用工具库471

16.10.1 exit()和atexit()函数471

16.10.2 qsort()函数472

16.11 诊断库476

16.12 string.h库中的memcpy()和memmove()477

16.13 可变参数:stdarg.h478

16.14 关键概念480

16.15 总结481

16.16 复习题481

16.17 编程练习482

第17章 高级数据表示484

17.1 研究数据表示484

17.2 从数组到链表486

17.2.1 使用链表488

17.2.2 反思491

17.3 抽象数据类型(ADT)492

17.3.1 变得抽象492

17.3.2 构造接口493

17.3.3 使用接口496

17.3.4 实现接口498

17.4 队列ADT504

17.4.1 定义队列抽象数据类型504

17.4.2 定义接口504

17.4.3 实现接口的数据表示505

17.4.4 测试队列511

17.5 用队列进行模拟513

17.6 链表与数组517

17.7 二叉搜索树519

17.7.1 二叉树ADT520

17.7.2 二叉搜索树的接口520

17.7.3 二叉树的实现522

17.7.4 试用树533

17.7.5 树的思想536

17.8 其他说明537

17.9 关键概念537

17.10 总结538

17.11 复习题538

17.12 编程练习538

附录A 复习题答案540

附录B 参考资料570

B.1 参考资料1:参阅书籍570

B.2 参考资料2:C运算符572

B.3 参考资料3:基本类型和存储类576

B.4 参考资料4:表达式、语句和程序流579

B.5 参考资料5:添加了C99的标准ANSI C库584

B.6 参考资料6:扩展的整数类型614

B.7 参考资料7:扩展的字符支持617

B.8 参考资料8:C99的数值计算增强620

B.9 参考资料9:C和C++的差别622

热门推荐