【全新正版】现代C++程序设计(原书第2版)

内容简介 本书采用生动轻松的语言,深入阐述了C++语言和面向对象程序设计技术。书中设计了超过115个完整的经过教学测试的代码示例,不仅分析了这些示例的代码片段,而且还解释了如何把它们组成一个完整的程序。此外,各章后面都提供了大量练习,有助于加强读者对相关内容的理解。 本书图文并茂,通俗易懂,真正做到寓教于乐,是一本难得的C++面向对象设计入门教材。 -------------------------------------------------------------------------------- 作者简介 Barbara Johnston,任教于新墨西哥中央社区学院,负责教授AA学位的计算机编程课程。她有20多年的软件开发和教学经验,目前兼任Rapid Imaging SoftwarrtCAM3D实时感知软件。e公司的软件开发工程师,负责开发了美国军用无人驾驶飞行器所使用的SmartCAM3D实时感知软件。 -------------------------------------------------------------------------------- 目录 出版者的话 译者序 前言 第1章 C++概述与软件开发 1.1 什么是C语言和C++ 1.1.1 C和C++历史回顾 1.1.2 C/C++是一门编译语言 1.1.3 为什么许多程序员都选择C++ 1.2 什么是面向对象 1.2.1 C++程序并不一定是面向对象的 1.2.2 一个简单的面向对象程序示例 1.2.3 面向对象的软件更有优势 1.3 结构化设计与面向对象设计 1.3.1 ATM——结构化设计 1.3.2 采用面向对象方法的ATM——究竟是谁的任务 1.3.3 汽车维护——结构化设计 1.3.4 采用面向对象方法的汽车维护——究竟是谁的任务 1.4 软件开发技术概述 1.5 问题发现与解决 复习题 第2章 C++的入门知识 2.1 编程基础 2.1.1 算法设计 2.1.2 正确的软件开发步骤 2.2 专业术语及工程创建 2.3 C++程序的一般格式 2.3.1 “Hello World!”程序 2.3.2 “How’s the Weather?”程序 2.4 程序的数据及数据类型 2.4.1 C++的数据类型 2.4.2 容器=数据类型,标签=变量名 2.4.3 数据类型修饰符 2.4.4 问题分析:整型数据究竟有多大 2.5 C++中的变量声明 2.5.1 C++的命名规则 2.5.2 在哪里声明变量 2.6 C++中的运算符 2.6.1 计算路程的程序 2.6.2 从键盘输入程序所需数据 2.6.3 赋值运算符 2.6.4 运算符的优先级 2.6.5 数据类型及其存储的值 2.6.6 算术运算符 2.6.7 自增运算符和自减运算符 2.6.8 复合赋值运算符 2.7 #define、const和数据类型转换 2.7.1 #define预处理指令 2.7.2 const修饰符 2.7.3 const比#define好吗 2.7.4 数据类型转换 2.8 关于键盘输入和屏幕输出的更多内容 2.8.1 转义序列 2.8.2 ios格式标记 2.8.3 流的IO控制符 2.9 开始使用类和对象、C++string类 2.10 练习 复习题 第3章 控制语句和循环 3.1 关系运算符和逻辑运算符 3.2 if语句 3.2.1 if-else语句 3.2.2 问题分析:在if语句中使用大括号 3.2.3 if-else if-else语句 3.2.4 低效的编程方法 3.2.5 if-else程序示例 3.2.6 嵌套if-else语句 3.2.7 条件运算符“?” 3.3 switch语句 3.4 循环 3.4.1 括号的用法 3.4.2 无限循环 3.5 for循环 3.5.1 不要改变循环索引 3.5.2 for循环示例 3.6 while循环 3.7 do while循环 3.8 跳转语句 3.8.1 break语句 3.8.2 continue语句 3.9 问题发现与解决 3.9.1 五个常见错误 3.9.2 调试程序 3.10 C++类与vector类 3.11 总结 3.12 练习 复习题 第4章 函数一:基础 4.1 C++中的函数 4.1.1 只由一个main函数构成的程序 4.1.2 包含多个函数的程序 4.1.3 函数是个好东西 4.1.4 三个重要的问题 4.2 函数:基本格式 4.3 函数的编写要求 4.3.1 你想住在C++旅馆中吗 4.3.2 函数为先 4.3.3 函数声明或函数原型 4.3.4 函数定义、函数标题行与函数体 4.3.5 函数调用 4.3.6 传值调用 4.3.7 问题分析:未声明的标识符 4.4 重载函数 4.5 具有默认输入参数列表的函数 4.6 局部变量、全局变量和静态变量 4.6.1 局部变量 4.6.2 块范围 4.6.3 全局变量 4.6.4 危险的全局变量 4.6.5 问题分析:全局变量y0、y1与cmath 4.6.6 静态变量 4.7 C++stringstream类 4.8 总结 4.9 练习 复习题 第5章 函数二:变量地址、指针以及引用 5.1 数据变量和内存 5.1.1 sizeof运算符 5.1.2 预留内存 5.1.3 计算机内存和十六进制 5.2 取地址运算符& 5.3 指针 5.4 函数、指针以及间接运算符 5.4.1 解决思路 5.4.2 指针和函数 5.4.3 有效处理大型数据 5.5 函数和引用 5.5.1 复习:两种机制 5.5.2 为什么要强调指针的重要性 5.6 queue类 5.7 总结 5.8 练习 复习题 第6章 数组 6.1 使用单个数据变量 6.2 数组基础 6.2.1 数组的索引值从0开始 6.2.2 使用for循环和数组来实现的电话账单程序 6.2.3 数组的声明和初始化 6.2.4 数组越界==严重的问题 6.2.5 vector与数组的比较 6.3 数组和函数 6.3.1 每个数组都有一个指针 6.3.2 数组指针 6.3.3 向函数传递数组:最开始的引用调用 6.3.4 利用数组和函数生成随机数并进行排序 6.4 C字符串,也称为字符数组 6.4.1 字符数组的初始化 6.4.2 null字符 6.4.3 C字符串的输入 6.4.4 C++中提供的字符数组函数 6.5 多维数组 6.5.1 二维数组的初始化 6.5.2 嵌套的for循环和二维数组 6.5.3 利用二维数组来实现Bingo游戏 6.6 多维数组和函数 6.6.1 改进的Bingo卡片程序 6.6.2 白雪公主:利用二维数组来存储姓名 6.7 利用数据文件对数组赋值 6.8 总结 6.9 练习 复习题 第7章 类和对象 7.1 我们所了解的类和对象 7.2 编写自己的类 7.2.1 入门实例:自定义日期类 7.2.2 第一个C++类:Date类 7.2.3 揭开类的生命之谜 7.2.4 set和get函数的作用与VolumeCalc类 7.2.5 PICalculator类 7.3 作为类成员的对象 7.4 类的析构函数 7.5 对象数组 7.6 重载运算符与对象 7.7 指针、引用和类 7.7.1 指针和引用实例 7.7.2 处理日期和时间的程序实例 7.8 总结 7.9 练习 复习题 第8章 继承和虚函数 8.1 为什么继承如此重要 8.1.1 IceCreamDialog实例 8.1.2 Counter类实例 8.2 继承基础 8.2.1 Counter和DeluxeCounter实例 8.2.2 保护成员 8.2.3 员工、老板和CEO 8.3 访问控制符的规范和多继承 8.4 继承、构造和析构 8.4.1 构造函数和析构函数回顾 8.4.2 基类和派生类的默认构造函数——没有参数 8.4.3 在重载的构造函数中使用参数 8.4.4 基类和派生类的析构函数 8.4.5 医生也是人 8.4.6 关于派生类和基类构造函数的规则 8.5 多态和虚函数 8.5.1 多态——同一个接口,不同的行为 8.5.2 什么是虚函数 8.5.3 虚函数的作用 8.6 总结 8.7 练习 复习题 附录A 学习使用Visual C++2005Express Edition 附录B C++关键字表 附录C C++运算符 附录D ASCII码 附录E 位、字节、内存和十六进制表示 附录F 文件输入/输出 附录G 部分C++类 附录H 多文件程序 附录I Microsoft visual C++2005Express Edition的调试器 术语表 本书《现代C++程序设计(原书第2版)》由Barbara Johnston撰写,是一本介绍C++语言及其面向对象程序设计技术的教材。作者通过生动轻松的语言风格,深入浅出地阐述了C++语言的基本概念、面向对象技术、控制结构、函数、类与对象、继承和虚函数等核心知识点。本书采用的超过115个完整的经过教学测试的代码示例,不仅解释了示例代码片段,还展示了如何将它们整合进完整的程序。此外,各章后的练习题有助于加深读者对内容的理解。 本书的特点在于图文并茂,通俗易懂,能够使读者在愉快的学习过程中掌握C++编程。Barbara Johnston是新墨西哥中央社区学院的教师,拥有超过20年的软件开发和教学经验,同时她也是Rapid Imaging Software公司的软件开发工程师,负责开发军用无人驾驶飞行器的软件。 书中的内容组织涉及了C++的基础知识,如编程基础、C++程序的格式、数据及数据类型、变量声明、运算符、函数声明和定义、类和对象、数组、继承和虚函数等。每章节末尾都有复习题,便于读者巩固所学知识。 第1章讲述了C++的基本概念,包括C++的历史、面向对象程序设计的介绍、结构化设计与面向对象设计的区别以及软件开发技术概述。 第2章详细介绍了C++的入门知识,包括算法设计、软件开发步骤、C++专业术语、程序的一般格式、程序中的数据和数据类型、变量声明、C++中的运算符使用、常量定义、数据类型转换以及键盘输入和屏幕输出的更多内容。 第3章讨论了控制语句和循环结构,涵盖了关系运算符和逻辑运算符的使用,if语句、switch语句、各种循环结构(for循环、while循环和do while循环)以及跳转语句的使用。 第4章与第5章则深入到函数的使用,包括函数基础、函数编写要求、重载函数、具有默认参数的函数、局部变量、全局变量和静态变量的使用、C++stringstream类的应用。 第6章专门讲解数组的使用方法,包括一维数组和多维数组的声明、初始化、数组与函数的关系以及C字符串的处理。 第7章和第8章讲述了类和对象以及继承和虚函数的概念,解释了类的定义、对象的创建、构造函数和析构函数的使用、继承的重要性、继承的使用方式、访问控制符的规范、多态和虚函数的概念和应用。 书的附录部分涵盖了Visual C++ 2005 Express Edition的学习使用方法,C++关键字表、运算符、ASCII码、位、字节、内存和十六进制表示法、文件输入/输出、部分C++类以及多文件程序和调试器的使用。 此外,本书的翻译和出版是由清华大学出版社和Pearson Education合作完成,经过了严格的出版流程,确保了教材的优秀性和领先性。教材编审委员会在选题阶段就对内容进行了精心挑选,确保教材符合中国的计算机科学教学需求,并通过与作者和译者的不断沟通,尽可能地保留了原作的原貌和精华。 整体而言,《现代C++程序设计(原书第2版)》不仅适合作为高校教材,也适合自学者深入理解C++语言及面向对象程序设计,是计算机科学与技术领域内的一本经典教材。













- 粉丝: 1557
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 云南省中小企业信息化风险的实证研究的开题报告.docx
- Access-2010数据表知识点(1).pdf
- 网络计划计算简易方法及技巧(速成)-文档资料.ppt
- 计算机通信技术在信息管理系统中的应用(1).docx
- 网络安全知识调查问卷.doc
- MATLAB-数据分析和统计.ppt
- 大学生职业生涯规划方案设计项目说明书计算机专业.doc
- 基于中职院校的人工智能通识课程的开发与研究(1).docx
- 通信网络维护管理办法(1).docx
- html上机考试PPT参考幻灯片.ppt
- 基于PLC的变频调速恒压供水系统设计(1)(1).doc
- 空中乘务教育在大数据背景下的发展与人才培养模式的创新(1).docx
- 职工工资管理系统设计--C语言课程设计(1)(1).doc
- 办公软件使用技巧.doc
- 地方政府推进乡镇企业信息化的策略探讨(1).docx
- 互联网+背景下幼儿教育新趋势探究(1).docx



- 1
- 2
- 3
前往页