《C程序设计实例与操作》试题及答案模拟题二答案_第1页
《C程序设计实例与操作》试题及答案模拟题二答案_第2页
《C程序设计实例与操作》试题及答案模拟题二答案_第3页
《C程序设计实例与操作》试题及答案模拟题二答案_第4页
《C程序设计实例与操作》试题及答案模拟题二答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C++程序设计》模拟试题(二)一、选择题(本大题共10小题,每题2分,共20分)1.以下对于析构函数描绘正确的选项是A.能够重载C.返回种类是void种类

(

D)。B.函数体中一定有D.不可以指定返回种类

delete语句2.下边相关重载函数的说法中正确的选项是(C)。.重载函数一定拥有不一样的返回值种类B.重载函数形参个数一定不一样C.重载函数一定有不一样的形参列表D.重载函数名能够不一样3.以下对于单目运算符++、--的表达中正确的选项是(D)。.它们的运算对象能够是任何变量和常量B.它们的运算对象能够是

char型变量和

int

型变量,但不可以是

float

型变量C.它们的运算对象能够是

int

型变量,但不可以是

double

型变量和

float

型变量D.它们的运算对象能够是

char型变量、

int

型变量和

float

型变量4.对于异样办理,以下说法中错误的选项是(B)。A.在C++程序中,由throw表达式抛出异样,throw抛出的能够是任何种类的数据B.在一个

try-catch

结构中,只好有一个

try

语句块和一个

catch语句块C.当抛出异样后,系统会找寻般配的

catch

语句,转到离出现异样近来的

try-catch

结构去办理D.当某条语句抛出异样时,跟在后来的语句将被跳过转到catch语句处,此时在try块中抛出异样前创立的对象将被自动开释5.对于公有继承,基类中的私有成员在派生类中将(A)。.仍旧是基类的私有成员B.成为派生类的私有成员C.能够被派生类的成员函数直接接见D.能够被派生类的对象直接接见6.下边对于抽象类的说法中错误的选项是(C)。.抽象类是包含有纯虚函数的类B.抽象类是一种特别的类C.抽象类能够定义自己的对象D.抽象类能够派生新类7.假设一条定义语句为“

inta[10],x,*pa=a;

”,若要把数组

a中下标为

3的元素值赋给x,则不正确的语句为

(

D)。A.x=pa[3];

B.x=*(a+3);C.x=a[3];

D.x=*pa+3;8.若类

X是类

Y的友元类,则以下说法中正确的选项是

(

A)。A.类

X的全部成员都能够接见类

Y的私有成员B.类

Y的全部成员都能够接见类

X的私有成员C.只有类

Y的公有成员才能接见类

X的私有成员D.只有类

X的公有成员才能接见类

