欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    c程序的设计实验报告.docx

    • 资源ID:1149556       资源大小:356.59KB        全文页数:25页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c程序的设计实验报告.docx

    实验一 VC6.0环境入门与简单程序设计一、实验目的:1、熟悉VC+6.0开了环境并编写简单的C+程序。3、使用C+语言编写简单的输入输出程序。4、使用VC+6.0的DEBUG调试功能:单步执行、设置断点、观察变量值。二、实验内容:1、使用VC+建立一个标准C+程序,编译、运行如下程序:#include<iostream>Int main()Cout<<Hello World!n;Cout<<Wele to C+!n;2、编程计算图形的面积。程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来。#include<iostream>using namespace std;void circle_area();void rectangle_area();void square_area();int main()int i;while(1)cout<<"请输入图形类型1:圆形;2:长方形;3:正方形;4:退出。:"cin>>i;switch(i)case 1:circle_area();break;case 2:rectangle_area();break;case 3:square_area();break;case 4:return 0;default:cout<<"输入错误!n"void circle_area()float r,s;cout<<"输入圆的半径:"cin>>r;s=3.14*r*r;cout<<"该圆的面积是:"<<s<<endl;void rectangle_area()float a,b,s;cout<<"输入长方形的长和宽:"cin>>a>>b;s=a*b;cout<<"该长方形的面积是:"<<s<<endl;void square_area()float a,s;cout<<"输入正方形的边长:"cin>>a;s=a*a;cout<<"该正方形的面积是:"<<s<<endl;实验二函数的应用一、实验目的:1、掌握函数的定义和调用方法。2、练习重载函数的使用。3、练习使用系统函数。4、学习使用VC+的DEBUG调试功能,使用STEP INTO追踪到函数的内部。二、实验内容:1、编写一个函数把华氏温度转换为摄氏温度,转换公式:C=(F-32)*5/9。#include<iostream>using namespace std;void WenDu();int main()WenDu();return 0;void WenDu()double s;double f;cout<<"请输入华氏温度:"cin>>f;s=(f-39)*5/9.0);cout<<"摄氏温度为"<<s<<"度"<<endl;2、编写重载函数Ma*1可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。#include<iostream>using namespace std;int Ma*1(int a,int b);int Ma*1(int a,int b,int c);double Ma*1(double a,double b);double Ma*1(double a,double b,double c);int main()int a,b,c;double *,y,z;cout<<"请输入两个整数:"cin>>a>>b;cout<<"最大值是:"<<Ma*1(a,b)<<endl;cout<<"请输入三个整数:"cin>>a>>b>>c;cout<<"最大值是:"<<Ma*1(a,b,c)<<endl;cout<<"请输入两个浮点数:"cin>>*>>y;cout<<"最大值是:"<<Ma*1(*,y)<<endl;cout<<"请输入三个浮点数:"cin>>*>>y>>z;cout<<"最大值是:"<<Ma*1(*,y,z)<<endl;return 0;int Ma*1(int a,int b)int t;if(a>b) t=a;else if(b>a) t=b;return t;int Ma*1(int a,int b,int c)int t;if(a>b&&a>c) t=a;else if(b>a&&b>c) t=b;else if (c>a&&c>b) t=c;return t;double Ma*1(double a,double b)double t;if(a>b) t=a;else if(b>a) t=b;return t;double Ma*1(double a,double b,double c)double t;if(a>b&&a>c) t=a;else if(b>a&&b>c) t=b;else if (c>a&&c>b) t=c;return t;3、使用系统函数pow(*,y)计算*Y的值,注意包含头文件math.h。#include<iostream>#include<math.h>using namespace std;int main()int *,y;cout<<"输入*,y:"cin>>*>>y;cout<<"*y="<<pow(*,y)<<endl;return 0;4、使用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。#include<iostream>using namespace std;void Fibonacci();int main()Fibonacci();return 0;void Fibonacci()int a,b,n,i,t;cout<<"请输入前两项:"cin>>a>>b;cout<<"请输入显示个数:"cin>>n;cout<<a<<""<<b<<""for(i=2;i<n;i+)t=a+b;cout<<t<<""a=b;b=t;if(i+1)%5=0)cout<<endl;cout<<endl;实验三类与对象一、实验目的:1、掌握类与对象的声明和使用。2、观察构造函数与析构函数的执行过程。3、掌握具有不同访问属性的成员的访问方式。4、使用DEBUG调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。二、实验内容:1、声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7,frequency为单位是MHz的整型数,voltage为浮点型的电压值,观察构造函数和析构函数的调用顺序。2、声明一个简单的puter类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。#include<iostream>using namespace std;class CPUpublic: void run_cpu();void stop_cpu();CPU(int fre,double vol);CPU();CPU();CPU(CPU &p);private:int fre_cpu;double vol_cpu;class RAMpublic:void run_ram(); void stop_ram(); RAM(int fre,double vol); RAM(); RAM(); RAM(RAM &p);private:int fre_ram;double vol_ram;class CUMPUTERfriend class CPU;friend class RAM;public:void run_cum(); void stop_cum(); CUMPUTER(); CUMPUTER(CPU c,RAM r); CUMPUTER(CUMPUTER &c); CUMPUTER();private:CPU cpu;RAM ram;void CPU:run_cpu()cout<<"CPU运行"<<endl;cout<<fre_cpu<<","<<vol_cpu<<endl;void CPU:stop_cpu()cout<<"CPU停顿"<<endl;CPU:CPU()fre_cpu=0; vol_cpu=0;cout<<"CPU缺省样式构造函数调用完成"<<endl;CPU:CPU(int fre,double vol)fre_cpu=fre;vol_cpu=vol;cout<<"CPU构造函数调用完成"<<endl;CPU:CPU()cout<<"CPU析构函数调用完成"<<endl;CPU:CPU(CPU &p)fre_cpu=p.fre_cpu;vol_cpu=p.vol_cpu;cout<<"CPU拷贝构造函数调用完成"<<endl;void RAM:run_ram()cout<<"RAM运行"<<endl;cout<<fre_ram<<","<<vol_ram<<endl;void RAM:stop_ram()cout<<"RAM停顿"<<endl;RAM:RAM()fre_ram=0;vol_ram=0;cout<<"RAM缺省样式构造函数调用完成"<<endl;RAM:RAM(int fre,double vol)fre_ram=fre;vol_ram=vol;cout<<"RAM构造函数调用完成"<<endl;RAM:RAM()cout<<"RAM析构函数调用完成"<<endl;RAM:RAM(RAM &p)fre_ram=p.fre_ram;vol_ram=p.vol_ram;cout<<"RAM拷贝构造函数调用完成"<<endl;void CUMPUTER:run_cum()cout<<"cumputer运行"<<endl;cpu.run_cpu();ram.run_ram();void CUMPUTER:stop_cum()cout<<"cumputer停顿"<<endl;cpu.stop_cpu();ram.stop_ram();CUMPUTER:CUMPUTER(CPU c,RAM r):cpu(c),ram(r)cout<<"CUMPUTER构造函数调用完成"<<endl;CUMPUTER:CUMPUTER(CUMPUTER &c)cpu=c.cpu;ram=c.ram;cout<<"CUMPUTER拷贝构造函数调用完成"<<endl;CUMPUTER:CUMPUTER()cout<<"CUMPUTER析构函数调用完成"<<endl;int main()CPU c1(1,5.5);CPU c2=c1;RAM r1(3,8.8);RAM r2=r1;CUMPUTER cum1(c1,r1);CUMPUTER cum2=cum1;c2.run_cpu();r2.run_ram();cum1.run_cum();cum1.stop_cum();cum2.run_cum();cum2.stop_cum();system("pause");实验四C+程序构造一、实验目的:1、观察程序运行时变量的作用域、生存期和可见性。2、掌握类的静态成员的使用。3、学习多文件构造在C+程序中的使用。二、实验内容:1、运行下面的程序,观察变量*、y的值。#include <iostream>using namespace std;void fn1(); int * = 1, y = 2; int main()cout << "Begin." << endl; cout << "* = " << * << endl; cout << "y = " << y << endl;cout << "Evaluate * and y in main()." << endl;int * = 10, y = 20; cout << "* = " << * << endl; cout << "y = " << y << endl;cout << "Step into fn1()." << endl; fn1(); cout << "Back in main" << endl; cout << "* = " << * << endl; cout << "y = " << y << endl; return 0;void fn1() int y = 200; cout << "* = " << * << endl; cout << "y = " << y << endl;2、实现客户机(CLIENT)类。声明字符型静态数据成员ServerName,保存其效劳器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变效劳器名称。在头文件client.h中声明类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。#include<iostream> using namespace std;class Client private: static char ServerName10; static int ClientNum; public: Client(); Client(); static void ChangeServerName(); void show(); ; int Client:ClientNum=0; char Client:ServerName10="abcd" void Client:show() cout<<"效劳器名称是:" cout<<ServerName<<endl; cout<<"客户数量是:" cout<<ClientNum<<endl; cout<<endl; void Client:ChangeServerName() cout<<"请输入效劳器名称:" cin>>ServerName; Client:Client() cout<<"客户已记录"<<endl; ClientNum+; Client:Client() cout<<""<<endl; ClientNum-; int main() Client:ChangeServerName(); Client a; a.show(); Client:ChangeServerName(); Client b; b.show(); Client:ChangeServerName(); Client c; c.show(); system("pause"); 实验五数组、指针与字符串一、实验目的:1、学习使用数组数据对象及字符串的组织与处理。2、学习使用标准C+库。3、掌握指针的使用方法,并通过DEBUG观察指针内容及其所指的对象的内容。4、练习通过动态内存分配实现动态数组,并体会指针在其中的作用。二、实验内容:1、编写并测试3×3矩阵转置函数,使用数组保存3×3矩阵。#include<iostream>using namespace std;void main()int JuZheng33=11,44,98,36,45,82,48,91,64;int i,j;int New33;for(i=0;i<3;i+)for(j=0;j<3;j+)Newji=JuZhengij;cout<<"原矩阵是:"<<endl;for(i=0;i<3;i+)for(j=0;j<3;j+)cout<<JuZhengij<<""cout<<endl;cout<<"转置后矩阵是:"<<endl;for(i=0;i<3;i+)for(j=0;j<3;j+)cout<<Newij<<""cout<<endl;2、使用动态内存分配生成动态数组来重新完成上题。#include<iostream>using namespace std;int main()int temp;int *a;a=new int *3; cout<<"输入数组元素:"<<endl;for(int i=0;i<3;i+)if(ai=new int 3)=NULL)e*it(0);for(i=0;i<3;i+)for(int j=0;j<3;j+)cin>>aij; /输出原数组cout<<"原数组:"<<endl;for(i=0;i<3;i+)for(int j=0;j<3;j+)cout<<" "<<aij;cout<<endl;for(i=0;i<3;i+)for(int j=i;j<3;j+)temp=aji;aji=aij;aij=temp;cout<<"转置后数组:"<<endl;for(i=0;i<3;i+)for(int j=0;j<3;j+)cout<<" "<<aij;cout<<endl;3、编程实现两字符串的连接。要求使用字符数组保存字符串,不允许使用系统函数。#include <iostream>using namespace std;int main() char str140; char str220; int i=0,j=0; cout<<"请输入第一个字符串: " cin>>str1; cout<<"请输入第二个字符串: " cin>>str2; while(str1i!='0') i+; while(str2j!='0') str1i=str2j; i+; j+; str1i='0' cout<<"连接后的字符串:"<<str1<<endl;4、使用string类声明字符串对象,重新实现上一小题。#include<iostream>#include<string>using namespace std;int main()string s1;string s2;cout<<"请输入第一个字符串:"cin>>s1;cout<<"请输入第二个字符串:"cin>>s2;s1+=s2;cout<<"连接后的字符串为:"<<s1<<endl;return 0;实验六继承与派生一、实验目的:1、学习声明和使用类的继承关系,声明派生类。2、熟悉不同继承方式下对基类成员的访问控制。3、学习利用虚基类解决二义性问题。二、实验内容:1、定义一个基类Animal,有私有数据成员变量age,构造其派生类dog,在其成员函数setAge(int n)中直接给Age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程测试一下。#include<iostream> using namespace std; class Animal public: int age; ; class Dog:public Animal public: SetAge(int n) age=n; cout<<"年纪是:"<<age<<endl; ; void main() Dog dog; dog.SetAge(5); 2、定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数的析构函数的执行情况。#include<iostream>using namespace std;class BassClassprivate: int Number;public: BassClass();BassClass(int num); BassClass();void GetNum()cout<<"The number is "<<Number<<endl;class DerivedClass:public BassClasspublic: DerivedClass():BassClass()cout<<"缺省样式构造函数调用完成"<<endl;DerivedClass(int num):BassClass(num)cout<<"带参数构造函数调用完成"<<endl;DerivedClass()cout<<"析构函数调用完成"<<endl;void GetNumner() GetNum();BassClass:BassClass() Number=1;cout<<"缺省样式构造函数调用完成"<<endl;BassClass:BassClass(int num)Number=num;cout<<"带参数构造函数调用完成"<<endl;BassClass:BassClass()cout<<"析构函数调用完成"<<endl;void main()BassClass b1;BassClass b2(3);DerivedClass d1;DerivedClass d2(2);b1.GetNum();b2.GetNum();d1.GetNumner();d2.GetNumner();3、定义一个车(Vehicle)基类,具有Ma*Speed,Weight等成员变量,Run,Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车类有高度(height)等属性,汽车类有座位数(SeatNum)等属性。从bicycle和moorcar派生出摩托车(motorcycle)类,在继承过程中注意把vehicle设置为虚基类。如果不设为虚基类,会出现什么问题?编程测试一下。实验七多态性一、实验目的:1、掌握运算符重载的方法。2、掌握使用虚函数实现动态多态性。二、实验内容:1、定义Point类,有坐标*,y两个成员变量;对Point类重载+、运算符,实现对坐标值的改变。#include<iostream> using namespace std; class Point public: Point() Point(float a,float b) *=a; y=b; Point operator+() *+; y+; return Point(*,y); Point operator-() *-; y-; return Point(*,y); void display() cout<<"("<<*<<","<<y<<")"<<endl; private: float *; float y; ; void main() Point p(6,9);cout<<"原来点的坐标:"p.display(); p+;cout<<"自加后点的坐标:"p.display(); p-;cout<<"再自减后点的坐标:"p.display(); 2、定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车类(biclcle)、汽车类(motorcar),从bicycle和motorcar派生出摩托车类(motorcycle),它们都有Run、Stop等成员函数。观察虚函数的作用。#include<iostream> using namespace std; class Vehicle public: void Run() cout<<"车启动了"<<endl; void Stop() cout<<"车停顿了"<<endl; ;class bicycle:public Vehicle public: void Run() cout<<"自行车启动了"<<endl; void Stop() cout<<"自行车停顿了"<<endl; ;class motorcar:public Vehicle public: void Run() cout<<"汽车启动了"<<endl; void Stop() cout<<"汽车停顿了"<<endl; ; class motorcycle:public bicycle,public motorcar public: void Run() cout<<"摩托车启动了"<<endl; void Stop() cout<<"摩托车停顿了"<<endl; ; void main() Vehicle c; bicycle b; motorcar car; motorcycle m; c.Run(); c.Stop(); b.Run(); b.Stop(); car.Run(); car.Stop(); m.Run(); m.Stop(); 实验八面向对象综合实验一、实验目的:1、综合运用面向对象编程思想。2、学习设计较复杂的类。二、实验内容:实现一个计算器类,支持加、减、乘、除等根本运算。#include<iostream> using namespace std; class Opera public: void get(); void jia() cout<<a<<c<<b<<"="<<a+b<<endl; void jian() cout<<a<<c<<b<<"="<<a-b<<endl; void cheng() cout<<a<<c<<b<<"="<<a*b<<endl; void chu() cout<<a<<c<<b<<"="<<a/b<<endl; char get_c() return c; private: float a; float b; char c; ; void Opera:get() cout<<"请输入算式:" cin>>a>>c>>b; int main() while(1) Opera o; o.get(); switch(o.get_c() case '+':o.jia();break; case '-':o.jian();break; case '*':o.cheng();break; case '/':o.chu();break; return 0;

    注意事项

    本文(c程序的设计实验报告.docx)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开