C++程序设计实验指导

C++程序设计实验指导"

作者:胡思康
ISBN:9787302503095
定价:¥29
字数:千字
页数:
出版时间:2018.07.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书全面、系统地引导读者进行面向对象程序设计的学习和实验。本书注重知识的原理性、系统性,并通过各章实验的逐步展开,不仅使读者巩固面向对象程序设计的基本原理和概念,而且有利于读者提升对面向对象三大特性的理解、掌握和实际应用。

本书共分为8章。第1章是本书实验指导目标的说明;第2章简要介绍本书实验所用的Visual C++与Visual Studio 2017集成开发环境;第3章进行面向对象程序设计基础的实验,包括指针、引用、数组、函数、重载等要素;第4章进行面向对象封装性的实验,包括构造函数、拷贝构造函数、析构函数、运算符重载等内容;第5章进行面向对象继承性的实验,包括单继承、函数覆盖、聚集(组合)、类间关系分析等内容;第6章进行面向对象多态性的实验,包括虚函数、纯虚函数、抽象类、继承过程中的构造函数和析构函数、类家族分析与设计等内容;第7章进行面向对象错误处理的异常机制实验,包括异常的声明、定义、抛出、捕获等技术和方法;第8章综合实验指导,用于巩固和提高面向对象程序设计的实践和综合应用能力。

本书可作为高等院校计算机专业或信息类相关专业课程的上机实验教材或教学参考书,也可作为从事软件开发的工程人员或计算机用户的参考用书。

前言

本书是C++程序设计的实验指导书,以Visual C++ 6.0集成开发环境或Visual Studio 2017集成开发环境为开发工具,内容包含面向对象程序设计领域内的基本概念和技术,突出面向对象程序设计的思想,培养程序设计的良好风格。本实验指导书的目的是使读者在学习面向对象技术以及C++程序设计语言的过程中,同步进行上机实验。更重要的是,在读者学习的过程中,本书能起良师益友的作用——给予必要的实验指导和说明。

本书以标准C++语言提供的语法、语句和结构为基础来指导上机实验,实验内容涉及C++语言的基本概念、变量、常量、指针、数组、引用、静态量、函数、参数、类与对象、运算符重载、类的继承、虚函数、纯虚函数、多态性、异常、函数模板、类模板以及C++的I/O流库等。本书所选实验按相关内容划分成章,概念清晰,覆盖面广,在每章开始部分给出本次实验的基础知识、实验目的和要求。对每个实验不仅给出参考答案,还进一步给出实验解答及解析,并给出在实现中的意见和建议,引起读者的注意和讨论,以期拓宽程序设计的思路。

读者应如何使用本书的指导实验来巩固和提高所学内容?首先,本书的实验指导专注于面向对象技术思想的建立,不涉及复杂的算法和数据结构。其次,本书实验指导力求将所学习的、离散的知识点有机组合,形成一个较完整的实验,使读者从实际的问题入手,分析、设计并编码完成实验;在每个实验的实验解答及解析中,讨论面向对象程序设计中应注意的问题。最后,本书实验指导从第一个实验开始,就注意培养读者良好的面向对象程序设计风格,包括定义类、属性、成员函数时的命名方式、版式、注释等内容。良好的程序设计和实现风格是确保软件质量的要素之一。

本书各章的组织结构如下图所示。

本书各章主要内容如下: 

第1章实验指导目标,介绍实验指导的目的和本书的实验指导结构和内容。

第2章C++语言集成开发环境,分别讲述Visual C++ 6.0集成开发环境和Visual Studio 2017集成开发环境。本书中的所有实验代码在两个编译环境下均测试通过。

第3章面向对象程序设计基础,主要是帮助读者巩固结构化程序设计的基础,因为这些内容也是面向对象程序设计的基础。只有在充分理解、掌握和灵活应用的基础上,才能更好地完成面向对象的程序设计。第4章面向对象封装性,通过对一个类的属性、方法、构造函数、析构函数、成员函数、运算符重载等内容的综合定义与实现,理解类的封装性特征。

