当前位置:首页 > 工业技术
C/c++/Java程序设计经典教程  第3版
C/c++/Java程序设计经典教程  第3版

C/c++/Java程序设计经典教程 第3版PDF电子书下载

工业技术

  • 电子书积分:27 积分如何计算积分?
  • 作 者:(美)Harvey M.Deitel,(美)Paul J.Deitel著;贺军译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:7900643427
  • 页数:1067 页
图书介绍:
《C/c++/Java程序设计经典教程 第3版》目录

第1部分 C 语言编程 1

第1章 计算机、Internet 和万维网入门 1

1.1 简介 1

1.2 计算机是什么 3

1.3 计算机的组织 3

1.4 操作系统的演变 4

1.5 个人计算、分布计算和客户/服务器计算 5

1.6 机器语言、汇编语言和高级语言 5

1.7 C 语言的历史 7

1.8 C 语言的标准库 8

1.9 重要的软件发展趋势:面向对象的技术 8

1.10 C++语言以及 C++编程 10

1.11 Java 语言以及 Java 编程 11

1.12 其他高级语言 11

1.13 结构化编程 12

1.14 C 程序开发环境基础 12

1.15 硬件趋势 15

1.16 Internet 的历史 15

1.17 万维网的历史 17

1.18 C 语言及本书的注意事项 17

自测练习 18

练习 19

第2章 C 程序设计入门 21

2.1 简介 21

2.2 一个简单的 C 程序:显示一行文本 21

2.3 另一个简单的 C 程序:两个整数相加 25

2.4 内存的概念 29

2.5 C 的算术运算 30

2.6 判断:等式和关系运算符 34

自测练习 37

练习 41

第3章 C 语言结构化程序开发 46

3.1 简介 46

3.2 算法 46

3.3 伪代码 47

3.4 控制结构 47

3.5 if 选择结构 49

3.6 if/else 选择结构 51

3.7 while 循环结构 55

3.8 表述算法:案例研究1(计数器控制的循环) 56

3.9 使用自顶向下、逐步求精方法表述算法:案例研究2(标记控制循环) 58

3.10 使用自顶向下、逐步求精方法表述算法:案例研究3(嵌套控制结构) 64

3.11 赋值运算符 68

3.12 递增运算符和递减运算符 68

自测练习 71

练习 75

第4章 C 程序控制 85

4.1 简介 85

4.2 循环的本质 85

4.3 计数器控制的循环 86

4.4 for 循环结构 88

4.5 for 结构:说明和观察 90

4.6 使用 for 结构的示例 91

4.7 switch 多重选择结构 95

4.8 do/while 循环结构 100

4.9 break 和 continue 语句 102

4.10 逻辑运算符 103

4.11 相等运算符(=)和赋值运算符(=) 106

4.12 结构化编程小结 108

自测练习 113

练习 116

第5章 C 函数 123

5.1 简介 123

5.2 C 语言的程序模块 123

5.3 数学库函数 124

5.4 函数 126

5.5 函数的定义 126

5.6 函数原型 130

5.7 头文件 133

5.8 调用函数:按值调用和按引用调用 134

5.9 随机数的生成 134

5.10 示例:运气游戏 139

5.11 存储类别 142

5.12 作用域的规则 144

5.13 递归 147

5.14 递归实例:斐波纳契数列 150

5.15 递归与迭代 154

自测练习 156

练习 161

第6章 C 数组 171

6.1 简介 171

6.2 数组 171

6.3 声明数组 173

6.4 数组使用示例 173

6.5 数组传递给函数 185

6.6 排序数组 190

6.7 案例研究:用数组计算平均值、中值和最频值 192

6.8 查找数组 196

6.9 多维数组 201

自测练习 207

练习 210

第7章 C 指针 222

7.1 简介 222

7.2 指针变量声明和初始化 222

7.3 指针运算符 223

7.4 按引用调用函数 226

7.5 使用指针的 const 限定符 229

7.6 使用按引用调用的冒泡排序 235

7.7 指针表达式和指针算法 240

7.8 指针和数组的关系 243

7.9 指针数组 247

7.10 案例研究:洗牌和发牌模拟 248

7.11 函数指针 253

自测练习 257

练习 260

第8章 C 字符和字符串 275

8.1 简介 275

8.2 字符串和字符的基本知识 275

8.3 字符处理库 277

8.4 字符串转换函数 282

8.5 标准输入/输出库函数 287

8.6 字符串处理库的字符串处理函数 291

8.7 字符处理库的比较函数 293

8.8 字符串处理库的查找函数 295

