图书介绍
C大学教程 第5版PDF|Epub|txt|kindle电子书版本网盘下载
![C大学教程 第5版](https://www.shukui.net/cover/65/32217299.jpg)
- (美)P.J.Deitel,H.M.Deitel著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121056628
- 出版时间:2008
- 标注页数:874页
- 文件大小:418MB
- 文件页数:912页
- 主题词:C语言-程序设计-高等学校-教材
PDF下载
下载说明
C大学教程 第5版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 计算机、Internet和万维网导论1
1.1 引言2
1.2 什么是计算机3
1.3 计算机的基本组成3
1.4 早期的操作系统4
1.5 个人计算、分布式计算和客户/服务器计算4
1.6 机器语言、汇编语言和高级语言5
1.7 著名的高级语言FORTRAN,COBOL,Pascal和Ada6
1.8 C语言的发展历史7
1.9 C语言标准库8
1.10 C++语言8
1.11 Java语言9
1.12 BASIC语言,Visual Basic语言,Visual C++语言,Visual C#语言和.NET编程平台9
1.13 软件发展的重要趋势:对象技术10
1.14 典型的C语言程序开发环境11
1.15 硬件的发展趋势13
1.16 Internet的发展历史13
1.17 万维网(WWW)的发展历史14
1.18 关于C语言和本书的一些注解14
1.19 有价值的Web站点15
第2章 C语言程序设计入门26
2.1 引言26
2.2 一个简单的C程序:输出一行文字27
2.3 另一个简单的C程序:两个整数求和30
2.4 存储单元的基本概念34
2.5 C语言中的算术运算34
2.6 做出判断:相等和关系运算符37
第3章 结构化的C程序设计50
3.1 引言50
3.2 算法51
3.3 伪码51
3.4 控制结构52
3.5 if选择语句53
3.6 if...else选择语句54
3.7 while循环语句57
3.8 算法设计案例1:计数控制的循环58
3.9 算法设计案例2:自顶向下、逐步求精的标记控制循环60
3.10 算法设计案例3:自顶向下、逐步求精的嵌套控制结构65
3.11 赋值运算符69
3.12 增1和减1运算符69
第4章 C程序控制86
4.1 引言86
4.2 循环的基本原理87
4.3 计数控制的循环87
4.4 for循环语句89
4.5 for循环语句:注意事项91
4.6 应用for循环语句的例子92
4.7 switch多重选择语句94
4.8 do...while循环语句99
4.9 break和continue语句100
4.10 逻辑运算符102
4.11 区分相等运算符(==)和赋值运算符(=)104
4.12 结构化程序设计总结105
第5章 C函数120
5.1 引言121
5.2 C语言中的程序模块121
5.3 数学库函数122
5.4 函数123
5.5 函数定义123
5.6 函数原型127
5.7 函数调用栈及活动记录129
5.8 头文件129
5.9 主调函数:按值调用与按引用调用130
5.10 随机数的生成130
5.11 程序案例:运气游戏134
5.12 存储类型137
5.13 标识符作用域的规定139
5.14 递归142
5.15 使用递归的例子:Fibonacci数列144
5.16 递归与迭代147
第6章 C数组165
6.1 引言165
6.2 数组166
6.3 数组的定义167
6.4 数组的应用举例167
6.5 将数组传递给函数的方法178
6.6 数组元素的排序182
6.7 案例分析:采用数组来计算平均值、中值和众数184
6.8 数组元素的查找187
6.9 多维数组191
第7章 C指针213
7.1 引言213
7.2 指针变量的定义和初始化214
7.3 指针运算符214
7.4 使用按引用调用方法向函数传递实参216
7.5 对指针使用const限定符219
7.6 使用按引用调用方法实现冒泡法排序224
7.7 sizeof运算符227
7.8 指针表达式和指针运算228
7.9 指针和数组之间的关系230
7.10 指针数组234
7.11 案例学习:扑克牌洗牌和发牌模拟234
7.12 函数指针238
第8章 C字符和字符串258
8.1 引言258
8.2 字符串和字符基础259
8.3 字符处理函数库260
8.4 字符串转换函数264
8.5 标准输入输出库函数268
8.6 字符串处理函数库中的字符串处理函数271
8.7 字符串处理函数库中的比较函数273
8.8 字符串处理函数库中的查找函数274
8.9 字符串处理函数库中的内存函数279
8.10 字符串处理函数库中的其他函数282
第9章 格式化输入输出294
9.1 引言294
9.2 流295
9.3 用printf函数实现格式化输出295
9.4 打印整数295
9.5 打印浮点数296
9.6 打印字符串或字符298
9.7 其他的转换说明符299
9.8 带域宽和精度的打印300
9.9 在printf函数的格式控制字符串中使用标记301
9.10 打印文本和转义序列304
9.11 用scanf函数读取格式化的输入304
第10章 结构体、共用体、位操作和枚举类型316
10.1 引言316
10.2 结构体的定义317
10.3 结构体的初始化319
10.4 对结构体成员的访问319
10.5 在函数中使用结构体321
10.6 typedef的使用321
10.7 实例:高性能的洗牌与发牌模拟程序322
10.8 共用体324
10.9 位运算符326
10.10 位域332
10.11 枚举常量335
第11章 文件处理345
11.1 引言345
11.2 数据的层次结构346
11.3 文件与流347
11.4 顺序存取文件的创建348
11.5 从顺序存取文件中读取数据352
11.6 随机存取文件355
11.7 随机存取文件的创建356
11.8 向一个随机存取文件中随机地写入数据357
11.9 从一个随机存取文件中读取数据360
11.10 案例学习:事务处理程序361
第12章 数据结构374
12.1 引言374
12.2 自引用结构体375
12.3 动态内存分配376
12.4 链表377
12.5 堆栈384
12.6 队列388
12.7 树392
第13章 C预处理418
13.1 引言418
13.2 #include预处理命令419
13.3 #define预处理命令:符号常量419
13.4 #define预处理命令:宏419
13.5 条件编译421
13.6 #error和#pragma预处理命令422
13.7 #和##运算符422
13.8 行号423
13.9 预定义的符号常量423
13.10 断言423
第14章 C语言的其他专题428
14.1 引言428
14.2 Linux/UNIX和Windows系统中输入/输出的重定向429
14.3 可变长的实参列表429
14.4 使用命令行实参431
14.5 由多个源文件组成的程序的编译问题432
14.6 使用exit和atexit终止程序433
14.7 volatile类型限定符434
14.8 整型和浮点型常量的后缀434
14.9 关于文件的深入讨论435
14.10 信号处理436
14.11 动态内存分配:calloc函数和realloc函数438
14.12 用goto实现无条件转移439
第15章 基于Allegro C函数库的游戏编程444
15.1 引言445
15.2 安装Allegro库445
15.3 一个简单的Allegro库程序445
15.4 简单的图形:位图的导入和块传送446
15.5 双缓冲动画显示技术450
15.6 导入和播放声音455
15.7 键盘输入457
15.8 字体和文本显示461
15.9 实现Pong游戏465
15.10 Allegro库的定时器470
15.11 Allegro库的Grabber工具和数据文件473
15.12 Allegro库的其他功能480
15.13 Allegro库的网络资源480
第16章 排序:更深入的透视487
16.1 引言487
16.2 大O记号488
16.3 选择排序488
16.4 插入排序491
16.5 归并排序493
第17章 C99简介502
17.1 引言503
17.2 对C99的支持503
17.3 新的C99头文件504
17.4 ∥单行注释符504
17.5 声明语句和可执行代码的混合使用504
17.6 在for语句头声明一个变量505
17.7 指派初始化和复合文本506
17.8 布尔类型508
17.9 函数声明中的隐式int类型509
17.10 复数510
17.11 可变长数组511
17.12 C99其他的特征512
17.13 因特网和万维网上的资源515
第18章 C++,一个更好的C;介绍对象技术519
18.1 简介520
18.2 C++520
18.3 简单程序:两个整数相加520
18.4 C++标准库522
18.5 头文件522
18.6 内联函数523
18.7 引用和引用形参525
18.8 空形参列表528
18.9 默认实参529
18.10 一元作用域运算符530
18.11 函数重载531
18.12 函数模板533
18.13 对象技术与UML简介535
18.14 本章小结539
第19章 类与对象简介544
19.1 简介544
19.2 类、对象、成员函数以及数据成员545
19.3 本章实例概述545
19.4 定义一个具有成员函数的类546
19.5 定义一个有参成员函数548
19.6 数据成员、set函数与get函数551
19.7 用构造函数初始化对象556
19.8 将类放在单独的文件中以增强重用性558
19.9 将接口与实现分离561
19.10 用set函数验证数据565
19.11 本章小结569
第20章 类:深入剖析(第1部分)574
20.1 简介574
20.2 Time类的案例学习575
20.3 类域和访问类的成员580
20.4 将接口与实现分离581
20.5 访问函数和工具函数581
20.6 Time类的案例学习:具有默认实参的构造函数584
20.7 析构函数587
20.8 构造函数与析构函数的调用时间588
20.9 Time类的案例学习:隐蔽陷阱——返回private数据成员的引用590
20.10 默认按成员赋值592
20.11 软件重用性594
20.12 本章小结594
第21章 类:深入剖析(第2部分)599
21.1 简介600
21.2 const对象和const成员函数600
21.3 组合:对象作为类的成员607
21.4 友元函数和友元类612
21.5 使用this指针614
21.6 用new和delete运算符进行动态内存管理618
21.7 static类成员620
21.8 数据抽象和信息隐藏624
21.9 容器类和迭代器626
21.10 代理类626
21.11 本章小结628
第22章 运算符重载633
22.1 简介633
22.2 运算符重载基础634
22.3 运算符重载的限制635
22.4 作为类的成员和作为全局函数的运算符函数的比较636
22.5 重载流插入和流读取运算符637
22.6 重载一元运算符640
22.7 重载二元运算符640
22.8 案例学习:Array类640
22.9 类型转换649
22.10 重载++和--650
22.11 explicit构造函数651
22.12 本章小结653
第23章 面向对象编程:继承663
23.1 简介664
23.2 基类和派生类664
23.3 protected成员666
23.4 基类和派生类的关系667
23.5 派生类的构造函数与析构函数689
23.6 public,protected和private继承695
23.7 关于继承的软件工程696
23.8 本章小结696
第24章 面向对象编程:多态701
24.1 简介702
24.2 多态的实例703
24.3 继承层次结构中对象间的关系703
24.4 类型域和switch语句716
24.5 抽象类和纯虚函数716
24.6 案例学习:利用多态的工资系统718
24.7 (选修)多态、虚函数以及动态绑定730
24.8 案例学习:利用多态的和运行时类型信息的工资系统,通过向下类型转换,dynamic_cast,typeid以及type_info使用运行时类型信息733
24.9 虚析构函数736
24.10 本章小结736
第25章 模板740
25.1 简介740
25.2 函数模板741
25.3 重载函数模板743
25.4 类模板744
25.5 类模板的非类型形参和默认类型748
25.6 模板与继承749
25.7 模板与友元749
25.8 模板与static成员750
25.9 本章小结750
第26章 输入/输出流755
26.1 简介756
26.2 流756
26.3 输出流759
26.4 输入流760
26.5 用read,write和gcount进行无格式I/O763
26.6 流操纵符简介764
26.7 流格式状态和流操纵符768
26.8 流错误状态775
26.9 将输出流绑定到输入流上777
26.10 本章小结777
第27章 异常处理786
27.1 简介787
27.2 异常处理概述787
27.3 实例:处理除数为0的异常788
27.4 何时使用异常处理792
27.5 重新抛出异常793
27.6 异常规范794
27.7 处理未预料的异常794
27.8 栈展开795
27.9 构造函数、析构函数与异常处理796
27.10 异常与继承796
27.11 处理new故障797
27.12 auto_ptr类与动态内存分配800
27.13 标准库的异常层次结构801
27.14 其他错误处理技术802
27.15 本章小结803
附录A 因特网和Web资源809
附录B 运算符优先级表822
附录C ASCII字符集825
附录D 数制系统826
附录E 游戏编程:求解Sudoku问题836
索引843