第5章面向对象继承性,通过定义和实现多个类之间的继承(泛化)关系来理解和掌握C++语言对继承性的技术支持。

第6章面向对象多态性,通过定义虚函数、纯虚函数(接口)、抽象类以及类模板等技术来实现多态性特征。

第7章错误处理机制: 异常,通过定义异常、捕获异常,以及自定义异常类,来理解面向对象程序设计中错误的处理方式。

第8章综合实验指导,设计了多项综合实验指导,这些实验指导提炼于实际项目,并与本书各章之间的内容相互衔接。读者可以在阅读、完成各章实验之后,选择本章中与之对应的实验指导进行进一步练习,巩固和提高所学知识。

本书既可以作为高等院校本科、专科等学生学习C++语言程序设计的实验指导,也可以作为自学考试、计算机等级考试、资格和水平考试等的实践用书。

由于作者水平有限,疏漏、欠妥之处在所难免,恳请读者指正。读者如果对本书有任何意见和建议,欢迎与作者联系: skhu@163.com。

作者

于北京理工大学

2018年5月〖1〗C++程序设计实验指导〖3〗〖3〗

目录

第1章实验指导目标/1

1.1目的1

1.2实验指导的结构1

第2章C++语言集成开发环境/3

2.1Visual C++ 6.0集成开发环境3

2.1.1Visual C++ 6.0集成开发环境概述3

2.1.2Visual C++ 6.0的菜单项4

2.1.3Visual C++ 6.0的工具条5

2.1.4Visual C++ 6.0的项目工作区7

2.1.5编写第一个C++程序——Hello World!8

2.1.6Visual C++ 6.0 的帮助系统——MSDN9

2.2Visual Studio 2017集成开发环境10

2.2.1Visual Studio 2017集成开发环境概述10

2.2.2Visual Studio 2017的第一个程序——Hello World!

10

第3章面向对象程序设计基础/15

3.1实验目的15

3.2知识要点15

3.3实验一: 返回数组的函数16

3.3.1实验内容16

3.3.2实验要求17

3.3.3实验解答及解析17

3.4实验二: 统计英文文本中的单词个数20

3.4.1实验内容20

3.4.2实验要求21

3.4.3实验解答及解析21

3.5实验三: 分析程序——Stash的数据结构及内存分配23

3.5.1实验内容23

3.5.2实验要求23

3.5.3实验解答及解析23

3.6实验四: 求不同类型数据的长度27

3.6.1实验内容27

3.6.2实验要求27

3.6.3实验解答及解析27

3.7实验五: 求指定范围内的数组元素之和29

3.7.1实验内容29

3.7.2实验要求29

3.7.3实验解答及解析29

3.8实验六: 互换两个变量的值30

3.8.1实验内容30

3.8.2实验要求31

3.8.3实验解答及解析31

3.9实验七: 通过函数指针调用不同宠物的进食过程32

3.9.1实验内容32

3.9.2实验要求32

3.9.3实验解答及解析32

〖1〗C++程序设计实验指导〖3〗〖3〗第4章面向对象封装性/34

4.1实验目的34

4.2知识要点34

4.3实验一: 表示平面位置的点CPoint类35

4.3.1实验内容35

4.3.2实验要求35

4.3.3实验解答及解析35

4.4实验二: 分析程序——构造函数与析构函数的自动调用37

4.4.1实验内容37

4.4.2实验要求38

4.4.3实验解答及解析38

4.5实验三: 对结构体Stash的实现进行面向对象转换40

4.5.1实验内容40

4.5.2实验要求40

4.5.3实验解答及解析41

4.6实验四: 完善CStash类的功能43

4.6.1实验内容43

4.6.2实验要求43

4.6.3实验解答及解析43

4.7实验五: 分析程序——查找并修改程序中的错误44

4.7.1实验内容44

4.7.2实验要求46

4.7.3实验解答及解析46

4.8实验六: 实现对日期的计算48

4.8.1实验内容48

4.8.2实验要求48