8.9 字符串处理库的内存函数 301

8.10 字符串处理库的其他函数 305

自测练习 306

练习 309

第9章 C 格式化的输入/输出 316

9.1 简介 316

9.2 流 316

9.3 用 printf 格式化输出 316

9.4 打印整数 317

9.5 打印浮点数 318

9.6 打印字符串和字符 320

9.7 其他转换说明符 321

9.8 用字段宽度和精度打印 323

9.9 在 printf 格式控制字符串中使用标记 325

9.10 打印字面量和转义序列 328

9.11 用 scanf 格式化输入 329

自测练习 335

练习 337

第10章 C 结构、联合、位操作和枚举 340

10.1 简介 340

10.2 结构定义 340

10.3 初始化结构 343

10.4 访问结构成员 343

10.5 在函数中使用结构 345

10.6 typedef 345

10.7 示例:高性能洗牌和发牌仿真程序 346

10.8 联合 349

10.9 位运算符 351

10.10 位字段 359

10.11 枚举常量 362

自测练习 363

练习 366

第11章 C 文件处理 370

11.1 简介 370

11.2 数据层次结构 370

11.3 文件和流 372

11.4 创建顺序存取文件 373

11.5 从顺序存取文件中读取数据 377

11.6 随机存取文件 382

11.7 创建随机存取文件 383

11.8 随机向随机存取文件中写入数据 385

11.9 随机从随机存取文件中读取数据 387

11.10 案例研究:事务处理程序 389

自测练习 394

练习 396

第12章 C 数据结构 401

12.1 简介 401

12.2 自引用结构 402

12.3 动态内存分配 402

12.4 链表 403

12.5 堆栈 412

12.6 队列 417

12.7 树 424

自测练习 429

练习 432

第13章 C 预处理器 452

13.1 简介 452

13.2 #include 预处理器伪指令 452

13.3 #define 预处理器伪指令:符号常量 453

13.4 #define 预处理器伪指令:宏 453

13.5 条件编译 455

13.6 #error 和 #pragma 预处理器伪指令 456

13.7 #和##运算符 456

13.8 行号 457

13.9 预定义符号常量 457

13.10 断言 458

自测练习 458

练习 460

第14章 C 语言高级技术 461

14.1 简介 461

14.2 在 UNIX 和 DOS 系统上重定向输入/输出 461

14.3 变长参数列表 462

14.4 使用命令行参数 464

14.5 编译多个源文件程序的注释 465

14.6 使用 exit 和 atexit 终止程序 467

14.7 volatile 类型限定符 469

14.8 整数和浮点常量的前缀 469

14.9 其他文件问题 469

14.10 信号处理 471

14.11 动态内存分配:函数 calloc 和 realloc 474

14.12 无条件分支:goto 474

自测练习 476

练习 476

第2部分 C++编程 479

第15章 C 的增强版本 C++ 479

15.1 简介 479

15.2 C++ 479

15.3 简单的程序:两个整数相加 480

15.4 C++标准库 483

15.5 头文件 483

15.6 嵌入函数 485

15.7 引用和引用参数 487

15.8 默认参数和空参数列表 491

15.9 一元作用域解析运算符 493

15.10 函数重载 495

15.11 函数模板 497

自测练习 499

练习 500

第16章 C++类和数据抽象 502

16.1 简介 502

16.2 用类实现时间抽象数据类型 503

16.3 类作用域和访问类成员 509

16.4 从实现中分离接口 511

16.5 控制访问成员 515

16.6 访问函数和实用函数 517

16.7 初始化类对象:构造函数 520

16.8 通过构造函数使用默认参数 521

16.9 使用析构函数 525

16.10 何时调用构造函数和析构函数 526

16.11 使用数据成员和成员函数 529

16.12 微妙的陷阱:返回 private 数据成员的引用 534

16.13 使用默认的按成员复制来赋值 536

16.14 软件重用性 538

自测练习 538

练习 539

第17章 C++类:第二部分 542

17.1 简介 542

17.2 const(常量)对象和 const 成员函数 542

17.3 复合:作为类成员的对象 551

17.4 friend 函数和 fiend 类 556

17.5 使用 this 指针 560

17.6 使用运算符 new 和 delete 动态分配内存 565

17.7 static 类成员 566

17.8 数据抽象和信息隐藏 572

17.8.1 示例:数组抽象数据类型 573

17.8.2 示例:字符串抽象数据类型 574

17.8.3 示例:队列抽象数据类型 574

17.9 容器类和迭代器 575

自测练习 575

练习 576

第18章 C++运算符重载 578

18.1 简介 578

