书籍详情

C++程序设计教程(第四版)

C++程序设计教程(第四版)

作者:(美)H.M.Deitel,(美)P.J.Deitel著;施平安译;施平安译

出版社:清华大学出版社

出版时间:2004-03-01

ISBN:9787302080084

定价:¥98.00

购买这本书可以去
内容简介
  作为全球使用最广泛的C++经典程序设计教材,本书详细介绍了过程式与面向对象程序设计的基本知识与方法,其中包括C++的强大功能、最新特性和新增的ANSI/ISO C++标准库。本书通过面向一个大型对象(电梯模拟系统)的程序设计,以数百年“活代码”示例程序,重点突出了利用最新的UML进行面向对象的设计。本书是Deitel父子编写的全球最畅销的C++程序设计教材,全书详细介绍了过程式编程和面向对象编程的基本原理和方法,包括:控制结构、函数、数组、指针和字符串、类和抽象、运算符重载、继承、虚拟函数、多态性、I/O、模板、异常处理、文件处理、数据结构和标准模板库(STL)。本书注重理论与实践的结合,每章都以若干完整的示例程序讲述编程时应考虑的一些注意事项,包括:良好编程习惯、常见编程错误、性能提示、可移植性提示、软件工程知识以及测试和调试提示。通过一个贯穿全文的电梯模拟系统案例分析,重点突出了用UML进行面向对象系统分析与设计方法。此外,本版还增加了选学的“模式探索”部分。本书是高等院校进行程序设计和C++教学的教材,是软件设计人员进行C++程序开发的宝贵参考书。
作者简介
  作者:DEITELHarveyM.Deitel,世界一流的计算机科学教员和研计会演讲人;PaulJ.Deitel,国际知名的教育家HarveyM.Deitel博士是Deitel&Associates公司总裁,有着40余年计算机领域的工作经验,进行了大量深入的教学研究,是世界一流的计算机科学教员和研计会演讲人。HarveyM.Deitel持有麻省理工学院学士、硕士学位和波士顿大学博士学位。他曾经在IBM和MIT的虚拟内存操作系统项目中从事研究工作,开发出在很多系统中广泛实现的技术。他还有20多年大学教学经验,取得过“教育特别津贴”。也是全球知名的计算机教材作者。其作品已被翻译成日、俄、中文(繁简)、韩、法、西班牙等语言。PaulJ.Deitel是Deitel&Associates公司执行副总裁,是麻省理工学院Sloun管理学校的毕业生。主修信息技术,通过Deitel&Associates公司他已经为DigitalEquipmentCorporation......等多家公司的客户提供Java、C和C++课程的教学活动,并曾为计算机协会波士顿分会授Java和C++语言,还通过卫星直播Java课程。VisualBasic.NET2003大学简明教程:实例程序设计>>更多作品
目录
第1章  计算机和C++编程概述
    1.1  简介
    1.2  计算机是什么
    1.3  计算机的构成
    1.4  操作系统的演进
    1.5  个人计算、分布式计算和客户机/服务器计算
    1.6  机器语言、汇编语言和高级语言
    1.7  C和C++发展简史
    1.8  C++标准库
    1.9  Java
    1.10  Visual Basic、Visual C++和C#
    1.11  其他高级语言
    1.12  结构化编程
    1.13  关键的软件趋势:对象技术
    1.14  一个典型的C++环境基础
    1.15  硬件发展趋势
    1.16  因特网发展简史
    1.17  万维网发展简史
    1.18  万维网协会(W3C)
    1.19  C++和本书的基本注意事项
    1.20  C++编程简述
    1.21  —个简单的程序:打印—行文字
    1.22  另一个简单程序:两个整数相加
    1.23  内存概念
    1.24  算术运算
    1.25  判断:相等运算符和关系运算符
    1.26  对象思想:对象技术及UML简介
    1.27  本书导读
    1.28  本章小结