4.8.3实验解答及解析49

4.9实验七: 定义自己的字符串CMyString类57

4.9.1实验内容57

4.9.2实验要求57

4.9.3实验解答及解析58

第5章面向对象继承性/64

5.1实验目的64

5.2知识要点64

5.3实验一: 分析程序——类间的聚集和继承关系65

5.3.1实验内容65

5.3.2实验要求65

5.3.3实验解答及解析65

5.4实验二: 给出两个圆的相互位置关系68

5.4.1实验内容68

5.4.2实验要求68

5.4.3实验解答及解析68

5.5实验三: 使用自定义的字符串CMyString类71

5.5.1实验内容71

5.5.2实验要求72

5.5.3实验解答及解析72

5.6实验四: 计算几何图形的面积与周长74

5.6.1实验内容74

5.6.2实验要求74

5.6.3实验解答及解析75

5.7实验五: 显示不同类的对象名称77

5.7.1实验内容77

5.7.2实验要求78

5.7.3实验解答及解析78

5.8实验六: 根据位置与边长来确定矩形与正方形80

5.8.1实验内容80

5.8.2实验要求80

5.8.3实验解答及解析81

5.9实验七: 银行个人账户不同类别的管理85

5.9.1实验内容85

5.9.2实验要求85

5.9.3实验解答及解析85

第6章面向对象多态性/89

6.1实验目的89

6.2知识要点89

6.3实验一: 分析程序——不同工种工人的工作90

6.3.1实验内容90

6.3.2实验要求90

6.3.3实验解答及解析90

6.4实验二: 改进计算几何图形的面积与周长的设计94

6.4.1实验内容94

6.4.2实验要求94

6.4.3实验解答及解析95

6.5实验三: 快递运费的计算97

6.5.1实验内容97

6.5.2实验要求98

6.5.3实验解答及解析98

6.6实验四: 管理家庭宠物101

6.6.1实验内容101

6.6.2实验要求102

6.6.3实验解答及解析102

6.7实验五: 显示不同艺术品的基本信息和重要信息106

6.7.1实验内容106

6.7.2实验要求106

6.7.3实验解答及解析106

6.8实验六: 根据元素个数改变栈大小109

6.8.1实验内容109

6.8.2实验要求109

6.8.3实验解答及解析110

6.9实验七: 栈的应用——在类模板中保存类的对象114

6.9.1实验内容114

6.9.2实验要求114

6.9.3实验解答及解析114

第7章错误处理机制: 异常/118

7.1实验目的118

7.2知识要点118

7.3实验一: 分析程序——抛出和捕获异常118

7.3.1实验内容118

7.3.2实验要求119

7.3.3实验解答及解析119

7.4实验二: 数组下标越界的异常处理121

7.4.1实验内容121

7.4.2实验要求121

7.4.3实验解答及解析122

7.5实验三: 定义抛出除以0错误和下标越界的异常类124

7.5.1实验内容124

7.5.2实验要求124

7.5.3实验解答及解析124

第8章综合实验指导/128

8.1实验目的128

8.2实验一: 切分字符串为多个子串129

8.3实验二: 仓库进出货统计129

8.4实验三: 多用户与文件130

8.5实验四: 整数与字符130

8.6实验五: 大整数运算130

8.7实验六: 集合运算131

8.8实验七: 构建SQL语句132

8.9实验八: 统计英文文本中词频最高与最低的词频133

8.10实验九: 硬件与软件133

8.11实验十: 图书、图书馆与读者134

8.12实验十一: 数据库的建立与数据存储134

8.13实验十二: 教师与学生信息的综合查询136

8.14实验十三: 菜单操作138

8.15实验十四: 工厂与产品139

8.16实验十五: 食肉动物与食草动物139

参考文献/140

作者简介

编辑推荐

强调实验的综合性应用,避免在实验中出现对单一的知识点进行实验设计

作者寄语

强调实验的综合性应用,避免在实验中出现对单一的知识点进行实验设计

电子资料

www.luweidong.cn

下一个