C++实验指导书_第1页
C++实验指导书_第2页
C++实验指导书_第3页
C++实验指导书_第4页
C++实验指导书_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

I 南阳理工学院南阳理工学院 C 上机实验指导书上机实验指导书 2011 版 软件学院 软件工程教研室 2011 3 C 上机实验指导书 软件学院 软件工程教研室 2011 版 目目 录录 实验实验 1 C 编程环境实践编程环境实践 1 实验实验 2 基本数据类型 运算符和表达式基本数据类型 运算符和表达式 2 实验实验 3 选择和循环结构 选择和循环结构 9 实验实验 4 4 指针与引用 指针与引用 11 实验实验 5 5 函数与重载函数与重载 12 实验实验 6 6 类与对象类与对象 13 实验实验 7 7 运算符重载 运算符重载 16 实验实验 8 8 继承继承 17 实验实验 9 9 多继承 多继承 19 实验实验 1010 多态与虚函数多态与虚函数 20 注 带 为选做实验 建议学生课后自行完成 C 上机实验指导书 软件学院 软件工程教研室 2011 版 1 实验实验 1 C 编程环境实践编程环境实践 一 实验目的一 实验目的 1 熟悉 VC 6 0 编程环境 2 编制简单 C 程序并运行 3 熟悉 C 的编辑 编译 连接和运行过程 二 实验内容及步骤二 实验内容及步骤 1 使用 VisualC 6 0 建立一个标准 C 程序 编译 运行以下程序 具体实验步骤 1 启动 Visual C 6 0 开发环境 从 开始 菜单中选择 程序 Microsoft Visual Studio 6 0 Microsoft Visual C 6 0 显示 Visual C 6 0 开发环境主窗口 如图 1 1 所示 在 Visual C 主窗口的顶部是菜单栏 左侧为项目工作区窗口 右侧是程 序编辑窗口 工作区窗口用来显示所设定的工作区的信息 程序编辑窗口用来 程序编辑区 项目工作区 菜单栏 图 1 1 Visual C 6 0 的主窗口 C 上机实验指导书 软件学院 软件工程教研室 2011 版 2 输入和编辑源程序 2 建立和运行只包含一个 C 源程序的方法 建立只包含一个 C 源程序的方法 一个最简单的 C 程序只包含一个源程序的文件 建立这样的一个 C 源程 序的方法是在 Microsoft Visual C 主窗口的菜单栏中选择 File New 命 令 弹出 New 对话框 单击 Files 选项卡 在其列表框中选择 C Source File 选项 表示要建立一个新的 C 源程序文件 然后在对话框右半 部分的 Location 文本框中输入准备编辑的源程序文件的存储路径 假设为 F C 表示准备编辑的源程序文件将存放在 F 盘 C 子目录下 在其上方 的 File 文本框中输入准备编辑的源程序文件的名字 假设为 example1 cpp 如图 1 2 所示 图 1 2 Files 中 New 选项卡 单击 OK 按钮回到主窗口 在程序编辑窗口编辑源程序文件 如图 1 3 所示 C 上机实验指导书 软件学院 软件工程教研室 2011 版 3 图 1 3 编辑源文件 选择 File Save 命令或快捷键 Ctrl S 保存源程序文件 也可以选择 File Save As 命令指定新的文件名和路径 这时输入和编辑的源程序就 以 example1 cpp 为文件名存放在 F C 子目录下 运行只包含一个 C 源程序的方法 若要运行当前的源文件或一个已有的源文件 首先需要对该源文件进行编 译 只要选择 Build Compile example1 cpp 命令进行编译即可 在选择编译命令后 屏幕上出现一个对话框 内容是 This build command requires an active project workspace Would you like to create a default project workspace 此编译命令要求有一个有效的项目 工作区 你是否同意建立一个默认的项目工作区 如图 1 4 所示 图 1 4 对话框提示信息 单击 是 Y 按钮 表示同意由系统建立一个默认的项目工作区 然后 开始编译 在进行编译时 编译系统检查源程序文件有无语法错误 然后在主 窗口下部的调试信息窗口输出编译的信息 如果有错误 就会指出错误的位置 和性质 如图 1 5 所示 图 1 5 编译提示信息 如果存在致命错误 error 和警告性错误 warning 则需要修改并重 新编译 没有错误 则编译成功 生成一个 example1 obj 文件 编译成功后 就可以对程序文件进行连接了 选择主菜单中的 Build Build example1 exe 命令 表示要求连接并建立一个可执行文件 example1 exe C 上机实验指导书 软件学院 软件工程教研室 2011 版 4 运行该文件 在屏幕就可以看到输出结果 2 建立一个多文件的程序 求最大值 主函数放在一个文件中 Max 函数 放在另一个文件中 如果一个程序中包含多个文件 则需要建立一个 project file 项目文件 project file 是放在 Workspace 项目工作区 中 并在项目工作区的管理下 工作的 因此 如果有多个项目文件存在时 还需要建立一个项目工作区 在 编译时 先分别对每个文件进行编译 然后将项目文件中的文件连接成一个整 体 再与系统的有关资源进行连接 生成一个可执行文件 最后执行这个文件 在实际操作时有两种方法 一种是由用户建立项目工作区和项目文件 另 一种是用户只建立项目和文件 而不建立项目工作区 由系统自动建立项目工 作区 后一种方法比前一种方法操作更简单 由用户建立项目工作区和项目文件的具体操作为 1 分别编辑好同一个程序的多个源程序文件 并存放在指定的目录下 如 一个程序包含两个源程序文件 file1 cpp 和 file2 cpp 如图 1 6 1 7 所示 并已经把它们保存在 F C 子目录下 图 1 6 file1 cpp 源文件 C 上机实验指导书 软件学院 软件工程教研室 2011 版 5 图 1 7 file2 cpp 源文件 2 建立一个项目工作区 建立一个项目工作区需要在 Microsoft Visual C 6 0 的主窗口中选择 File New 命令 然后单击此对话框上方的 Workspace 选项卡 在对话框 右部 Workspace name 和 Location 中分别输入工作区名 ws1 和路径名 F C ws1 如图 1 8 所示 图 1 8 选择 File New 命令 Workspace 选项卡 单击 OK 按钮 返回主窗口 此时在屏幕左部的工作区窗口中显示了 Workspace ws1 0 project s 说明当前的工作区名是 ws1 其中没 有放入项目文件 如图 1 9 所示 C 上机实验指导书 软件学院 软件工程教研室 2011 版 6 图 1 9 新建工作区 ws1 3 建立项目文件 选择 File New 命令 然后单击此对话框上方的 Project 选项卡 在 对话框左部的列表中选择 Win32 Console Application 项 在右部 Project name 和 Location 中分别输入项目文件名 Project 和路径名 F C ws1 project1 并按需要选中是否加入当前工作区 还是创建一个新的 工作区单选按钮 假设选择加入当前已有工作区 如图 1 10 所示 图 1 10 选择 File New 命令 Project 选项卡 单击 OK 按钮后 在弹出的对话框上选中 An empty project 单选按 钮 单击 Finish 按钮 则系统弹出一个工程信息对话框 单击 OK 按钮 出现图 1 11 所示对话框 可以看到在屏幕左部的工作区窗口中显示了 Workspace ws1 1 project s 说明当前的工作区名是 ws1 其中已经放入了项目文件 project1 C 上机实验指导书 软件学院 软件工程教研室 2011 版 7 图 1 11 新建的项目文件 project1 项目文件建好后 选择将源程序文件加入到该项目文件中 选择 Project Add To Project Files 命令 找到要加入的源程序文件 file1 cpp 和 file2 cpp 把他们加入到项目文件 project1 中 其显示结果如图 1 12 所示 此时可以对加入多个源程序文件的项目文件进行编译和连接了 方法是 单击主菜单中的 Build Build Project1 exe 命令 系统将对整个项目文 件进行编译和连接 在窗口下部会显示编译和连接的信息 如果程序有错 会 显示出错信息 这时需要进行修改 如果没错 则生成可执行文件 Project1 exe 选择主菜单中的 Build Execute Projrct1 exe 命令就可以执行 project1 exe 图 1 12 加入 file1 cpp 和 file2 cpp 的 project1 在程序运行时 根据要求输入所需的数据 回车后即得到程序的输出结果 C 上机实验指导书 软件学院 软件工程教研室 2011 版 8 C 上机实验指导书 软件学院 软件工程教研室 2011 版 9 include using namespace std int main void cout Hello n cout Welcome to C program n return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 10 实验实验 2 2 基本数据类型 运算符和表达式基本数据类型 运算符和表达式 一 一 实验目的实验目的 1 熟练掌握基本的数据类型 基本的算术运算符和表达式 2 掌握键盘输入和屏幕输出方式 3 能够运用基本的编程知识编写简单的程序 二 实验内容及步骤二 实验内容及步骤 1 三个简单的求值计算 分别输入圆柱体的半径和高 求体积 输入球半径 求其表面积 输入长方 体的长 宽 高 求其体积 include include using namespace std define PI 3 1415926 int main void double DRadius 0 DHigh 0 DBluk 0 double DBallRadius 0 DSuperArea 0 double DLength 0 DWith 0 DLongHigh 0 DLongBluk 0 cout cin DRadius DHigh DBluk PI DRadius DRadius DHigh cout 圆柱体的体积 fixed setprecision 2 DBluk endl cout cin DBallRadius DSuperArea 4 PI DBallRadius DBallRadius cout fixed setprecision 2 球的表面积为 DSuperArea endl cout cin DLength DWith DLongHigh DLongBluk DLength DWith DLongHigh cout fixed setprecision 2 长方体的体积为 C 上机实验指导书 软件学院 软件工程教研室 2011 版 11 DLongBluk endl return 0 2 编写一个程序 完成以下内容 1 累计和显示整 1 5 的和 include using namespace std int main void int i sum 0 for i 1 i 5 i sum i cout 1 2 3 4 5 sum endl return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 12 2 计算 1 5 相加的平均值 include using namespace std int main void int i sum 0 ave 0 for i 1 i 5 i sum i ave float sum 5 cout ave ave endl return 0 3 设有变量定义如下 int i 8 j 12 double x 3 14 y 90 希望得到如下的输出结果 i 10 j c x 6 28000 y 90 请编程实现 include include using namespace std int main void int i 8 j 12 double x 3 14 y 90 cout i i 2 j char j 87 endl C 上机实验指导书 软件学院 软件工程教研室 2011 版 13 cout fixed setprecision 5 x x cout fixed setprecision 0 y y endl cout endl return 0 4 设有如下语句 float x 100 y 3 14 char a t b s cout x is setw 10 x t cout setfill setw 20 y endl cout a b endl 则最终的输出结果是什么 5 请编程提示并接收用户输入的三角形的三条边长 然后用三边面积公式计算 三角形的面积 最后输出求的的面积值 计算方法 设 a b c 为三条边长 include include C 上机实验指导书 软件学院 软件工程教研室 2011 版 14 include using namespace std int main void float a b c ave float s 0 while 1 cout cin a b c if a 1 break ave a b c 2 0 if a b c cout fixed setprecision 2 三角形的面积为 s endl else cout 你输入的三边不能构成三角形 endl return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 15 C 上机实验指导书 软件学院 软件工程教研室 2011 版 16 实验实验 3 选择和循环结构 选择和循环结构 一 实验目的一 实验目的 1 熟练掌握 if 语句 switch 语句 while 语句 do while 语句和 for 语 句 2 掌握选择结构和循环结构程序设计 二 实验内容及步骤二 实验内容及步骤 1 求三个整数的最大值和最小值 1 定义三个整形变量 x1 x2 x3 并通过 cin 输入变量值 2 用 if else 语句对三个整数进行比较 求出最大值和最小值 3 用 cout 显示计算结果 include using namespace std int main int x1 x2 x3 int max min cout please input three numbers x1 x2 x3 if x1 x2 else if x2 x3 max x2 else max x3 if x1 x2 else if x2 x3 min x2 else min x3 cout max max endl cout min min endl C 上机实验指导书 软件学院 软件工程教研室 2011 版 17 cout n n system PAUSE 2 下面程序统计字符数组 c 中 0 1 2 及其他字符出现的次数 分别存放 在变量 i0 i1 i2 中 统计结束后输出它们的值 要求 分析出现结 果的原因 如何修改使结果正确 C 上机实验指导书 软件学院 软件工程教研室 2011 版 18 答 字符数组最后一个应该为 0 所以 i 应该小于 20 然后 i 在加 1 然后每个 case 完之后应该 break 源代码 include using namespace std int main void char c 0123456789001112222 int i0 0 i1 0 i2 0 i3 0 for int i 0 i 20 i switch c i case 0 i0 break case 1 i1 break case 2 i2 break default i3 cout i0 i0 endl cout i1 i1 endl cout i2 i2 endl cout i3 i3 endl return 0 3 增加实验 3 的功能 判断用户输入的正整数 n 是否为素数 直到用户输 入 1 为止 4 用 while 循环读入正整数 n 5 对于每个正整数 n 采用 for 循环判断是否为素数 C 上机实验指导书 软件学院 软件工程教研室 2011 版 19 6 打印输出判断结果 include using namespace std int main void int i num flag 0 cout cin num while num 0 for i 2 i num i if num i 0 flag 1 break else flag 0 if flag 1 cout num 不是素数 endl else cout num 是素数 endl cout cin num return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 20 4 编写一个程序实现两个数之间简单的四则运算 在程序中 提示用户按 表达式顺序输入操作数与运算符 include using namespace std float add float x float y return x y float sub float x float y return x y float mul float x float y return x y Float div1 float x float y C 上机实验指导书 软件学院 软件工程教研室 2011 版 21 return x y int main void float a b char opt cout cin a opt b switch opt case cout a b add a b endl break case cout a b sub a b endl break case cout a b mul a b endl break case If b 0 Cout 0 不能作为被除数 n Break cout a b div1 a b endl break default cout 输入错误 重新输入 endl return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 22 5 增加实验 5 的功能 是程序运行时 能一次完成多个运算 直至用户输 入字符 N 在程序中 提示用户输入 Y 或 N 以决定是否继续进 行四则运算 include include using namespace std float add float x float y return x y float sub float x float y return x y float mul float x float y return x y float div1 float x float y return x y int main void float a b char opt char yorn do cout cin a opt b switch opt case cout a b add a b endl break case cout a b sub a b C 上机实验指导书 软件学院 软件工程教研室 2011 版 23 endl break case cout a b mul a b endl break case if b 0 printf 0 不能作为被除数 n n break cout a b fixed setprecision 2 div1 a b endl break default cout 输入错误 重新输入 endl cout yorn while yorn Y yorn y return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 24 6 编一程序 输出以下图形 include using namespace std int main void int i j for i 0 i 4 i for j 0 j i j cout C 上机实验指导书 软件学院 软件工程教研室 2011 版 25 for j 0 j 4 i j cout i j cout cout endl for i 0 i i j cout for j 0 j i j cout for j 0 j i j cout cout endl cout n n return 0 7 求 即求 1 2 10 10 1i i include using namespace std C 上机实验指导书 软件学院 软件工程教研室 2011 版 26 int main void int i sum1 1 sum2 0 for i 1 i 10 i sum1 i sum2 sum1 cout 1 2 10 sum2 endl return 0 C 上机实验指导书 软件学院 软件工程教研室 2011 版 27 实验实验 4 4 数组 指针 引用 数组 指针 引用 一 实验目的一 实验目的 1 掌握指针的声明 使用和运算 2 学会数组与指针 函数与指针的使用方法 3 掌握 c string 的声明和使用方法 4 熟悉引用的声明与特点 二 二 实验内容及步骤实验内容及步骤 1 在主函数中输入一个字符串 str1 调用函数将 str1 中的下标为奇数的字 符取出构成一个新的字符串放入字符串 str2 中 要求被调函数参数为 str1 和 str2 在主函数中输出字符串 str2 源代码 include include using namespace std char getfunc char str1 char str2 int i 1 k 0 len1 len1 strlen str1 while i 16 str2 k str1 i i i 2 k str2 k 0 return str2 int main void char str1 abcdef0123456789 C 上机实验指导书 软件学院 软件工程教研室 2011 版 28 char str2 9 char p p getfunc str1 str2 cout str2 p endl return 0 2 编写程序 任意输入 10 个整数放于数组中 利用指针访问数组 求出 该数组中的最大数 max 以及最小数 min include using namespace std const int NUM 10 int main void int i arr NUM int ptr ptr arr int max 0 int min 10000 C 上机实验指导书 软件学院 软件工程教研室 2011 版 29 cout 请输入 10 个整数 endl for i 0 i ptr i for i 0 i NUM i if ptr i max max ptr i cout max max endl min min endl return 0 3 编写程序 输入一个字符串 将其中所有数字删除 并输出改动后的字 符串及其长度 例如输入 ab123df354adfx 输出 abdfadfx include include using namespace std int main void string str1 C 上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论