面向对象程序设计实验报告1Word下载.docx

上传人:b****5 文档编号:8481554 上传时间:2023-05-11 格式:DOCX 页数:36 大小:174.81KB
下载 相关 举报
面向对象程序设计实验报告1Word下载.docx_第1页
第1页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第2页
第2页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第3页
第3页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第4页
第4页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第5页
第5页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第6页
第6页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第7页
第7页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第8页
第8页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第9页
第9页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第10页
第10页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第11页
第11页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第12页
第12页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第13页
第13页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第14页
第14页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第15页
第15页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第16页
第16页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第17页
第17页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第18页
第18页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第19页
第19页 / 共36页
面向对象程序设计实验报告1Word下载.docx_第20页
第20页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

面向对象程序设计实验报告1Word下载.docx

《面向对象程序设计实验报告1Word下载.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计实验报告1Word下载.docx(36页珍藏版)》请在冰点文库上搜索。

面向对象程序设计实验报告1Word下载.docx

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.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2