第2章  控制结构
    2.1  简介
    2.2  算法
    2.3  伪代码
    2.4  控制结构
    2.5  汀选择结构
    2.6  if/else选择结构
    2.7  while循环结构
    2.8  算法设计:案例分析1(计数器控制循环)
    2.9  用自顶向下逐步求精法描述算法:案例分析2(标记控制的循环)
    2.10  用自顶向下逐步求精法描述算法:案例分析3(嵌套控制结构)
    2.11  赋值运算符
    2.12  自增和自减运算符
    2.13  计数器控制的循环的本质
    2.14  for循环结构
    2.15  for结构用法示例
    2.16  switch多选结构
    2.17  do/while循环结构
    2.18  break和continue语句
    2.19  逻辑运算符
    2.20  混淆相等运算符(==)和赋值运算符(=)
    2.21  结构化编程小结
    2.22  [可选案例分析]对象思想:确定问题所涉及的类
    2.23  本章小结
第3章  函数
    3.1  简介
    3.2  C++程序组件
    3.3  数学库函数
    3.4  函数
    3.5  函数定义
    3.6  函数原型
    3.7  头文件
    3.8  随机数产生器
    3.9  示例:博彩游戏和enum简介
    3.10  存储类
    3.11  作用域规则
    3.12  递归:
    3.13  递归应用示例:Fibonacci数列
    3.14  递归与迭代
    3.15  使用空参数列表的函数
    3.16  内联函数
    3.17  引用与引用参数
    3.18  默认实参
    3.19  —元作用域解析符
    3.20  函数重载
    3.21  函数模板
    3.22  [选学案例分析]对象思想:确定类的属性
    3.23  本章小结
第4章  数组
    4.1  简介
    4.2  数组
    4.3  数组声明
    4.4  数组用法示例
    4.5  将数组传给函数
    4.6  数组排序
    4.7  案例研究:利用数组计算平均数、中位数和众数
    4.8  查找数组:线性查找和折半查找
    4.9  多下标数组
    4.10  [选学案例分析]对象思想:确定类的操作
    4.11  本章小结
第5章  指针和字符串
    5.1  简介
    5.2  指针变量的声明和初始化
    5.3  指针运算符
    5.4  按引用调用函数
    5.5  使用带指针的const限定符
    5.6  用按引用传递实现的冒泡排序
    5.7  指针表达式和指针算法
    5.8  指针和数组的关系
    5.9  指针数组
    5.10  案例分析:洗牌和发牌模拟程序
    5.11  函数指针
    5.12  字符和字符串处理概述
    5.13  [选学案例分析]对象思想:对象间的交互
    5.14  小结
第6章  类和数据抽象(一)
    6.1  简介
    6.2  结构定义
    6.3  访问结构成员
    6.4  用struct实现用户白定义类型Time
    6.5  用class实现Time抽象数据类型
    6.6  类作用域和访问类成员
    6.7  接口同实现方法的分离
    6.8  控制对成员的访问
    6.9  访问函数和工具函数
    6.10  初始化类对象:构造函数
    6.11  在构造函数中使用默认参数
    6.12  使用析构函数
    6.13  何时调用构造函数和析构函数
    6.14  使用设置函数和获取函数
    6.15  微妙的陷阱:返回对private数据成员的引用
    6.16  默认逐个成员赋值
    6.17  软件重用性
    6.18  [选学案例分析]对象思想:编写电梯模拟程序的类
    6.19  本章小结
第7章  类和数据抽象(二)
    7.1  简介
    7.2  const对象和const成员函数
    7.3  合成:对象作为类成员
    7.4  友元函数和友元类
    7.5  使用this指针
    7.6  用new和delete实现动态内存分配
    7.7  静态类成员
    7.8  数据抽象与信息隐藏
    7.9  容器类和迭代器
    7.10  代理类
    7.1l  [可选案例分析]对象思想:设计电梯模拟程序中的类
    7.12  本章小结
