面向对象程序设计实验报告1Word下载.docx
- 文档编号:8481554
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:36
- 大小:174.81KB
面向对象程序设计实验报告1Word下载.docx
《面向对象程序设计实验报告1Word下载.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计实验报告1Word下载.docx(36页珍藏版)》请在冰点文库上搜索。
printf("
x=%o,y=%d,z=%x\n"
x,y,z);
/*数据以原进制输出,注意是否有前导0或0x*/
x=%d,y=%d,z=%d\n"
/*数据以10进制输出,换算到10进制,结果对吗?
*/
/*字符型数据的输出*/
c1=%c,c2=%x,c3=%o,c4=%d\n"
c1,c2,c3,c4);
c1=%c,c2=%c,c3=%c,c4=%c\n"
/*结果都是什么字符?
,也就是说字符可以自由的表示成几种形式?
c1=%d,c2=%d,c3=%d,c4=%d\n"
/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符*/
/*字符型数据参与算术运算*/
c=c1+32;
/*字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数
/*参与数学运算;
结果还是一个整数-另外一个字符的ASCII码*/
c=%c,c=%d\n"
c,c);
/*看看这个字符是什么?
哇,'
+32='
m'
了,看看ASCII码表,原来如此!
2.编写程序任意输入一个三位,将其反向输出。
如输入123,输出321。
3.编程按分段统计学生成绩,输入为负数时结束。
要求按90-100、80-89、70-79、60-69、60以下五档分别统计各分数段人数(用if语句和switch语句编写程序)。
4.用do…while,while,for三种循环语句求出1+3+5+….+101的和,输出结果。
5.先定义一个含有30个整型元素的数组,依次赋予从2开始的偶数,然后按顺序每五个数的平均值放在另一个数组中,并要求按每行6个数输出结果。
2。
iostream>
usingnamespacestd;
intmain()
intnum,a[3];
cout<
"
pleaseentertheinteger\n"
;
cin>
>
num;
for(inti=0;
i<
3;
i++)
{
a[i]=num%10;
num/=10;
}
for(i=0;
2;
for(intj=0;
j<
(2-i);
j++)
if(a[j]<
a[j+1])
inttmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
intresult=0;
intcou=100;
result+=a[i]*cou;
cou/=10;
theresultis:
result<
return0;
3.#include<
{inta,b,c,d,e;
doublescore;
a=b=c=d=0;
cin>
score;
while(score>
=0)
if(score>
=90)
a++;
else
if(score>
=80)
b++;
else
if(score>
=70)
c++;
else
=60)
d++;
elsee++;
count<
a<
b<
c<
d<
e<
end1;
4.#include<
inti=1,j=1;
//初始化,进入循环
longsum1=0,sum2=0,sum3=0;
//记录和初值为0
longk;
//过渡值
for(i=1;
i<
=10;
k=1;
for(j=1;
j<
=i;
j++)k=k*j;
//求j的阶
sum1=sum1+k;
usefor,theansweris"
sum1<
i=1,j=1;
while(i<
=10)
j=1;
while(j<
=i)
{
k=k*j;
//求j的阶
j++;
sum2=sum2+k;
i++;
usewhile,theansweris"
sum2<
do{
do{
}while(j<
=i);
sum3=sum3+k;
}while(i<
=10);
usedowhile,theansweris"
sum3<
5#include<
stdio.h>
inta[30],i,j=0,b[6][5],p,k;
intc[6];
for(i=0;
30;
a[i]=2*(i+1);
printf("
%3d"
a[i]);
j++;
if(j%5==0)printf("
\n"
);
for(p=0;
p<
5;
p++)
for(k=0;
k<
6;
k++)
b[k][p]=a[5*k+p];
c[k]=(b[k][0]+b[k][1]+b[k][2]+b[k][3]+b[k][4])/5;
{printf("
c[k]);
}
实验结果:
2
5
通过本次实验熟悉和理解C++语言中的类型简单数据(整型、实型、字符型)、运算、表达式;
掌握常见格式控制字符对输出结果的控制作用;
能利用学习的数据类型,编制简单的C++程序;
初步学习调试方法。
实验三函数的应用
实验三函数与作用域
1.掌握函数声明、定义和使用的方法;
2.掌握形式参数与实在参数之间的对应关系;
3.掌握函数调用时,形参、实参之间的“值传递”和“地址传递”的区别;
4.掌握全局变量、局部变量、静态变量的使用方法。
利用函数的知识编程。
1.编写一个函数,用来计算从键盘上输入的整数的阶乘。
2.编写函数判断一个数是否是素数,在主程序中实现输入、输出。
3.编写一个程序,设计一个函数可以计算并返回输入的4个数的平均值。
1.#include<
intm,i,sum=1;
m;
for(i=m;
i>
0;
i--)
sum*=i;
sum="
sum<
2.
math.h>
intfun(intnum)
intflag,k,i;
flag=0;
k=int(sqrt(num));
for(i=2;
=k;
if(num%i==0)
{
flag=1;
break;
}
returnflag;
intx,y;
x;
y=fun(x);
if(y==0)
cout<
theyinputnumissushu"
theyinputnumisnotsushu"
3.
floatfun(floata,floatb,floatc,floatd)
floatsum=0.0;
floatx=a+b+c+d;
sum=x/4;
returnsum;
floata,b,c,d;
floatm;
a;
b;
c;
d;
m=fun(a,b,c,d);
average="
m<
1
3
通过本次实验掌握了函数声明、定义和使用的方法;
掌握了形式参数与实在参数之间的对应关系;
掌握函数调用时,形参、实参之间的“值传递”和“地址传递”的区别;
掌握了全局变量、局部变量、静态变量的使用方法。
实验四指针和引用
1.熟练掌握指针、地址、指针类型、void指针、空指针、引用等概念;
2.熟练掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式;
3.学会使用数组的指针和指向数组的指针变量;
4.学会使用字符串的指针和指向字符串的指针变量;
5.学习用指针和引用给函数传递参数的方法。
利用C++指针技术编程。
1.用户输入任意一个字符串和字符c,寻找输入串中第一个c字符出现的位置(若有的话),并输出从c字符开始的子串以及c字符在输入串中的下标号;
若输入串中不出现c字符的话,输出“nomatchfound”。
1#include<
char*insert(char*s,charc,intn)
intlen=strlen(s);
if(n<
=0){
char*p=s;
p=p+len+1;
*p=*(--p);
}while(p>
s);
(*p)=c;
}elseif(n>
=len){
*(s+len)=c;
*(s+len+1)='
\0'
}else{
char*p=s+len+1;
s+n);
returns;
charas[20]="
thisisanExample."
charc;
c=getchar();
as<
endl<
insert(as,c,17);
insert(as,c,17):
insert(as,c,6);
insert(as,c,6):
insert(as,c,0);
insert(as,c,0):
通过本次实验熟练掌握了指针、地址、指针类型、void指针、空指针、引用等概念;
熟练掌握了指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式;
学会使用数组的指针和指向数组的指针变量;
学会使用字符串的指针和指向字符串的指针变量;
学习用指针和引用给函数传递参数的方法
实验五类与对象I
实验五类和对象Ⅰ
1.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;
2.掌握构造函数和析构函数的含义与作用、定义方式和执行过程,能够根据要求正确定义和重载构造函数;
3.学习静态数据成员和静态成员函数的使用。
利用类的成员、构造函数、析构函数、类的封装等特性进行编程。
1.定义一个长方形类,
并且在程序中创建一个该类的对象,
体现出构造函数、析构函数的调用、执行过程和重载构造函数的使用。
2.设计一个矩阵类matrix(矩阵用二维数组实现),
有分配空间和对矩阵附值的功能。
要求:
(1)类外定义一个函数mul(),
实现两矩阵的相乘,要求分别用传值调用、引用调用和传址调用三种方式实现。
(2)在matrix类中定义一个静态数据成员,
记录当前的所有matrix对象的数量。
(3)定义一个友元函数实现矩阵转置功能。
usingnamespacestd;
classcmatrix23
private:
inta[2][3];
public:
cmatrix23operator+(constcmatrix23&
mat);
friendostream&
operator<
(ostream&
os,constcmatrix23&
friendistr
eam&
operator>
(istream&
is,cmatrix23&
};
cmatrix23cmatrix23:
:
operator+(constcmatrix23&
mat)
cmatrix23tmp;
for(inti=0;
2;
++i)
for(
intj=0;
3;
++j)
tmp.a[i][j]
=this->
a[i][j]+mat.a[i][j];
returntmp;
ostream&
mat)
os<
mat.a[i][j]<
"
returnos;
istream&
请输入第"
行第"
列的元素:
is>
mat.a[i][j];
returnis;
intmain()
cmatrix23mat1;
mat1;
cmatrix23mat2;
mat2;
mat1+mat2<
(2)#include<
classcomplex{
public:
doublereal;
doubleimage;
complex(){real=0,image=0;
};
complex(doublek,doublex);
voiddisplay();
complexoperator+(complex&
p);
complexoperator-(complex&
y);
complexoperator*(complex&
complexoperator/(complex&
complex:
complex(doublek,doublex):
real(k),image(x){}
complexcomplex:
operator+(complex&
p)
complexc;
c.real=real+p.real;
c.image=image+p.image;
returnc;
operator-(complex&
y)
c.real=real-y.real;
c.image=image-y.image;
operator*(complex&
c.real=real*p.real;
c.image=image*p.image;
operator/(complex&
c.real=real/p.real;
c.image=image/p.image;
voidcomplex:
display()
{cout<
("
<
real<
"
image<
)"
complexc1(7,8),c2(2,9),c3;
c3=c1+c2;
cout<
c1+c2"
c3.display();
c3=c1-c2;
cout<
c1-c2"
c3=c1*c2;
c1*c2"
c3=c1/c2;
c1/c2"
return0;
(3)#include<
classM
{public:
M();
friendMoperator+(M&
M&
voidinput();
private:
intmat[2][3];
Ma:
M()
{for(inti=0;
for(intj=0;
mat[i][j]=0;
Moperator+(M&
a,M&
b)
{Mc;
for(inti=0;
{c.mat[i][j]=a.mat[i][j]+b.mat[i][j];
voidM:
input()
inputvalueofm:
mat[i][j];
display()
{for(inti=0;
{for(intj=0;
mat[i][j]<
{Ma,b,c;
a.input();
b.input();
Ma:
a.display();
Mb:
b.display();
c=a+b;
Mc=Matrixa+Mb:
c.display();
通过本实验理解了类的成员的访问控制的含义,公有、私有和保护成员的区别;
.掌握构造函数和析构函数的含义与作用、定义方式和执行过程,能够根据要求正确定义和重载构造函数;
学习静态数据成员和静态成员函数的使用。
实验六继承与派生
1.理解派生类与基类的关系
2.理解派生类继承方式
3.掌握单继承和多继承使用方法
4.理解虚基类概念
利用继承与派生的原理进行编程。
1.编一个使用派生类的程序,设计一个包含圆和圆柱的几何尺寸的类,它用内部数据建立几何形状并显示它们的尺寸、面积和体积。
2.设计一个圆类和桌子类,再设计一个圆桌类,它是从前两个类派生出来的。
要求输出圆桌的高度、面积、颜色等数据。
1#include<
iostream.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实验 报告