首页 C++实验试题

C++实验试题

举报
开通vip

C++实验试题实验一  C++面向过程练习(一) (2学时) · 实验目的和要求: 1. 掌握C++程序的基本格式与规范,学会编写简单的C++程序。 2. 理解C++程序的结构和特点。 3. 熟悉C++程序基本的输入和输出操作。 4. 掌握C++数据类型、常量和变量以及修饰符的使用方法。 5. 掌握C++的各种流程控制语句的使用。 6. 熟悉C++语言实验环境,能够在VC6.0或BC3.0的环境下调试与运行程序。 · 实验内容: 1. 求解方程 在复数域上的解,a,b,c由终端输入。注意分析的全面性。 2. 用...

C++实验试题
实验一  C++面向过程练习(一) (2学时) · 实验目的和要求: 1. 掌握C++程序的基本格式与 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 ,学会编写简单的C++程序。 2. 理解C++程序的结构和特点。 3. 熟悉C++程序基本的输入和输出操作。 4. 掌握C++数据类型、常量和变量以及修饰符的使用方法。 5. 掌握C++的各种流程控制语句的使用。 6. 熟悉C++语言实验环境,能够在VC6.0或BC3.0的环境下调试与运行程序。 · 实验 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 : 1. 求解方程 在复数域上的解,a,b,c由终端输入。注意 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 的全面性。 2. 用 ,求e之值,直到 为止。 实验二 C++面向过程练习(二)(2学时) · 实验目的和要求: 1. 掌握一维数组、二维数组的定义与使用。 2. 掌握函数定义、函数调用和函数 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 的方法。 3. 掌握函数递归调用的概念和使用方法。 · 实验内容: 1. 编程求若干个整数中的最大和次大,最小和次小这四个数。 2. 由键盘输入两个整数,试编写两个函数分别求出这两个数的最大公约数和最小公倍数。 3. 编写一个递归函数void reverse(int a[],int n),将数组a中的数倒置。如a数组原来为:1 2 3 4 5,则调用reverse函数后,a数组内容变为:5 4 3 2 1。 实验三 C++在非面向对象方面的扩充(2学时) · 实验目的和要求: 1. 掌握函数重载的方法及定义重载函数时的注意事项。 2. 掌握函数缺省参数的使用。 3. 掌握指针的定义及使用方法,理解void型指针。 4. 理解动态内存分配意义,掌握new和 delete使用方法。 5. 掌握引用的声明方法及使用。 6. 掌握const修饰符及其内联函数的使用。 7. 熟悉C++在非面向对象方面的其他扩充特性。 · 实验内容: 1. 编写10个重载函数max,分别求两个整数、实数、双精度数、字符、字符串及三个整数、单精度数、双精度数、字符、字符串中的最大数。 2. 编写函数void add1(int sum),void add2(int * sum),void add3(int & sum),功能如下:输入若干个整数,以0结束,并用参数sum返回这若干个整数之和。在主程序中分别调用这三个函数,观察结果,总结值传递和地址传递的规律。 3. 矩阵中填数:当给出 N*N 的矩阵,要求用程序填入下列形式的数: (1)S形填数,例如N=5 (2)回转填数,例如N=5 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15 20 19 18 17 16 21 22 23 24 25 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 要求:用new和delete动态分配空间(提示:可用一维数组来表示二维数组)。 实验四 类与对象(一)(4学时) · 实验目的和要求: 1. 掌握类、类的数据成员、类的成员函数的定义方式。 2. 理解类成员的访问控制方式。 3. 掌握对象的定义和操作对象的方法。 4. 理解和掌握构造函数、析构函数、拷贝构造函数的定义与执行过程。 5. 掌握重载构造函数的方法。 6. 理解浅拷贝与深拷贝。 7. 了解对象的生存期。 · 实验内容: 1. 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形),要求: (1) Circle 类基本信息:圆心坐标、半径; Rectangle 类基本信息:长、宽; Triangle 类基本信息:三个顶点坐标; 其中:成员变量为 private 属性,成员函数为public 属性。 (2) 为Circle类设计缺省的构造函数,并用init成员函数进行数据成员的初始化。 (3) 为其余两个类设计多个构造函数:无参、带参、参数值缺省的构造函数。 (4) 每个图形类有计算图形的面积GetArea(),计算图形的周长GetPerimeter(),显示图形的基本信息函数Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,GetPerimeter()计算圆的周长,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;Set(int x,int y, int r)函数可以修改圆心坐标和半径。 (5) 注意多个构造函数的声明方式与定义的实现。 (6) 当输入数据为不合理数据时(例如:输入的三角形的顶点是否能组成一个三角形),提示用户输入错误。 2. 一维数组是应用极为广泛的数据结构,但是C++语言的数组没有下标越界检查,因而极易出错。请定义一个安全的一维整型数组类intArray,要求: (1) 基本信息:存储数据的基址指针,数组的大小,均定义为private属性。 (2) 定义构造函数、析构函数、拷贝构造函数。 (3) 定义以下成员函数: int GetSize();返回数组的大小,即数组的元素个数。 int GetAt(int nIndex) ;获得nIndex索引位置上的数组元素值。 void SetAt(int nIndex , int newElement);向nIndex位置设定新的newElement值。 (4) 使用intArray类实现一个冒泡排序程序。 实验五 类与对象(二)(4学时) · 实验目的和要求: 1. 掌握对象数组的定义与使用方法。 2. 理解对象指针的概念,学会用指针引用对象。 3. 理解this指针的工作方式。 4. 掌握静态数据成员和静态成员函数的基本使用方法。 5. 理解友元与友元函数的作用,掌握其使用方法。 6. 掌握对象成员及其常类型的使用方法。 7. 学会使用C++的多文件方式编写程序。 · 实验内容: 1. 设计一个Student(学生)类,并使Student类具有以下特点: (1) 该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩。 (2) 学生全部信息由键盘输入,以提高程序的适应性。 (3) 通过成员函数分别统计每个学生的平均成绩和每门课程的平均成绩,当课程 数量增加或减少时成员函数无需修改仍可求取平均成绩。 (4) 输出学生的各科成绩与平均成绩。 (5) 学生对象的定义采用对象数组实现。 (6) 统计不及格学生人数。 (7) 表格输出整齐美观。 (8) 能以最方便的方式实现对课程数量和学生人数的修改。 (9) 采用多文件方式组织程序。 实验六 继承与派生类 (4学时) · 实验目的和要求: 1. 理解类的继承的概念,能够定义和使用类的继承关系。 2. 掌握派生类的声明与定义方法。 3. 熟悉三种派生方式的访问特性。 4. 掌握多基继承,理解和掌握虚基类。 5. 理解赋值兼容规则。 · 实验内容: 1. 定义点Point类作为基类,在此基础上派生出直线Line类和圆Circle类,在Circle类的基础上以不同的属性派生出圆柱Cylinder类和球Spheroid类。并要求基类和各派生类具有以下特点: (1) Line类含有计算直线长度和斜率的成员函数。 (2) Circle类含有计算圆面积的成员函数。 (3) Cylinder类含有计算圆柱表面积和体积的成员函数。 (4) Spheroid类含有计算球体的表面积和体积的成员函数。 (5) 要求在实验报告中画出类层次图。 2. 小型公司人员管理。某小型公司有四类人员:总经理、技术人员、销售经理、推销员。设计一个基类person,并派生出employee(职员),再由employee派生出manager(总经理)、technician(技术人员)、salesmanager(销售经理)、saleman(推销员)。销售经理既是经理又是销售人员,兼具两类人员的特点,因此同时继承manager 和salesman 两个类。 (1) 类定义 · person类: 基本信息:姓名、性别、出生日期(使用自定义的 Date(日期)类) 其中:基本信息为 private 属性,成员函数为public 属性 · Date 类: 成员变量:年、月、日 · 派生类employee :新增属性:编号、职位、薪水等 · 派生类technician:新增属性:工作时间 · 派生类 saleman: 新增属性:销售额、所属部门 (2) 实现人员信息的录入与显示。 (3) 计算并显示个人月薪: 月薪计算办法:总经理拿固定月薪8000 元,技术人员按每小时25 元领取月薪;推销员的月薪按当月销售额的4%提成;销售经理固定月薪5000 元加所管辖部门当月销售总额的5‰ 。 实验七 多态性与虚函数 (4学时) · 实验目的和要求: 1. 理解编译时的多态性和运行时的多态性。 2. 掌握虚函数的定义与使用方法。 3. 掌握纯虚函数和抽象类的概念和使用方法,运用纯虚函数实现多态性。 · 实验内容: 1. 在实验六题目1的基础上,增加以下内容:在Line类的基础上派生长方形Rectangle类和正方形Squre类,并分别在长方形Rectangle类和正方形Squre类的基础上派生长方体Cuboid类和正方体SquareBody类,并要求基类和各派生类具有计算各图形的周长、面积和体积的功能,要求用纯虚函数实现。 注:可先定义一个抽象类---图形Figure类,含有求周长、面积、体积的纯虚函数,用此类进行派生。假设某个图形由上述几个图形组成,求该图形的总面积(若为平面图形)或总体积(若为立体图形)。 2. 员工管理: (1) 将实验六中题目2中不同员工的工资计算函数pay(),改用虚函数实现。 (2) 将每个类中的信息显示函数:display()改用虚函数实现。 (3) 对每个类增加一个升职函数:promote()。 (4) employee()类中的pay()和display()设计为纯虚函数;在主函数中便可以依据赋值兼容规则用基类类型的指针数组来处理不同派生类的对象。 (5) 由于不同类的对象调用升级函数promote()需要赋于不同的实参值,难以对各类对象统一处理,因此,employee()中promote()定义为虚函数,各派生类再定义同名函数。 实验八 运算符重载 (6学时) · 实验目的和要求: 1. 理解运算符重载的概念和使用方法。 2. 掌握运算符重载的两种形式。 3. 掌握几种常用运算符的重载。 · 实验内容: 1. 请为complex类(复数类)定义下列重载运算符函数 (1) 算术运算符+、-、*、/; (2) 求复数的共轭运算符! (3) 插入运算符<<; (4) 提取运算符〉〉 2. 请为fraction类(分数类)定义下列重载运算符函数 (1) 算术运算符+、-、*、/; (2) 关系运算符<,>,<=,>=,==,!= (3) 插入运算符<<; (4) 提取运算符〉〉 3. 对实验四中的题目2实现的intArray类定义下标运算符“[]”重载函数,并用下标运算符的方法实现冒泡排序。 实验九 模板 (2学时) · 实验目的和要求: 1. 掌握函数模板及其声明方法。 2. 掌握模板函数及其生成方法。 3. 学习类模板的声明与使用方法。 · 实验内容: 1. 定义函数模板实现求一维数组中所有数据的和。其数据类型可以为整数、单精度数、双精度数、字符型数,并规定字符型数据的和为这两个字符连接起来的字符串,如:‘a’+‘b’=“ab”。 2. 对实验五中的题目2 定义的intArray类用类模板进行改写(改为Array类),使之可以分别对若干整数、单精度数、双精度数、字符型数进行排序。 实验十 I/O流 (2学时) · 实验目的和要求: 1. 熟悉流及流类库的作用。 2. 掌握流类库中常用的类及其成员函数的使用方法。 3. 掌握控制输出宽度的函数width和setw。 4. 掌握函数setiosflags和resetiosflags设置和恢复对齐方式、精度、大小写、进制等。 · 实验内容: 1. 试分别用流的格式化状态字与I/O操作算子,各写一个三角形形状的九九乘法表。 2. 定义一个带有分别表示基数和整数值参数的格式化操作算子based,用以输出以此基数表示的整数。 实验十一 文件的使用 (2学时) · 实验目的和要求: 1. 掌握文本文件的输入输出方法。 2. 掌握文本文件的输入输出方法。 · 实验内容: 1. 学生文件中的每一行包含了以下信息:学号,姓名及5门功课的成绩,请从该文件中接收数据,统计每个学生的总分和平均成绩,并按总分从高到低排序,将结果输出到另一文件中。 实验十二 综合练习(选做) · 实验目的和要求: 掌握面向对象程序设计中一种常用的软件开发方法,即将软件开发过程划分为明显的几个阶段:问题分析和功能定义、对象设计和实现、核心控制设计、编码与测试、进化(有必要的话)等。 · 实验内容: 附录:实验报告的书写规范 1. 封面:请大家将实验报告的封面每一栏目写清楚、全面、准确。 2. 目录:要将所写的实验项目按次序写在第一页的目录上。注意项目名称的前后一致性。 3. 实验报告的格式: 项目名称 · 实验目的和要求 · 实验内容 · 实验步骤: 1. 问题分析和算法描述。 2. 对于较大的题目,要叙述采用的数据结构方式。如类的层次结构及其各成员的含义与功能及其实现。 3. 可以给出分析的流程图、数据流图、类的层次结构图、程序的结构图。 4. 可以附上源程序。 · 实验结果及其分析: 1. 实验结果: 1.1. 给出实验的结果及其形式(如程序运行后的界面等) 1.2. 至少给出两组测试用例,要具有针对性,最好要有一个刁难性的用例。 2. 实验分析: 2.1. 对程序用例的测试结果分析,如用例结果的正确性,程序的功能、可靠性、健壮性、缺陷等。 2.2. 对整个程序的调试或运行过程中所遇到的问题进行分析,并说明你的解决方法。 2.3. 对本次实验的体会做个总结,如有没有达到预期的目的和要求,掌握了哪些知识,学到了哪些方法,还有哪些内容不够清晰,今后将怎么做等等。尤其要对实验过程中学到的分析问题、遇到的问题、解决问题的方法、策略做个总结。 PAGE 6 _1140430164.unknown _1140534384.unknown _1140429102.unknown
本文档为【C++实验试题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_232014
暂无简介~
格式:doc
大小:84KB
软件:Word
页数:7
分类:互联网
上传时间:2012-10-19
浏览量:454