第8章  运算符重载:字符串和数组对象
    8.1  简介
    8.2  运算符重载的基础知识
    8.3  运算符重载的限制条件
    8.4  用作类成员函数和友元函数的运算符函数
    8.5  重载流插入与流读取运算符
    8.6  重载一元运算符
    8.7  重载二元运算符
    8.8  案例分析:Array类
    8.9  类型转换
    8.10  案例分析:String类
    8.11  重载++和_ _
    8.12  案例分析:Date类
    8.13  标准库类string和vector
    8.14  本章小结
第9章  面向对象程序设计:继承
    9.1  简介
    9.2  基类与派生类
    9.3  protected成员
    9.4  基类和派生类之间的关系
    9.5  案例分析:三级继承层次
    9.6  派生类中的构造函数和析构函数
    9.7  “usesa”和“knowsa”关系
    9.8  public、protected和private继承
    9.9  关于继承的软件工程
    9.10  [可选案例分析]对象思想:在电梯模拟程序中结合继承
    9.11  本章小结
第10章  面向对象程序设计:多态性
    10.1  概述
    10.2  继承层次中对象之间的关系
    10.3  多态性举例
    10.4  类型域和switch结构
    10.5  抽象类
    10.6  案例分析:继承接口和实现
    10.7  多态性、虚拟函数和动态绑定
    10.8  虚析构函数
    10.9  案例分析:用多态性和带dynamic_cast和typeid的运行时类型信息的工资发放系统
    10.10  本章小结
第11章  模板
    11.1  简介
    11.2  函数模板
    11.3  重载函数模板
    11.4  类模板
    11.5  类模板与无类型参数
    11.6  模板与继承
    11.7  模板与友元
    11.8  模板与静态数据成员
    11.9  本章小结
第12章  C++输入/输出流
    12.1  简介
    12.2  流
    12.3  输出流
    12.4  输入流
    12.5  使用成员函数read、write和gcount的无格式输入/输出
    12.6  流操作元
    12.7  流格式状态和流操作元
    12.8  流错误状态
    12.9  把输出流连接到输入流
    12.10  本章小结
第13章  异常处理
    13.1  简介
    13.2  异常处理概述
    13.3  其他错误处理技术
    13.4  简单异常处理例子:除数为0
    13.5  重抛出异常
    13.6  异常规范
    13.7  处理意外异常
    13.8  堆栈解退
    13.9  构造函数、析构函数与异常处理
    13.10  异常与继承
    13.11  处理new失败
    13.12  auto ptr类与动态内存分配
    13.13  标准库异常的层次结构
    13.14  本章小结
第14章  文件处理
    14.1  简介
    14.2  数据的层次结构
    14.3  文件和流
    14.4  创建顺序访问文件
    14.5  读取顺序访问文件中的数据
    14.6  更新顺序访问文件
    14.7  随机访问文件
    14.8  建立随机访问文件
    14.9  向随机访问文件随机写入数据
    14.10  从随机访问文件中顺序读取数据
    14.11  案例分析:事务处理程序
    14.12  对象的输入/输出
    14.13  本章小结
第15章  string类和字符串流处理
    15.1  简介
    15.2  字符串的赋值与连接
    15.3  比较字符串
    15.4  子串
    15.5  交换字符串
    15.6  字符串的特性
    15.7  查找字符串中的字符串和字符
    15.8  替换字符串的字符
    15.9  在字符串中插入宁符
    15.]0  转换为C风格的char*字符串
    15.11  迭代器
    15.12  字符串流处理
    15.13  本章小结
