C语言实验题目及其解答

article/2025/3/18 13:15:46

实验一
1、有以下C语言程序,功能为输入圆的半径,求出圆周长和圆面积。采用类的形式来改写该程序。(要求半径的默认初值为0)

#include <iostream.h>
const float PI=3.14;
float circumference(float r);
float area(float r);

void main()
{
float r;
cout<<“输入圆的半径值:”<<endl;
cin>>r;
float c=circumference®;
float a=area®;
cout<<“圆的周长是:”<<c<<endl;
cout<<“圆的面积是:”<<a<<endl;
}

float circumference(float r)
{
return 2PIr;
}

float area(float r)
{
return PIrr;
}

2、阅读以下程序,把成员函数的实现修改为类外定义并调试输出结果。

#include <iostream.h>
class counter{
int value;
public:
counter(int number) { value= number; }
void increment() { value++; }
void decrement() { value–; }
int getvalue() { return value; }
void print() { cout <<“计数器的值为 “<<value<<endl; }
};
void main( )
{ counter ct(0);
int top,low;
for (int i=1; i<=20; i++ )
{ ct.increment(); ct.print(); top=ct.getvalue(); }
for (i=1; i<=20; i++ )
{ct.decrement(); ct.print(); low=ct.getvalue(); }
cout << “top=”<<top<<”,low=”<<low<<endl;
}

3、 定义一个类score,它含有私有数据成员english_score(英语分数)、公有成员函数setscore( )和printscore( ),其中setscore( )用来设置english_score的值,printscore( )用来输出english_score的值。在主程序中定义类score的两个对象stu1和stu2,其英语成绩分别为85.5和93.5 ,输出这两个分数。

4、描述一个圆柱的类。成员中有私有数据半径及高,要求有析构函数、构造函数、体积函数、表面积函数。定义类的1个对象,编写主函数进行测试。

实验二
1、有某个圆形游泳池,现需要在其周围建一个圆型过道,并沿着过道的外围修上栅栏。栅栏的价格为35元/米,过道的造价为20元/平方米。过道的宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价(需要定义类与对象)。

2、定义一个描述学生通讯录的类AddressBook,数据成员包括:姓名studentName、学校studentSchool、电话号码phoneNum和邮编mailBox;成员函数包括:输出各个数据成员的值print(),分别获取各个数据成员的值GetName(),GetScool(),GetNum(),GetBox(),构造函数和析构函数。
(注意:要灵活应用string处理字符串的便利性)
1)创建一个对象(王五 上海师范大学 021—12312345 0123344),验证各个成员函数的有效性
要求:将程序分为一个头文件和一个CPP文件,并且成员函数在类外定义
2)将成员函数的权限改为私有的,观察现象。说明出现问题原因。
3)增加一个默认构造函数,在函数体内设置一些默认值。然后用两种不同的方式实例化AddressBook对象
4)定义一个对象数组AddressBook stu[4],采用默认构造函数初始化,用cin接受相应的输入,完成数组对象的私有成员的赋值,并用print输出通讯录
5)将默认构造函数删掉,观察创建对象数组stu[4]时出现什么问题?为什么会这样?

实验三
1、创建一个线段Line类,包含有两个点Point类的对象成员p1, p2和线段长度len,需要求线段长度Length()和线段中点middle_Point(),显示线段端点坐标、显示线段长度、中点show()。Point类有两个私有数据成员x, y(分别表示点的横坐标和纵坐标)。创建对象来测试程序。

2、下面是一个含有派生类的程序:
#include <iostream.h>
class A {
protected:
int m,n;
public:
void set(int a, int b) { m=a; n=b; }
void show() { cout << m << " " << n <<endl; }
};
class B : public A {
int s;
public:
void sets() { s=m*n ; }
void shows() { cout << s << endl; }
};
void main()
{
B obj;
obj.set(2,3);
obj.show();
obj.sets();
obj.shows();
}
在这个程序中,B类的函数sets()能否访问类A中的变量m和n?为什么?

3、利用组合实现Point、Circle和Cylinder类
(1)类的描述如下:
a) Point类基本信息:x坐标,y坐标
b) Cirlce类基本信息:圆心坐标、半径;
c) Cylinder类基本信息:底面圆、高;
其中:成员变量为private属性,成员函数为public属性;
成员函数包括:计算图形的面积GetArea(),显示图形的基本信息show(),修改基本信息函数。
(2)类图如下所示:
在这里插入图片描述

(3)写出各个类的代码。注意:在组合类的构造函数中,实现对成员对象数据成员的初始化。注意调用同名函数的对象类型。
(4)编写一个主函数,将以下数据作为程序输入,并输出相应的值:
Point: (1,4)
Circle: 圆心(20,55) 半径:46
Cylinder:圆心(100,9) 半径:32,高78
在这里插入图片描述

