本书是由具有多年教学实践经验的美国Austin社区大学Judy Scholl教授编写的C++实验手册。本书通过大量精心设计的实验用例,帮助读者深刻地理解计算机程序设计中的重要概念,循序渐进地讲述如何进行程序设计。
全书共分14章。第1章和第2章中的实验主要涉及计算机、程序设计语言和C++基础知识;第3章到第12章中的实验主要涉及C++程序设计语言中的输入/输出、控制结构、数据类型以及函数和递归;第13章和第14章中的实验主要涉及抽象数据类型、类及继承和组成。
本书中的所有实验都经过精心设计,着重突出概念,有助于帮助读者理解C++程序设计的基本思想和基本方法。本书既可以与《C++编程——从问题分析到程序设计》一书配合使用,也可以作为其他C++教程的实验手册。
第1章 计算机和程序设计语言概述
作业首页
实验1.1 识别硬件与软件
实验1.2 存储信息
实验1.3 运行高级语言程序
实验1.4 基于问题分析-编码——执行周期的程序设计
实验1.5 面向对象程序设计
第2章 C++基础
作业首页
实验2.1 标识C++程序的基本组成
实验2.2 标识数据类型
实验2.3 使用算术运算符
实验2.4 使用cin、分配内存和使用赋值语句
实验2.5 使用cout、endl控制符和常见的转义字符
实验2.6 使用预处理指令、string数据类型和编写具有良好程序设计风格的C++程序
实验2.7 使用声明、提示、输入、计算和输出语句
第3章 输入/输出
作业首业
实验3.1 了解预定义输入函数
实验3.2 了解格式化输出
实验3.3 使用getline()函数
实验3.4 使用文件输入和输出
第4章 控制结构I(选择)
作业首页
实验4.1 使用关系运算符和逻辑运算符计算逻辑(布尔)表达式
实验4.2 使用选择控制结构if和if…else
实验4.3 使用嵌套的if和if…else语句
实验4.4 使用if语句处理输入失败
实验4.5 使用赋值运算符(=)和相等运算符(==)
实验4.6 使用条件运算符(?:)
实验4.7 使用switch选择控制结构
实验4.8 使用assert()函数终止程序运行
第5章控制结构II(循环)
作业首页
实验5.1 使用while循环结构
实验5.2 使用for循环结构
实验5.3 使用do…while循环结构
实验5.4 使用break和continue语句
实验5.5 使用嵌套的控制结构
第6章 用户自定义函数I
作业首页
实验6.1 使用标准(预定义)函数
实验6.2 设计并实现一个使用标准(预定义)函数的程序
实验6.3 带有返回值的用户自定义函数
实验6.4 用带有返回值的用户自定义函数设计一个程序
实验6.5 用带有返回值的用户自定义函数实现程序设计
实验6.6 调试一个带有返回值的用户自定义函数的程序
第7章用户自定义函数II
作业首页
实验7.1 调用不带参数的void函数
实验7.2 调用带值参的void函数
实验7.3 调用带引用参数的void函数
实验7.4 比较值参数和引用参数
实验7.5 在作用域内访问标识符
实验7.6 使用静态变量和自动变量
实验7.7 使用重载函数
实验7.8 使用默认参数
第8章 用户自定义简单数据类型、命名空间和string类型
作页首页
实验8.1 创建和使用枚举数据类型
实验8.2 使用typedef语句
实验8.3 使用命名空间机制
实验8.4 使用string数据类型和string函数操作字符串
实验8.5 使用字符串操作
第9章 数组和字符串
作业首页
实验9.1 声明和操作数组中的数据
实验9.2 检查下标越界和初始化数组
实验9.3 数组作为参数传递给函数
实验9.4 使用C-string编写代码
实验9.5 使用C-string输入输出数据
实验9.6 使用关联数组编写代码
第10章 数组II
作业首页
实验10,1 实现顺序查找算法
实验10.2 使用选择排序算法排序数组
实验10.3 实现折半查找算法
实验10.4 处理二维数组中的数据
实验10.5 使用字符串数组
实验10.6 使用多维数组
第11章 递归
作业首页
实验11.1 使用递归算法
实验11.2 使用C++实现递归算法
实验11.3 用递归算法设计并实现幂函数
实验11.4 使用C++设计并实现其他递归函数
第12章 结构
作业首页
实验12.1 定义结构并声明结构变量
实验12.2 使用结构操作数据
实验12.3 在结构中使用数组和使用结构数组
第13章 类和数据抽象
作业首页
实验13.1 定义类和声明对象
实验13.2 使用类操作数据
实验13.3 通过类对象访问类成员
实验13.4 使用默认构造函数
实验13.5 使用带有参数的构造函数
实验13.6 使用带有默认参数的构造函数
实验13.7 使用析构函数
实验13.8 使用抽象数据类型和信息隐藏
第14章 继承和组合
作业首页
实验14.1 重载基类成员函数
实验14.2 使用派生类和基类的构造函数
实验14.3 为基类和派生类创建头文件
实验14.4 在继承中使用类的protected成员
实验14.5 类的组合关系
实验14.6 理解面向对象设计(OOD)和面向对象编程(OOP)
编写本实验手册的目的是通过一些循序渐进的范例,使学生们逐渐熟悉编程思想,熟练掌握程序设计和编码的方法。本书除了可以和《C++编程——从问题分析到程序设计》一书配套使用以外,还可以作为任何大学计算机专业一年级C十+教科书的辅助教材。
特点
为了保证指导教师和学生能够成功地进行实验,本实验手册具有如下特征:
■ 实验目标——每项实验都有简要描述和学习目标。
■ 所需材料——每项实验都有包括硬件、软件和其他所需材料的说明。
■ 完成时间——每项实验都有估计的完成时间,以便可以准确地安排实验时间。
■ 实验分组——每项实验分成易于管理的小组(section)。为了说明某些项目(project)的重要性,本书适时地提供了一些与实验有关的背景知识。
■ 逐步指导—一有助于逐步提高编程技术的熟练程度。
■ 问题回顾——有助于翠解实验所体现的概念。
软件需求
■ Windows 98、WindowsME、Windows 2000或Windows XP操作系统
■ Microsoft Visual C++ 6.0
实验作业
在本实验手册中,有些实验作业要求写出习题的答案,另一些则要求通过C++编译器来完成。
■ 对于要求写出答案的作业,请找到实验手册中相关部分并把答案直接写在上面。
■ 对于编程作业,请使用指导教师推荐或要求的C++编译器编译。然后,打印包括程序代码、程序提示、显示在屏幕上的输入和输出、输入文件和输出文件等所有文档,并将其与手写的答案一同提交。
如果指导教师需要实验作业的电子文档,则需要通过电子邮箱或软盘来提交所完成的工作。(注意,一张软盘可能容纳不下用户的C++程序以及相关文件。)除了必须包含.cpp文件、.exe文件、.h文件和输入输出文件以外,指导教师会告诉用户还要包含哪些文件。请在所有文件的标题中注明用户的名字或ID。
■ 如果需要提交程序文档,请先编译、运行程序。然后,将程序的提示、输入和输出作为一个注释块复制粘贴到程序文档的后面。
在Windows 2000中,单击输出窗口工具栏上的标记(Mark)按钮。(在输出窗口中,工具栏会默认出现,如果没有出现,请按照下面说明的在Windows XP中的操作来进行。)拖动鼠标,选中要复制的文本,然后单击复制(Copy)按钮。在文本编辑器中打开程序,例如,可以使用SDK中的程序编辑器并移动到程序的结尾,然后键入/*作为注释的开始标志。按下Ctrl+V键,把复制的文本粘贴过来,最后键入*/作为注释的结束标志。
在Windows XP中,右击输出窗口的标题栏,选择编辑(Edit)项并单击标记(Mark)选项。拖动鼠标,选中要复制的文本,然后按回车键。在文本编辑器中打开程序,例如,可以使用SDK中的程序编辑器,移动到程序的结尾,然后键入/*作为注释的开始标志。按下Ctrl+V键,把复制的文本粘贴过来,最后键入*/作为注释的结束标志。
在完成上述操作后,既可以以打印程序文档的方式,也可以以电子文档的方式提交程序文件。