《C/C++程序设计大全》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)(H.M.狄泰)H.M.Deitel,(美)(P.J.狄泰)P.J.Deitel著;薛万鹏等译
  • 出 版 社:机械工业出版社;西蒙与舒斯特国际出版公司
  • 出版年份:1997
  • ISBN:711105816X
  • 页数:830 页
图书介绍:

目录 1

译者序 1

前言 1

第1章 基本概念 1

1.1 引言 1

1.2 计算机是什么 3

1.3 计算机的结构 3

1.4 批处理、多道程序设计和分时 4

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

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

1.7 C语言的历史 5

1.8 C标准库 6

1.9 其它高级语言 7

1.10 结构化程序设计 7

1.11 C环境的基本知识 8

1.12 对C语言和本书的总的说明 9

1.14 面向对象的程序设计和C++语言 10

1.13 ConcurrentC 10

第2章 C语言程序设计入门 19

2.1 引言 19

2.2 一个简单的C语言程序:打印一行文本 19

2.3 另一个简单的C语言程序:求两个整数的和 23

2.4 内存的概念 27

2.5 C语言的算术运算符 28

2.6 判断语句:相等测试运算符和关系运算符 31

3.2 算法 48

第3章 结构化程序的开发 48

3.1 引言 48

3.3 伪码 49

3.4 控制结构 49

3.5 if选择结构 51

3.6 if/else选择结构 52

3.7 while循环结构 56

3.8 制定算法:实例研究1(计数器控制的循环) 58

3.9 用自顶向下、逐步求精的方法制定算法:实例研究2(标记控制的循环) 59

3.10 用自顶向下、逐步求精的方法制定算法:实例研究3(嵌套控制结构) 65

3.11 赋值运算符 68

3.12 自增和自减运算符 69

第4章 程序控制 90

4.1 引言 90

4.2 循环的本质 90

4.3 计数器控制的循环 91

4.4 for循环结构 93

4.5 for结构:说明和评述 95

4.6 for结构用法举例 96

4.7 switch多路选择结构 99

4.8 do/while循环结构 104

4.9 break和continue语句 106

4.10 逻辑运算符 108

4.11 容易混淆的相等测试运算符(==)和赋值运算符(=) 110

4.12 结构化程序设计小结 112

第5章 函数 129

5.1 引言 129

5.3 数学库函数 130

5.2 C语言的程序模块 130

5.4 函数 132

5.5 函数定义 132

5.6 函数原型 137

5.7 头文件 139

5.8 函数调用:传值调用和传引用调用 140

5.9 随机数的产生 140

5.10 范例:碰运气游戏 145

5.11 存储类别 147

5.12 作用域规则 150

5.13 递归 152

5.14 递归应用举例:斐波纳契(Fibonacci)数列 155

5.15 递归与迭代的比较 159

第6章 数组 180

6.1 引言 180

6.2 数组 180

6.3 数组的声明 182

6.4 数组使用举例 182

6.5 把数组传递给函数 195

6.6 数组排序 199

6.7 实例研究:用数组计算均值(mean)、中位值(median)和众数(mode) 201

6.8 数组查找 205

6.9 多维数组 210

第7章 指针 234

7.1 引言 234

7.2 指针变量的声明和初始化 234

7.3 指针运算符 235

7.4 函数的传引用调用 238

7.5 对指针使用const限定符 241

7.6 使用传引用调用的泡沫排序法 247

7.7 指针表达式和指针的算术运算 251

7.8 指针和数组的关系 254

7.9 指针数组 258

7.10 实例研究:洗牌和发牌模拟 258

7.11 指向函数的指针 263

专题:建立自己的编译器 278

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

第8章 字符和字符串 290

8.1 引言 290

8.3 字符处理函数库 291

8.4 字符串转换函数 296

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

8.6 字符串处理库中的字符操作函数 304

8.7 字符串处理库中的比较函数 306

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

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

8.10 字符串处理库中的其它函数 318

专题:高级字符串操作练习 327

第9章 格式化输入/输出 332

9.1 引言 332

9.2 流 332

9.3 printf的格式化输出 333

9.4 打印整数 333

9.5 打印浮点数 335

9.6 打印字符串和字符 336

9.7 其它转换说明符 337

9.8 打印的域宽和精度 339

9.9 在printf的格式控制串中使用标志 341

9.10 打印直接量和转义序列 344

9.11 scanf函数的格式化输入 345

第10章 结构、联合、位运算和枚举 359

10.1 引言 359

10.2 结构的定义 359

10.3 结构的初始化 361

10.4 访问结构成员 362

10.5 结构和函数 363

10.6 类型定义:typedef 364

10.7 范例:高效的洗牌和发牌模拟 365

10.8 联合 367

10.9 位运算符 370

10.10 位段 377

10.11 枚举常量 381

11.2 数据的层次结构 393

11.1 引言 393

第11章 文件处理 393

11.3 文件和流 395

11.4 建立顺序存取文件 396

11.5 读取顺序存取文件中的数据 401

11.6 随机存取文件 405

11.7 建立随机存取文件 406

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

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

11.10 实例研究:事务处理程序 411

第12章 数据结构 426

12.1 引言 426

12.2 自引用结构 427

12.3 动态内存分配 427

12.4 链表 429

12.5 堆栈 437

12.6 队列 442

12.7 树 448

13.1 引言 476

13.2 预处理指令#include 476

第13章 预处理程序 476

13.3 预处理指令#define:符号常量 477

13.4 预处理指令#define:宏 477

13.5 条件编译 479

13.6 预处理指令#error和#program 480

13.7 运算符#和 480

13.9 预定义的符号常量 481

13.10 宏assert 481