18.2 运算符重载的基础知识 579

18.3 运算符重载的限制 580

18.4 作为类成员和友元函数的运算符函数 581

18.5 重载流插入和流提取运算符 582

18.6 重载一元运算符 585

18.7 重载二元运算符 586

18.8 案例研究:数组类 587

18.9 类型转换 600

18.10 重载++和__ 601

自测练习 602

练习 603

第19章 C++继承 607

19.1 简介 607

19.2 继承:基类和派生类 608

19.3 Protected 成员 610

19.4 基类指针转换为派生类指针 611

19.5 使用成员函数 616

19.6 在派生类中覆盖基类成员 617

19.7 公共、受保护和私有继承 621

19.8 直接基类和间接基类 622

19.9 在派生类中使用构造函数和析构函数 622

19.10 隐含派生类对象到基类对象的转换 626

19.11 使用继承的软件工程 627

19.12 复合与继承 628

19.13 “使用一个”和“了解一个”的关系 628

19.14 案例研究:点、圆和圆柱 629

自测练习 637

练习 637

第20章 C++虚拟函数和多态性 639

20.1 简介 639

20.2 类型字段和 switch 语句 639

20.3 虚拟函数 640

20.4 抽象基类和具体类 640

20.5 多态性 641

20.6 新类和动态绑定 643

20.7 虚拟析构函数 643

20.8 案例研究:继承接口和实现 644

20.9 多态性、虚拟函数和动态绑定内幕 652

自测练习 655

练习 655

第21章 C++流输入/输出 657

21.1 简介 657

21.2 流 658

21.2.1 iostream 库头文件 658

21.2.2 流输出/输入类和对象 658

21.3 流输出 660

21.3.1 流插入运算符 660

21.3.2 级联流插入/提取运算符 662

21.3.3 char*变量的输出 663

21.3.4 用成员函数 put 输出字符:级联多个 put 664

21.4 流输入 664

21.4.1 流提取运算符 664

21.4.2 get 和 getline 成员函数 667

21.4.3 istream 成员函数 peek、putback 和 ignore 670

21.4.4 类型安全的输入/输出 670

21.5 用 read、gcount 和 write 的非格式化输入/输出 670

21.6 流操纵符 671

21.6.1 整数流基数:dec、oct、hex 和 setbase 672

21.6.2 浮点精度(precision,setprecision) 673

21.6.3 字段宽度(setw,width) 674

21.6.4 用户定义操纵符 676

21.7 流格式状态 677

21.7.1 格式状态标记 677

21.7.2 尾部0和小数点(ios∷showpoint) 678

21.7.3 对齐(ios∷left,ios∷right,ios∷internal) 679

21.7.4 填充(fill,setfill) 681

21.7.5 整数流基数(ios∷dec,ios∷oct,ios∷hex,ios∷showbase) 682

21.7.6 浮点数:科学记数法(ios∷scientific,ios∷fixed) 683

21.7.7 大写/小写控制(ios∷uppercase) 684

21.7.8 设置和重新设置状态标记(flags,setiosflags,resetiosflags) 685

21.8 流错误状态 687

21.9 将输出流转移到输入流 689

自测练习 689

练习 694

第22章 C++模板 697

22.1 简介 697

22.2 类模板 697

22.3 类模板与非类型参数 703

22.4 模板与继承 704

22.5 模板与友元 704

22.6 模板与 static 成员 706

自测练习 706

练习 707

第23章 C++异常处理 708

23.1 简介 708

23.2 何时使用异常处理 710

23.3 其他错误处理技术 710

23.4 C++异常处理基础知识:try、throw、catch 711

23.5 异常处理的简单例子:零除 712

23.6 引发异常 714

23.7 捕获异常 715

23.8 重新引发异常 718

23.9 异常规约 720

23.10 处理无法预料的异常 720

23.11 堆栈展开 721

23.12 构造函数、析构函数与异常处理 722

23.13 异常与继承 723

23.14 处理 new 错误 723

23.15 auto_ptr 类与动态内存分配 727

23.16 标准库异常层次 729

自测练习 730

练习 731

第3部分 Java 编程 733

第24章 Java 应用程序与小程序入门 733

24.1 简介 733

24.2 典型的 Java 环境基础 734

24.3 Java 和本书的总说明 737

24.4 简单的程序:打印文本行 738

24.5 另一个 Java 应用程序:整数相加 745

24.6 Java 2 SDK 的小程序示例 751

24.6.1 TicTacToe 小程序 751

24.6.2 DrawTest 小程序 754

24.6.3 Java2D 小程序 755