第16章  CGI Web编程
    16.1  简介
    16.2  HTTP请求类型
    16.3  多层构架
    16.4  访问Web服务器
    16.5  Apache HTTP服务器
    16.6  请求XHTML文档
    16.7  CGI概述
    16.8  简单的HTTP事务
    16.9  简单的CGI脚本
    16.10  把输入发送给CGI脚本
    16.12  其他标题
    16.13  案例分析:交互式网页
    16.14  Cookies
    16.15  服务器端文件
    16.16  案例分析:购物车
    16.17  Internet和Web资源
    16.18  本章小结
第17章  数据结构
    17.1  简介
    17.2  自引用类
    17.3  动态内存分配
    17.4  链表
    17.5  堆栈
    17.6  队列
    17.7  树
    17.8  本章小结
第18章  位、字符、字符串和结构
    18.1  简介
    18.2  结构定义
    18.3  结构初始化
    18.4  在函数中使用结构
    18.5  关键字typedef
    18.6  示例:高性能洗牌与发牌模拟程序
    18.7  位运算符
    18.8  位域
    18.9  字符处理函数库
    18.10  字符串转换函数
    18.1l  字符串处理函数库中的查找函数
    18.12  字符串处理函数库中的内存处理函数
    18.13  本章小结
第19章  预处理程序
    19.1  简介
    19.2  预处理程序指令#include
    19.3  预处理程序指令#define:符号常量
    19.4  预处理程序指令#define:宏指令
    19.5  条件编泽
    19.6  预处理程序指令#error!与#pragma
    19.7  #与##运算符
    19.8  行号
    19.9  预定义的符号常量
    19.10  宏指令(assert)
    19.11  本章小结
第20章  C遗留代码
    20.1  简介
    20.2  UNIX和DOS系统上的输入/输出重定向
    20.3  变长参数列表
    20.4  使用命令行参数
    20.5  关于编译多重源文件程序的说明
    20.6  用函数exit与atexit终止程序运行
    20.7  类型限定符volatile
    20.8  整型数和浮点数常量的后缀
    20.9  信号处理
    20.10  用calloc与realloc进行动态内存分配
    20.11  无条件转向语句:goto
    20.12  共同体
    20.13  连接规范
    20.14  本章小结
第21章  标准模板库(STL)
    21.1  标准模板库(STL)简介
    21.2  序列容器
    21.3  关联容器
    21.4  容器适配器
    21.5  算法
    21.6  bitset类
    21.7  函数对象
    21.8  因特网与万维网上有关STL的资源
    21.9  本章小结
第22章其他主题
    22.1  简介
    22.2  const cast运算符
    22.3  reinterpret cast运算符
    22.4  命名空间
    22.5  运算符关键字
    22.6  显式构造函数
    22.7  可变类成员
    22.8  类成员指针(.*和->*)
    22.9  多重继承
    22.10  多重继承和虚拟基类
    22.11  结束语
    22.12  本章小结
附录A  运算符优先级表
附录B  ASCII字符集
附录C  数值系统
    C.1  简介
    C.2  将二进制数简化为八进制和十六进制数
    C.3  将八进制和十六进制数转换为二进制数
    C.4  将二进制、八进制和十六进制数转换为十进制数
    C.5  将十进制数转换为二进制、八进制或十六进制数
    C.6  负的二进制数:补码表示法
    C.7  小结
附录D  因特网和万维网上的C++资源
    D.1  资源
    D.2  教程
    D.3  FAQ
    D.4  Visual C++
    D.5  新闻组
    D.6  编译器和开发工具
    D.7  标准模板库
附录E  XHTML概述
    E.1  概述
    E.2  编辑XHTML
    E.3  第一个XHTML示例
    E.4  标题
    E.5  链接
    E.6  图像
    E.7  特殊字符和更多的换行
    E.8  无序列表
    E.9  嵌套列表和顺序列表
    E.10  XHTML的基本表格
    E.11  较复杂的XHTML表格和格式化
    E.12  XHTML的基本表单
    E.13  较复杂的XHTML表单
    E.14  因特网和万维网资源
    小结
附录F  XHTML特殊字符
猜您喜欢

读书导航