13.8 行号 481

第14章 高级话题 486

14.1 引言 486

14.2 UNIX和DOS系统中的输入/输出重定向 486

14.3 变长参数列表 487

14.4 使用命令行参数 489

14.5 对编译多个源文件程序的说明 490

14.6 用exit和atexit终止程序的执行 492

14.8 整数和浮点数常数的后缀 494

14.9 再谈文件 494

14.7 类型限定符volatile 494

14.10 信号处理 497

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

14.12 无条件转移:goto语句 499

第15章 把C++看作更好的C 507

15.1 引言 507

15.2 C++的单行注释 508

15.3 C++的输入/输出流 509

15.4 C++中的声明 510

15.5 在C++中建立新的数据类型 511

15.6 函数原型和类型检查 512

15.7 内联函数 513

15.8 引用参数 517

15.9 const限定符 521

15.10 动态内存分配:new和delete运算符 523

15.11 默认参数 524

15.12 单目作用域运算符 525

15.13 函数重载 526

15.15 函数模板 529

15.14 连接说明 529

第16章 类和数据抽象(第一部分) 539

16.1 引言 539

16.2 结构的定义 541

16.3 访问结构的成员 541

16.4 用结构实现用户定义的类型Time 542

16.5 用类实现抽象数据类型Time 544

16.6 类的作用域和访问类的成员 550

16.7 接口和实现的分离 550

16.8 控制对成员的访问 553

16.9 访问函数和工具函数 557

16.10 初始化类的对象:构造函数 558

16.11 在构造函数中使用默认参数 561

16.12 析构函数的使用 561

16.13 调用析构函数和构造函数的时机 565

16.14 数据成员和成员函数的使用 567

16.15 微妙的陷阱:返回对私有数据成员的引用 572

16.16 拷贝逐个成员的默认赋值方式 575

16.17 软件的可重用性 576

第17章 类和数据抽象(第二部分) 584

17.1 引言 584

17.2 const对象和const成员函数 584

17.3 复合:把类作为其它类的成员 592

17.4 友元函数和友元类 596

17.5 使用this指针 599

17.6 动态内存分配:运算符new和delete 604

17.7 类的静态成员 605

17.8 数据抽象和信息隐藏 609

17.8.1 范例:数组抽象数据类型 610

17.8.2 范例:字符串抽象数据类型 611

17.8.3 范例:队列抽象数据类型 611

17.9 包容器类和递取类 612

17.10 模板类 612

第18章 运算符重载 620

18.1 引言 620

18.2 运算符重载的基本知识 621

18.3 运算符重载的限制 622

18.4 用作类成员的运算符函数和用作友元函数的运算符函数 623

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

18.6 重载单目运算符 627

18.7 重载双目运算符 628

18.8 实例研究:数组类Array 628

18.9 类型之间的转换 638

18.10 实例研究:字符串类String 639

18.11 重载++和-- 649

18.12 实例研究:类Date 650

第19章 继承 667

19.1 引言 667

19.2 基类和派生类 668

19.3 受保护的成员 670

19.4 把基类指针强制转换为派生类指针 670

19.5 使用成员函数 675

19.6 在派生类中重定义基类成员 675

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

19.8 直接基类和间接基类 680

19.7 公有的、受保护的和私有的基类 680

19.10 把派生类对象隐式转换为基类对象 684

19.11 关于继承的软件工程 685

19.12 复合与继承的比较 686

19.13 对象的“使用”关系和“知道”关系 686

19.14 实例研究:类Point、Circle和Cylinder 687

19.15 多重继承 694

20.2 类型域和switch语句 704

20.1 引言 704

第20章 虚函数和多态性 704

20.3 虚函数 705

20.4 抽象基类和具体类 706

20.5 多态性 707

20.6 实例研究:利用多态性的工资单系统 708

20.7 新类和动态联编 718

20.8 虚析构函数 718

20.9 实例研究:继承接口和实现 719

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

21.1 引言 731

21.2 流 732

21.2.1 iostream类库的头文件 732

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

21.3 输出流 734

21.3.1 流插入运算符 734

21.3.2 连续使用流插入/提取运算符 736

21.3.3 输出char*类型的变量 737

21.3.4 用成员函数put输出字符和put函数的连续调用 737

21.4.1 流提取运算符 738

21.4 输入流 738

21.4.2 成员函数get和getline 740

21.4.3 类istream中的其它成员函数(peek、putback和ignore) 743

21.4.4 类型安全的I/O 743

21.5 成员函数read、gcount和write的无格式输入/输出 743

21.6 流操纵算子 745

21.6.1 整数流的基数:流操纵算子dec、oct、hex和setbase 745

21.6.2 设置浮点数精度(precision、setprecision) 746

21.6.3 设置域宽(setw、width) 747

21.7 流格式状态 748

21.6.4 用户自定义的操纵算子 748

21.7.1 格式状态标志 750

21.7.2 尾数零和小数点(ios::showpoint) 751

21.7.3 对齐(ios::left、ios::right、ios::internal) 751

21.7.4 设置填充字符(fill、setfill) 753

21.7.5 整数流的基数(ios::dec,ios::oct, 754

ios::hex,ios::showbase) 754

21.7.6 浮点数和科学记数法(ios::scientific,ios::fixed) 755

21.7.7 大/小写控制(ios::uppercase) 756

21.7.8 设置及清除格式标志(flags,setios-flags,resetiosflags) 757

21.8 流错误状态 758

21.9 用户自定义类型的I/O 760

21.10 把输出流系到输入流上 762

附录A C语法 777

附录B 标准库 789

附录C 运算符的优先级与结合性 818

附录D ASCII字符集 819

附录E 数值系统 820