面向对象程序设计简答题.docx
- 文档编号:8581280
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:56
- 大小:31.20KB
面向对象程序设计简答题.docx
《面向对象程序设计简答题.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计简答题.docx(56页珍藏版)》请在冰豆网上搜索。
面向对象程序设计简答题
1、
请在横线中填入程序,完成如下PID控制仿真程序.(注意符号、标点符号、括号用半角)
#include
classAAA
{
intA,B;
public:
AAA()
{A=100;B=200;
cout<<"deflatconstructing\n";
}
AAA(inti,intj)
{A=i,B=j;
cout<<"constructing\n";}
~AAA(){cout<<"destructing\n";}
voidprint()
{cout<<><><><"\n";}>
friendintadd(AAA&s1);
};
intadd(AAA&s1)
{return(s1.A+s1.B);}
voidmain()
{AAAa1,*a2;
ints;
a2=newAAA(5,6);
a1.print();
a2->print();
s=add(*a2);
cout<<”s=”<<><>
deletea2;
}
运行结果是:
问题反馈
【教师释疑】
正确答案:
【defaultconstructingdeflatconstructingconstructing100,2005,6s=11destructingdestructing】
2、#include
classCdate
{
intday,month,year;
public:
Cdate()
{
day=1;
month=1;
year=1999;
cout<<"defaultconstructing\n";}
Cdate(intd,intm,inty)
{
day=d;
month=m;
year=y;
cout<<"constructing\n";
}
~Cdate(){cout<<"destructing"<<><"><><><>voidprint()
{cout<<><"><><>};
voidmain()
{Cdatea1,*a2;
a2=newCdate(30,12,1996);
a1.print();
a2->print();
deletea2;
}
运行结果是:
<"><">问题反馈
【教师释疑】
正确答案:
【defaultconstructingconstructing1/1/199912/30/1996destructing12/30/1996destructing1/1/1999】
3、#include
voidf(int*p1,int*p2)
{int*t;
t=p1;p1=p2;p2=t;
}
main()
{inta=10,b=20;
cout<<><>
f(&a,&b);
cout<<><>
}
问题反馈
【教师释疑】
正确答案:
【10201020】
4、#include
fun(int*s,intn1,intn2)
{intt;
while(n1<>
{t=*(s+n1);
*(s+n1)=*(s+n2);
*(s+n2)=t;
n1++;n2--;}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;
fun(p,0,3);fun(p+3,1,6);
for(i=0;i<10;i++)
{if(i%5==0)cout<<>
cout<
}
运行结果:
问题反馈
【教师释疑】
正确答案:
【08】
1、#include
#include
#include
main()
{
inta=4,b=5,c,d;
cout<<”sqrt(a)=”< c=a>b? a: b; cout<<”c=”<<> cout<<><><><> d=a; if(a>b) d=8; elseif(a==b) d=0; else d=-1; cout<<”d=”<<><> } 程序运行结果为: 问题反馈 【教师释疑】 正确答案: 【sqrt(a)=2c=545d=-1】 2、#include #include voidfun(char*w,intm) {chars,*p1,*p2; p1=w; p2=w+m-1; while(p1<> { s=*p1;*p1=*p2;*p2=s; p1++; p2--; } } main() { chara[10]="abcdefghi"; char*p=newchar[10]; strcpy(p,"student"); cout<<"compare: "<<> if(strcmp(a,p)==0) cout<<"a==p"<<> if(strcmp(a,p)>0) cout<<"a>p"<<> if(strcmp(a,p)<0) cout<<"a cout<<"before: \n"; cout<<><> cout<<><> cout<<"callfun"<<> fun(a,strlen(a)); fun(p,strlen(p)); cout<<"after: \n"; cout<<><> cout<<><> } 程序运行结果为: 问题反馈 【教师释疑】 正确答案: 【campare: a】 3、#include floatconstPI=3.14; classpoint { private: floatx,y,area; public: point(floatx1=0.0,floaty1=0.0) { cout<<"point构造函数被调用! \n"; } virtual~point() { cout<<"point析构函数被调用! \n";} virtualfloatgetarea(){return0.0;} }; classcircle: publicpoint {private: floatr; public: circle(floatx1,floaty1,floatNr): point(x1,y1) { r=Nr; cout<<"circle构造函数被调用! \n"; } ~circle(){cout<<"circle析构函数被调用! \n";} floatgetarea() { returnPI*r*r; } }; voidmain() { point*p,p1(3,4); p=&p1; cout circlec(1,1,1); p=&c; cout } 程序运行结果为: 问题反馈 【教师释疑】 正确答案: 【point构造函数被调用! 0point构造函数被调用! circle构造函数被调用! 3.14circle析构函数被调用! point析构函数被调用! point析构函数被调用! 】 4、#include classTest; voidfun1(Testt); Testfun2(); classTest { public: Test(intn=1){val=n;cout<<"Con."< Test(constTest&t){val=t.val;cout<<"Copycon."<<> Test&operator=(Test&t) { val=t.val; cout<<"Assignment."<<> return*this; } private: intval; }; voidmain() { Testt1 (1); Testt2=t1; Testt3; t3=t1; fun1(t2); t3=fun2(); } voidfun1(Testt){} Testfun2() { Testt; returnt; } 运行结果为: 问题反馈 【教师释疑】 正确答案: 【Con.Copycon.Con.Assignment.Copycon.Con.Copycon.Assignment.】 1、intfun(inti,intj) { ints; i=i+2; j=j-1; s=i+j; returns; } voidmain() { inti=4,j=5; cout<<><”><><”=""><=""fun(i,j)="">}; 程序运行结果为: <”>问题反馈 【教师释疑】 正确答案: 【4510】 2、inty=1,x,*p,a[]={2,4,6,8,10}; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); cout<<> 程序运行结果为: 问题反馈 【教师释疑】 正确答案: 【19】 3、#include classA{ inta; public: A(intaa=0){a=aa;} ~A(){cout<<"DestructorA! "<<><> }; classB: publicA{ intb; public: B(intaa=0,intbb=0): A(aa){b=bb;} ~B(){cout<<"DestructorB! "<<><> }; voidmain() { Bx(5),y(6,7);: } 程序运行结果为: 问题反馈 【教师释疑】 正确答案: 【DestructorB! 7DestructorA! 6DestructorB! 0DestructorA! 5】 4、lassBox{ private: inta,b,c; public: Box(inta1,intb1,intc1) {a=a1; b=b1; c=c1;} intvolum() { intv; v=a*b*c; returnv; }}; voidmain() { Boxbox(4,5,6); cout<<”体积为: ”<<> } 程序运行结果为: 问题反馈 【教师释疑】 正确答案: 【体积为: 120】 5、#include #include voidmain() { inti,max; charch; charstr[]="1234567"; for(i=0,j=strlen(str)-1;i;i++,j--) { ch=str[i]; str[i]=str[j]; str[j]=ch; } cout<<><> } 程序运行结果 问题反馈 【教师释疑】 正确答案: 【7654321】 6、 不用第三个变量,实现两个数的对调操作。 #include intmain() { inta,b; cin>>a>>b; cout<<><><> a=【? 】; b=【? 】; a=【? 】; cout<<><> } 问题反馈 【教师释疑】 正确答案: 【a+b|a-b|a-b】 7、 分别求出一批非零整数中的偶数、奇数的平均值,用零作 为终止标记。 #include intmain() { intx,i=0,j=0; floats1=0,s2=0,av1,av2; cin>>x; while(【? 】) { if(x%2==0){s1=s1+x;i++;} 【? 】 { s2=s2+x; j++; } 【? 】; } if(i! =0) av1=s1/i; else av1=0; if(j! =0) 【? 】; else av2=0; cout<<"oushujunzhi: "<<"jishujunzhi><><><> return0; } <><><>问题反馈 【教师释疑】 正确答案: 【x! =0或x|else或elseif(x%2==1)或elseif(x%2! =0)或if(x%2)|cin>>x|av2=s2/j】 8、统计一个字符串中的字母、数字、空格和其它字符的个数。 #include intmain() { chars1[80];inta[4]={0}; intk; 【? 】; gets(s1); 【? 】; puts(s1); for(k=0;k<4;k++) cout<<> } voidfun(chars[],intb[]) { inti; for(i=0;s[i]! ='\0';i++) if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++; elseif(【? 】) b[1]++; elseif(【? 】) b[2]++; else b[3]++; return0; } 问题反馈 【教师释疑】 正确答案: 【voidfun(chars[],intb[])|fun(s1,a)|】 9、 输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。 include intmain() { intm,n,k,i=0; for(m=100;m<=1000;m++) { 【? 】; n=m; do { k=k+【? 】; n=n/10; } 【? 】; if(k%15==0) { cout<<> i++; if(i%10==0)【? 】; } } retun0; } 问题反馈 【教师释疑】 正确答案: 【k=0|n%10或n-n/10*10或n-10*(n/10)|while(n>0)或while(0】 1、以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,然后输出a,b,c的值。 请填空。 #include main() { inta,b,c; inttemp; cout<<"Entera,b,c: "; cin>>a>>b>>c; temp=[]; a=b; b=[]; [] }问题反馈 【教师释疑】 正确答案: 【#includeintmain(){inta,b,c;inttemp;cout<<"Entera,b,c: ";cin>>a>>b>>c;temp=[];a=b;b=[];[]cout<<"a="< 2、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数.用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数.请填空. #include #include main() { intn,i,j; cout<<"输入非零的整数(输入零结束程序)"; i=j=0; cin>>n; while[] { if(n>0) i=[]; if(n<0) []; cin>>n } cout<<"i="< }问题反馈 【教师释疑】 正确答案: 【#include#includeintmain(){intn,i,j;cout<<"输入非零的整数(输入零结束程序)";i=j=0;cin>>n;while[<(n! =0)>]{if(n>0)i=[];if(n<0)[];cin>>n}cout<<"i="< 3、斐波那契数列中的头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即: 0,1,1,2,3,5,8,13,21,...等。 下面这个程序就是求斐波哪契数列的前20个数。 请填空。 #include voidmain() { intf,f1,f2,i; f1=0;f2=1; cout<<><><><> for(i=3;i<=20;[]) { f=[]; cout<<><> f1=f2; f2=[]; } }问题反馈 【教师释疑】 正确答案: 【#includevoidmain(){intf,f1,f2,i;f1=0;f2=1;cout<】 4、下面这个程序打印出以下这个三角形.请填空。 0 11 222 3333 44444 555555 6666666 77777777 888888888 9999999999 voidmain() { inti,j; for(i=0;i<[];i++) { for(j=0;j<[];j++) []; cout<<> } }问题反馈 【教师释疑】 正确答案: 【voidmain(){inti,j;for(i=0;i<[<10>];i++){for(j=0;j<[];j++)[cout<];cout<】 5、如图所示,该算式在四个字母所在处欠缺四个数位,下面这个程序用穷举法搜寻解法。 请填空。 1A8 *3B _________ C73D #include voidmain() { intA,B,C,D; intx,y,z; for(A=1;A<=9;A++) for(B=1;B<=9;B++) for(C=1;C<=9;C++) for(D=1;D<=9;D++) { x=100+[]+8; y=30+B; z=[]+700+30+D; if([]) cout<<"A="<<> } }问题反馈 【教师释疑】 正确答案: 【#includevoidmain(){intA,B,C,D;intx,y,z;for(A=1;A<=9;A++)for(B=1;B<=9;B++)for(C=1;C<=9;C++)for(D=1;D<=9;D++){x=100+[]+8;y=30+B;z=[]+700+30+D;if([])cout<<"A="< 6、以下程序的功能是: 从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束,请填空。 #include voidmain() { []; cin>>x; amax=x; amin=x; while([]) { if(x>amax) amax=x; if([]) amin=x; cin>>x; } cout<<"amax="< }问题反馈 【教师释疑】 正确答案: 【#includevoidmain(){[];cin>>x;amax=x;amin=x;while([=0>]){if(x>amax)amax=x;if([】 7、以下程序的功能是调用函数fun计算: m=1-2+3-4+…+9-10,并输出结果。 请填空。 intfun(intn) { intm=0,f=1,i; for(i=1;i<=n;i++) {m+=i*f; f=[]; } [] } voidmain() {cout<<"m="<<[])<<> 【教师释疑】 正确答案: 【intfun(intn){intm=0,f=1,i;for(i=1;i<=n;i++){m+=i*f;f=[<-f或f*-1或-1*f或f*(-1)或(-1)*f>];}[]}voidmain(){cout<<"m="<<[])<】 8、函数fun的功能是计算x^n。 主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算: m=a^4+b^4-(a+b)^3。 (说明: x^n即x的n次幂) #include doublefun(doublex,intn) { inti;doubley=1; for(i=1;i<=n;i++) []; [] } voidmain() { doublem,a,b; a=7.3; b=5.1; m=[]; cout<<"m="<<><> }问题反馈 【教师释疑】 正确答案: 【#includedoublefun(doublex,intn){inti;doubley=1;for(i=1;i<=n;i++)[];[]}voidmain(){doublem,a,b;a=7.3;b=5.1;m=[];cout<<"m="<】 9、以下程序的功能是: 在主函数中输入一个整数n,调用函数fun计算n的所有因子(不包括1与自身)之和。 #include intfun(intx) { ints=0,i; for(inti=2;i<=x-1;i++) if([]) s+=i; []; } voidmain() { intn,sum; cout<<"请输入一个整数: "; cin>>n; cout<<[]; }问题反馈 【教师释疑】 正确答案: 【#includeintfun(intx){ints=0,i;for(inti=2;i<=x-1;i++)if([])s+=i;[];}voidmain(){intn,sum;cout<<"请输入一个整数: ";cin>>n;cout<<[】 10、以下程序的功能是将一个字符串的内容颠倒过来。 #include//或#include #include voidmain() { inti,max; charch; charstr[]="1234567"; for(i=0,j=strlen(str)-1;[<>];[]) { ch=str[i]; []; str[j]=ch; } printf("%s\n",str);//或cout<<><> }问题反馈 【教师释疑】 正确答案: 【以下程序的功能是将一个字符串的内容颠倒过来。 #include//或#include#includevoidmai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 答题