Y的私有成员9.派生类的成员函数能够直接接见基类的(B)成员。.全部B.公有和保护C.保护和私有D.公有和私有10.C++中函数返回值的种类是由(B)决定的。A.return语句中表达式的种类B.该函数定义时的种类C.调用函数时的调用语句D.系统依据结果二、填空题(本大题共10小题,每题2分,共20分)1.在C++程序中使用的cin表记符是系统类库中定义的istream类中的一个对象。2.假设一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为0。3.在一个类的定义中,包含有数据成员和成员函数的定义。4.C++的基类指针能够接见派生类对象,但不可以接见派生类对象的private成员。5.假设A为一个类,inta( )为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为intAA::a( )。6.履行语句“chara[10]={"abcd"},*p;p=a;”后,*(p+4)的值是'/0'。7.假设变量x定义为“intx=5;”,要将rx定义为x的引用(又名),应使用的语句为int&rx=x;。8.假设指针变量p定义为“int*p=newint;”,要开释p所指向的动向内存,应使用的语句是deletep;。9.有以下类申明:classFoo{intbar;};则Foo类的成员bar的接见属性是private。10.有二维字符数组“chars[4][6]={"zhang","gao","tang","wang"};”,履行程序“cout<<s[2];”后,屏幕上显示的是tang。三、阅读以下程序,写出履行结果(本大题共5小题,每题4分,共20分)1.#include<iostream.h>classSample{intx,y;public:Sample( ){x=y=0;}Sample(inta,intb){x=a;y=b;}voiddisp( ){cout<<"x="<<x<<",y="<<y<<endl;}};voidmain( ){Samples(2,3),*p=&s;p->disp( );}运转结果:x=2,y=32.#include<iostream.h>classSample{intx;public:Sample( ){};Sample(inta){x=a;}Sample(Sample&a){x=a.x+1;}voiddisp( ){cout<<"x="<<x<<endl;}};voidmain( ){Samples1(2),s2(s1);s1.disp( );s2.disp( );}运转结果:x=2x=33.#include<iostream.h>classSample{charc1,c2;public:Sample(chara){c2=(c1=a)-32;}voiddisp( ){cout<<c1<<"变换为"<<c2<<endl;}};voidmain( ){Samplea('a'),b('b');a.disp( );b.disp( );}运转结果:a变换为Ab变换为B4.#include<iostream.h>classSample{intx,y;public:Sample( ){x=y=0;}Sample(inta,intb){x=a;y=b;}voiddisp( ){cout<<"x="<<x<<",y="<<y<<endl;}};voidmain( ){Samples1,s2(1,2),s3(10,20);Sample*pa[3]={&s1,&s2,&s3};for(inti=0;i<3;i++)pa[i]->disp( );}运转结果:x=0,y=0x=1,y=2x=10,y=205.#include<iostream.h>voidswap(int&,int&);voidmain( ){inta=15,b=22,c=9,d=30;cout<<"1522930";if(a<b)swap(a,b);if(b<c)swap(b,c);if(c<d)swap(c,d);if(a<b)swap(a,b);if(b<c)swap(b,c);if(a<b)swap(a,b);cout<<endl<<a<<""<<b<<""<<c<<""<<d<<endl;}voidswap(int&x,int&y)//自定义函数代码从这里开始{inttemp;temp=x;x=y;y=temp;}运转结果:15229303022159四、达成程序题(本大题共5小题,每题4分,共20分)1.下边是一个实现两个数相加的程序,在下划线处填上正确的语句。#include<iostream.h>intadd(intx,inty){returnx+y;}doubleadd(doublex,doubley){returnx+y;}voidmain( ){inta=4,b=6;doublec=2.6,d=7.4;cout<<add(a,b)<<","<<add(c,d)<<endl;}2.设计一个函数用于计算两点之间的距离,,在下划线处填上正确的语句。#include<iostream.h>#include<math.h>classPoint{intx,y;public:Point(inti,intj){x=i;y=j;}intgetx( ){returnx;}intgety( ){returny;}voiddisp( ){cout<<"("<<x<<","<<y<<")";}};floatdistance(Point&p1,Point&p2){floatd;d=sqrt((p1.getx( )-p2.getx( ))*(p1.getx( )-p2.getx( ))+(p1.gety( )-p2.gety( ))*(p1.gety( )-p2.gety( )));returnd;}voidmain( ){Pointp1(2,2),p2(5,5);p1.disp( );cout<<"与";p2.disp( );cout<<"之间距离="<<distance(p1,p2)<<endl;}3.依据程序的运转结果,在下划线处填上正确的语句。#include<iostream.h>classSample{protected:intx;public:Sample( ){x=0;}Sample(intval){x=val;}voidoperator++( ){x++;}};classDerived:publicSample{inty;public:Derived( ){x=0;y=0;}Derived(intval1,intval2){x=val1;y=val2;}voidoperator--( ){x--;y--;}voiddisp( ){cout<<"x="<<x<<"y="<<y<<endl;}};voidmain( ){Derivedd(3,5);d.disp( );d++;d.disp( );d--;d.disp( );}运转结果:x=3y=5x=4y=5x=3y=44.定义函数模板用于计算一个数的绝对值,在下划线处填上正确的语句。#include<iostream.h>template<classT>Tabs(Tx){return(x>0?x:-x);}voidmain( ){cout<<abs(-3)<<","<<abs(-2.6)<<endl;}5.将下边程序增补完好,使程序履行结果为9。#include<iostream.h>classClass{public:Class(int);intget( );private:intx;};Class::Class(inta){x=a;}intClass::get( ){returnx*x;}voidmain( ){Classa(3);cout<<a.get( )<<endl;}五、编程题(本大题共2小题,每题10分,共20分)1.设计一个立方体类Box,计算并输出立方体的体积和表面积。解:Box类包含三个私有数据成员a(立方体边长)、volume(体积)和area(表面积),还有两个结构函数以及seta( )(设置立方体边长)、getvolume( )(计算体积)、getarea( )(计算表面积)和disp( )(输出结果)。此题程序以下:#include<iostream.h>classBox{floata;floatvolume;floatarea;public:Box( ){}Box(floatr){a=r;}voidseta(floatr){a=r;}voidgetvolume( ){volume=a*a*a;}voidgetarea( ){area=6*a*a;}voiddisp( ){cout<<"体积:"<<volume<<",表面积:"<<area<<endl;}};voidmain( ){Boxobj1(3.5),obj2;obj2.seta(5.4);obj1.getvolume( );obj1.getarea( );cout<<"obj1=>";obj1.disp( );obj2.getvolume( );obj2.getarea( );cout<<"obj2=>";obj2.disp( );}运转结果:obj1=>体积:42.875,表面积:73.5obj2=>体积:157.464,表面积:174.962.设计一个学生类student,包含学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60~69:及格;小于60:不及格。解:#include<iostream.h>#include<string.h>#include<iomanip.h>classstudent{charname[10];intdeg;charlevel[7];public:student(charna[],intd){strcpy(name,na);deg=d;}char*getname( ){returnname;}friendvoidtrans(student&s){if(s.deg>=90)strcpy(s.level,"优");elseif(s.deg>=80)strcpy(s.level,"良");elseif(s.deg>=70)strcpy(s.level,"中");elseif(s.deg>=60)strcpy(s.level,"及格");elsestrcpy(s.level,"不及格");}voiddisp( ){cout<<setw(10)<<name<<setw(6)<<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论