实验四
1、建立基类Building, 作为楼房类,这个基类包含楼层数、房间数、楼房总面积。再建立派生类Home_Arch, Office_Building,分别为住宅楼类、办公室楼类。在类Home_Arch中,包含的内容有卧室数、客厅数、卫生间数和厨房数。在类Office_Building中,包含的内容有办公室数和会议室数。创建对象测试程序。

2、利用继承实现Point、Circle和Cylinder类
(1)类的描述如下:
a) Point类基本信息:x坐标,y坐标
b) Cirlce类基本信息:圆心坐标、半径;
c) Cylinder类基本信息:底面圆、高;
其中:成员变量为private属性,成员函数为public属性;
成员函数包括:计算图形的面积GetArea(),显示图形的基本信息show(),修改基本信息函数。
(2)类图如下所示:
在这里插入图片描述
(3)写出各个类的代码。注意:在派生类的构造函数中,实现对基类数据成员的初始化;在派生类中根据同名覆盖原则定义各自的同名函数实现具体功能
(4)编写一个主函数,将以下数据作为程序输入,并输出相应的值:
Point: (1,4)
Circle: 圆心(20,55) 半径:46
Cylinder:圆心(100,9) 半径:32,高78
(5)通过与实验三的第3个实验题比较,给出组合和继承在解决此类问题的优缺点
在这里插入图片描述

以上所以题目均有完整解答,有需要讨论交流可与我联系。


http://chatgpt.dhexx.cn/article/nt5E5pB6.shtml

相关文章

南京邮电大学C语言实验报告四

实验四&#xff1a;一维与二维数组实验 实验题目&#xff08;1&#xff09;【见实验教材实验五的题目&#xff11;】&#xff1a;编写程序exp5_1.c&#xff0c;在主函数中定义一维数组int array[10]&#xff0c;自定义以下函数&#xff1a;输入数组元素&#xff0c;输出数组元…

(C语言)实验2 用C语言编写程序

【实验目的】 1、熟悉顺序、分支和循环三种基本的控制结构。 2、使用C语言编制简单的顺序、分支和循环三种基本的控制结构的程序。 3、尝试用C 语言编写程序解决实际问题。 【实验要求】 1、实验共4题&#xff0c;每题25分&#xff0c;共100分&#xff1b; 2、实验需在截至日…

【C语言趣味实验】

C语言趣味实验--电脑关机&&猜数字 前言一、如何实现强制关机&#xff1f;shutdown用法 二、优化改进1&#xff1a;通过输入的字符串来判断是否关机改进2&#xff1a;通过猜数字是否正确来判断是否关机 总结 前言 亲爱的朋友们大家好&#xff0c;正如题目所见&#xff…

南京邮电大学C语言实验报告二

实验二&#xff1a;选择与循环结构编程 实验题目&#xff08;1&#xff09;【见实验教材实验二的题目6】&#xff1a;编程序exp2_6.c&#xff0c;读入3个double型变量a,b,c的值&#xff0c;用if语句判断它们能否构成三角形&#xff0c;如果能构成三角形又是构成的何种三角形&a…

C语言实验四

目录 1.国王的麦子 2. 求完数。 3.打印九九乘法表 4&#xff0e;求1!2!3!…20!&#xff1b; 5.&#xff08;1&#xff09;输入一行字符&#xff0c;分别统计出其中的英文字母、空格、数字和其它字符的个数。 &#xff08;2&#xff09;在得到正确结果后&#xff0c;请修…

c语言的实验,c语言 实验1

实验结论 Part 1 首次运行Part 1的几个实验内容时会产生错误&#xff0c;原因如下 有时忘记在主函数中的每行末尾加分号 return 0 时空格错误导致程序运行失败 # include int product (int,int); int main (void) { int x,y,s; scanf("%d%d",&x,&y); sprodu…

大一 C语言 实验1

《程序设计基础》上机实验报告 学号&#xff1a;201420224912 姓名&#xff1a;许培鑫 班级&#xff1a;计算机149 日期&#xff1a;2015-5-7 指导教师&#xff1a;成筠 成绩&#xff1a; ----------------------------------------------------------------- 实验六…

C语言 实验五

复制之前给个赞&#xff0c;好吗(〃▽〃) 题目一 7-1 参考书 (100 分) 某次考试是开卷考试。老师规定&#xff0c;纸质的资料&#xff08;以下统一称为参考书&#xff09;可以随便带&#xff0c;或者说只要你背得动想带多少本参考书都行。于是同学们就开始准备参考书了。就在…

C语言程序设计实验报告——实验一

C语言程序设计实验报告——实验一 实验一 简单C程序调试&#xff08;一&#xff09;第一个C程序1、实验题目&#xff1a;2、实验环境&#xff1a;3、实验步骤及过程&#xff1a;4、实验结果&#xff08;~~猜都猜得出来~~ &#xff09; &#xff08;二&#xff09;第二个C程序1、…