24.7 一个简单的 Java 小程序:绘制字符串 756

24.8 另外两个示例:绘制字符串与线 762

24.9 另一个 Java 小程序:整数相加 764

自测练习题 771

练习 773

第25章 独特的 Java 运算符、方法与数组 775

25.1 简介 775

25.2 基本数据类型与关键字 775

25.3 逻辑运算符 777

25.4 方法定义 782

25.5 Java API 包 787

25.6 随机数生成 791

25.7 示例:运气游戏 794

25.8 JApplet 类的方法 802

25.9 数组的声明与分配 804

25.10 数组应用示例 804

25.11 引用和引用参数 815

25.12 多维数组 815

自测练习 819

练习 821

第26章 基于对象的 Java 编程 826

26.1 简介 826

26.2 用类实现时间抽象数据类型 827

26.3 类的作用域 834

26.4 创建包 835

26.5 类对象的初始化:构造函数 839

26.6 使用 Set 和 Get 方法 840

26.7 使用 this 引用 847

26.8 结束函数 850

26.9 静态类成员 850

自测练习 854

练习 855

第27章 面向对象的 Java 编程 859

27.1 简介 859

27.2 超类和子类 861

27.3 protected 成员 863

27.4 超类对象和子类对象的关系 863

27.5 子类对象向超类对象的隐式转换 870

27.6 具有继承的软件工程 871

27.7 复合与继承的比较 872

27.8 多态简介 872

27.9 类型字段和 switch 语句 872

27.10 动态方法绑定 873

27.11 final 方法和类 873

27.12 抽象超类和具体类 874

27.13 多态示例 875

27.14 新类和动态绑定 876

27.15 案例研究:继承接口和实现 877

27.16 案例研究:创建和使用接口 883

27.17 内部类定义 889

27.18 内部类定义的说明 900

27.19 基本类型的类型包装类 900

自测练习 901

练习 901

第28章 Java 图形和 Java2D 904

28.1 简介 904

28.2 图形环境和图形对象 906

28.3 颜色控制 907

28.4 字体控制 914

28.5 绘制直线、矩形和椭圆 920

28.6 绘制弧 923

28.7 绘制多边形和折线 926

28.8 Java2D API 929

28.9 Java2D 形状 929

自测练习 937

练习 938

第29章 Java GUI 组件 941

29.1 简介 941

29.2 Swing 概述 942

29.3 JLabel 944

29.4 事件处理模型 948

29.5 JTextField 和 JPasswordField 950

29.6 JTextArea 956

29.7 JButton 959

29.8 JCheckBox 963

29.9 JComboBox 966

29.10 鼠标事件处理 969

29.11 布局管理器 974

29.11.1 FlowLayout 974

29.11.2 BorderLayout 977

29.11.3 GridLayout 980

29.12 面板 983

29.13 创建自包含的 Jpanel 子类 984

29.14 窗口 990

29.15 使用有边框的菜单 992

自测练习 999

练习 1001

第30章 Java 多媒体:图像、动画及音频 1004

30.1 简介 1004

30.2 加载、显示和缩放图像 1005

30.3 加载和播放音频剪辑 1008

30.4 使一系列图像动起来 1011

30.5 动画问题 1016

30.6 通过 param HTML 标记自定义小程序 1017

30.7 图像映射 1022

30.8 Java 插件 1025

30.9 Internet 和万维网资源 1027

自测练习 1027

练习 1028

第4部分 附录 1031

附录A Internet 与 Web 资源 1031

A.1 C/C++资源 1031

A.2 C++教程 1033

A.3 C/C++FAQ 1034

A.4 Visual C++ 1034

A.5 comp.lang.c++ 1035

A.6 C/C++编译程序 1037

A.7 C++开发工具 1039

A.8 Java 资源 1039

A.9 Java 产品 1041

A.10 Java FAQ 1042

A.11 Java 教程 1042

A.12 Java 期刊 1043

A.13 Java 小程序 1043

A.14 多媒体 1044

A.15 Java 新闻组 1045

附录B C99 Internet 与 Web 资源 1047

附录C 运算符优先级 1050

附录D ASCII 字符集 1055

附录E 数制系统 1056

E.1 简介 1056

E.2 将二进制数缩写为八进制和十六进制数 1059

E.3 将八进制数和十六进制数转换成二进制数 1060

E.4 从二进制、八进制、十六进制转换成十进制 1060

E.5 从十进制转换为八进制、十六进制或二进制 1061

E.6 负二进制数:补码记数法 1063

自测练习 1064

练习 1066

相关图书
作者其它书籍
返回顶部