您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > C开发环境、函数定义调用、类和对象、数组与指针、继
辽宁工程技术大学上机实验报告课程名称嵌入式程序设计(C++)学院软件学院专业班级学号姓名日期2013.12.21-2013.12.22成绩-1-实验一C++开发环境实验目的(1)掌握用VC++集成开发环境编辑源程序的方法。(2)掌握在VC++集成开发环境中编译、调试与运行程序的方法。(3)理解数据类型、变量、运算符、表达式的概念。(4)学会使用cin进行数据输入操作。(5)学会用算术表达式、关系表达式、赋值表达式完成数据处理工作。(6)学会使用cout进行数据输出操作。实验准备(1)编写实验程序;(2)在VC++运行环境中,输入源程序;(3)编译运行源程序;(4)写出运行结果。实验过程实验(1)设计一个C++程序,输出以下信息:***************Hello!***************实验(1)程序:#includeiostream.hvoidmain(){cout***************'\n';coutHello!'\n';cout***************'\n';}实验(2)设计一个程序,输入一个华氏温度值,要求输出其对应的摄氏温度值。温度转换公式为:c=(f-32)*5/9。实验(2)程序:#includeiostream.hvoidmain(){floatc,f;-2-cout请输入华氏温度:;cinf;c=(f-32)*5/9;cout摄氏温度是:c'\n';}实验(3)设计一个C++程序,输入三个职工的工资,求工资总额。实验(3)程序:#includeiostream.hvoidmain(){intsa1,sa2,sa3,sum;cout请输入三个职工的工资:;cinsa1sa2sa3;sum=sa1+sa2+sa3;cout\n工资总额是:sum'\n';}结果及分析日实验(1)结果:实验(1)分析:编写程序,输入需要显示的字符,运行程序,得到运行结果。实验(2)结果:-3-实验(2)分析:编写程序,检查无误后运行程序,输入需要转换的华氏温度,得到转换后的摄氏温度。实验(3)结果:实验(3)分析:编写程序,运行程序,输入三个职工的工资分别为3000、2500、3500,得到三个职工的工资总额是9000。收获及体会通过本次上机,我认识到了自身的不足。在上机之前,觉得自己掌握的部分实际上并没有掌握,在编写程序的过程中,把我的问题不断的暴露出来。比如丢三落四,偶尔少打一个分号、单词拼写错误、中英文的格式不同等。好在经过同学的帮助下,将程序顺利的改正过来。在今后的学习过程中,我一定要注意细节的部分,争取做的更好。教师评语-4-实验二函数定义与调用实验目的(1)初步掌握函数的定义方法,及函数的三种调用方法;(2)理解参数传送过程中,值传送与传地址的过程与区别;(3)初步学会用递归编写程序方法;(4)学会用数组作为函数参数的编程方法。实验准备(1)编写实验程序(2)在VC++运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。实验过程实验(1)编写一个函数px(floatx,intn)用递归的方法求下列级数前n项的和s。nnxxxxxxxs165432)1(实验(1)程序:#includeiostream.h#includemath.hvoidmain(void){floatx;intn;floatpx(float,int);coutpleaseinputx,n:;cinxn;coutpx=px(x,n)endl;}floatpx(floatx,intn){floatp;if(n==1)p=x;else-5-p=px(x,n-1)-pow(-1,n)*pow(x,n);returnp;}实验(2)编写一个计算sin(x)的函数,在主函数中输入x,调用sin(x)函数计算并输出y值。y=)!12()1(!7!5!31sin)12(1753nxxxxxxnn实验(2)程序:#includeiostream.h#includeiomanip.h#includemath.h#defineN11floatzsin(floaty)//定义计算K阶乘的函数fac(){inti;floats=0,p=1.0,t;p=y;for(t=1,i=1;fabs(1.0/t)=0.00001;i+=2){s=s+p/t;p=p*y*y;t=-t*(i+1)*(i+2);}return(s);}voidmain(void){floatx,sn;coutinputx:;cinx;sn=zsin(x);coutendlsin(x)=snendl;}-6-实验(3)编写计算组合数的函数cmn(intn,intm),实现杨辉三角形的输出。实验(3)程序:#includeiostream.h#includeiomanip.h#defineN11floatfac(intk)//定义计算K阶乘的函数fac(){inti;floatt=1.0;for(i=1;i=k;i++)t=t*i;return(t);}floatcmn(intm1,intn1)//定义计算组合数的函数cmn(){floatp;p=fac(m1)/(fac(n1)*fac(m1-n1));//调用求阶乘函数fac()return(p);}voidmain(void){intc[N][N],m,n;for(n=0;nN;n++)for(m=0;m=n;m++){c[n][m]=cmn(n,m);}for(n=0;nN;n++){for(m=0;m=n;m++)coutsetw(6)c[n][m];coutendl;}}-7-结果及分析日实验(1)结果:实验(1)分析:在主函数中定义变量x与n,用键盘输入x与n的值,调用px()函数计算并返回级数前n项和S。最后输出S的值。实验(2)结果:实验(2)分析:编写程序,实现在sin(x)函数内,将级数中各项值累加到和变量S中去,直到最后一项绝对值小于0.00001为止,并且将数值显示到显示器上。实验(3)结果:实验(3)分析:编写程序,定义N=11,运行程序,得到一个底为11,高为11的杨辉三角形。-8-收获及体会对于刚刚接触C++的人,觉得程序的编写是一件很困难的事情,完全没有头绪,根本不知道从哪里下手。通过书上的例子,及同学的帮助,我现将一个程序分成多个部分来编写,每个部分完成各自的功能,然后再把它们都拼接到一起,最后得到一个完整的可运行的正确的程序。编写程序不能急躁,需要一点一点的写,才能不出现错误,尽快的完成。教师评语-9-实验三类和对象实验目的(1)掌握类与对象的定义与使用方法;(2)初步掌握构造函数、拷贝构造函数的定义与使用方法;(3)初步掌握析构函数的定义与使用方法;(4)理解构造函数与析构函数的调用过程。实验准备(1)编写实验程序;(2)在VC++运行环境中,输入源程序;(3)编译运行源程序;(4)输入实验测试数据,写出运行结果。实验过程实验(1)定义一个学生成绩类Score,描述学生成绩的私有数据成员为学号(No)、姓名(Name[8])、数学(Math)、物理(Phi)、数据结构(Data)、平均分(ave)。定义能输入学生成绩的公有成员函数Write(),能计算学生平均分的公有成员函数Average(),能显示学生成绩的公有成员函数Display()。在主函数中用Score类定义学生成绩对象数组s[3]。用Write()输入学生成绩,用Average()计算每个学生的平均分,最后用Display()显示每个学生的成绩。实验(1)程序:#includeiostream.h#includestring.hclassScore{private:intNo;charName[8];floatMath,Phi,Data,Ave;public:voidWrite(intno,charname[],floatmath,floatphi,floatdata){No=no;strcpy(Name,name);Math=math;Phi=phi;-10-Data=data;}voidAverage(void){Ave=(Math+Phi+Data)/3;}voidDisplay(){coutNo'\t'Name'\t'Math'\t';coutPhi'\t'Data'\t'Ave'\n';}};voidmain(void){inti,no;charname[8];floatmath,phi,data;Scores[3];coutInput3studentdata'\n';for(i=0;i3;i++){cinnonamemathphidata;s[i].Write(no,name,math,phi,data);s[i].Average();}cout学号姓名数学物理数据结构平均分\n;for(i=0;i3;i++)s[i].Display();}实验(2)定义一个复数类Complex,复数的实部Real与虚部Image定义为私有数据成员。用复数类定义复数对象c1、c2、c3,用默认构造函数将c1初始化为c1=12+10i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=12+10i。用公有成员函数Dispaly()显示复数c1、c2与c3的内容。-11-实验(2)程序:#includeiostream.hclassComplex{private:floatReal,Image;public:Complex(floatr,floati)//定义有参构造函数{Real=r;Image=i;}Complex(Complex&c)//定义拷贝构造函数{Real=c.Real;Image=c.Image;}Complex()//定义无参构造函数{Real=0;Image=0;}voidDisplay(){coutReal+Imagei'\n';}};voidmain(void){Complexc1(12,10),c2,c3(c1);c1.Display();c2.Display();c3.Display();}-12-结果及分析日实验(1)结果:实验(1)分析:编写程序,运行程序,输入三个学生的学号、姓名、数学成绩、物理成绩、数据结构成绩,输出三个学生的学号、姓名、数学成绩、物理成绩、数据结构成绩以及每个人的平均分。实验(2)结果:实验(2)分析:编写程序,运行程序,默认构造函数将c1初始化为c1=12+10i,将c2初始化为c2=0+0i,用拷贝构造函数将c3初始化为c3=12+10i,并且讲c1、c2、c3显示出来。收获及体会通过对这两个实验编写,我更加熟练的掌握类与对象的定义与使用方法,能够使用构造函数、拷贝构造函数进行程序的编写,掌握析构函数的定义与使用方法,理解构造函数与析构函数的调用过程。教师评语-13-实验四数组与指针实验目的(1)初步学会指针数组的定义与使用方法。(2)了解指向一维数组的指针变量的概念,能用指向一维数组的指针变量按行处理二维数组的问题。(3)理解返回指针值函数的概念、定义格式,学会用返回指针值函数处理字符串问题。(4)理解函数指针与函数指针变量的概念,学会用函数指针变量处理不同函数数学计算问题。实验准备(1)编写实验程序(2)在VC++运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出实验输入数据与运行结果。实验过程实验(1)定义一个二维字符数组s[3][80]及指针数组p[3],用cin.getline(s[i],80)输入3个字符串到二维数组3行中,
本文标题:C开发环境、函数定义调用、类和对象、数组与指针、继
链接地址:https://www.777doc.com/doc-904171 .html