C语言实验报告(通用)

​​​​​​ 设计目的 公交线路基本信息的录入。1、线路信息的录入、修改等操作。2、要求系统要以菜单方式进行工作。3、公交线路包括&#xff1a;公交车号、起始发出车时间与末班车时间、票价等信息。 1.2 对知识点的基本介绍或者代码举例 正文&#xff0c;中文&#xff1a;宋…

RSA加密算法的数学原理

文章目录 RSA数学原理获取两个不相等的质数pq把p和q相乘&#xff0c;得到n计算出小于n的自然数中&#xff0c;有多少数与n互质&#xff08;欧拉函数&#xff09;在1和φ(n)之间&#xff0c;选取一个随机质数e求e和φ(n)的模反元素d&#xff08;裴蜀定理、扩展欧几里得算法&…

常见的加密算法原理与实现:RSA加密

系列四&#xff1a;RSA加密 一、基本背景二、算法原理2.1、生成公钥和私钥2.2、加密消息2.3、解密消息 三、Python实现RSA算法3.1、基于pycryptodome库实现RSA加解密3.2、基于rsa库实现RSA加解密 四、参考文献 一、基本背景 RSA算法是是由罗纳德李维斯特&#xff08;Ron Rives…

RSA加密和解密原理及过程(非对称加密)

非对称加密 用公钥来加密数据发送出去&#xff0c;接收方收到数据后用私钥解密数据。公钥是所有人都知道的&#xff0c;私钥只有接收方才知道。 加密解密基本流程 注意&#xff1a;公钥私钥中的33是同一个数字&#xff0c;是公开的&#xff0c;只有私钥的3是只有接收方才知道…

关于RSA加密解密原理

前言&#xff1a; 随着我们的学习的不断深入&#xff0c;信息的安全也愈加重要&#xff0c;我们发布的代码中可能含有我们的私密信息&#xff0c;比如对接支付宝沙箱api&#xff0c;下载一些专业软件时就需要我们输入公钥和私钥以此来验证我们的身份信息&#xff0c;就相当于用…

RSA加密解密原理及工具类

1. 什么是RSA RSA算法是现今使用最广泛的公钥密码算法&#xff0c;也是号称地球上最安全的加密算法。 RSA是被研究得最广泛的公钥算法&#xff0c;从提出到现在已近三十年&#xff0c;经历了各种攻击的考验&#xff0c;逐渐为人们接受&#xff0c;普遍认为是目前最优秀的公钥…

RSA 非对称加密原理(小白也能看懂哦~)

RSA 加密原理 步骤说明描述备注1找出质数P 、Q-2计算公共模数N P * Q-3欧拉函数φ(N) (P-1)(Q-1)-4计算公钥E1 < E < φ(N)E的取值必须是整数 E 和 φ(N) 必须是互质数5计算私钥DE * D % φ(N) 1-6加密C &#xff1d; M E mod NC&#xff1a;密文 M&#xff1a;明文7…

RSA加密的原理——为什么被公钥加密的可以被私钥解密?

RSA加密的原理——为什么被公钥加密的可以被私钥解密&#xff1f; 目录 一&#xff0c;RSA 数学理论基础 二&#xff0c;RSA实现原理 三&#xff0c;RSA加密的过程 四&#xff0c;参考文献 引言 在密码学最开始&#xff0c;都是使用的普通加密模式 A 用加密规则加密了字符串m…

关于RSA加密原理

什么是RSA RSA算法是现今使用最广泛的公钥密码算法&#xff0c;也是号称地球上最安全的加密算法。在了解RSA算法之前&#xff0c;先熟悉下几个术语 根据密钥的使用方法&#xff0c;可以将密码分为对称密码和公钥密码 对称密码&#xff1a;加密和解密使用同一种密钥的方式 公钥密…

RSA加密原理与RSA公钥加密系统、数字签名

通过公钥加密系统&#xff0c;可以对传输于两个通信单位之间的消息进行加密&#xff0c;即使窃听者窃听到加密之后的消息&#xff0c;也不能对其破译。 1、RSA公钥加密原理 1.1 几个核心概念 公钥P与公钥函数P()密钥S与密钥函数S() 可以简单理解&#xff0c;一个公钥对应一个…

RSA加密解密原理

引言&#xff1a; CTF密码学类题目中&#xff0c;RSA加密可谓是很重要且常见的加密类型&#xff0c;今天就总结下 RSA加密的原理及解密方法。 文章目录 RSA算法简介:1、什么是非对称加密算法&#xff1a;2、RSA 加密原理&#xff1a;3、RSA加密算法过程详解&#xff1a…