您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象上一届期末试卷
浙江财经学院课程期末考试试卷第1页,共11页浙江财经学院学年第一学期《面向对象程序设计》课程期末考试试卷(卷)(共六大题)一、判断题(√/×,每题1分,共10分)1、程序测试是为了发现程序中的错误而执行程序的过程。()2、白盒测试是把程序看成一个封装的系统,测试只在程序接口处进行。()3、类的测试不仅与当前应用程序有关,还关系到部件复用的可靠性。()4、程序的效率是最重要的,为了提高效率可以牺牲程序的可读性。()5、程序调试就是要找出程序中所有的错误。()6、编译程序后出现的警告信息可以忽略,对程序的运行结果没有影响。()7、程序编译后报告的错误数量和程序中存在的错误数量是一致的。()8、提高程序调试效率的有效方法是先进行静态跟踪,然后进行运行跟踪。()9、进行程序调试时,断点设得越多越好。()10、在VC++调试工具可以设置观察(watch)窗口,但在窗口中不能改变变量的当前值。()二、单项选择题(每题1分,共10分)1.关于类和对象不正确的说法是()。(a)类是一种类型,它封装了数据和操作(b)对象是类的实例(c)一个类的对象只有一个(d)一个对象必属于某个类2.在类定义的外部,可以被访问的成员有()。(a)所有类成员(b)private或protected的类成员(c)public的类成员(d)public或private的类成员3.关于this指针的说法错误的是()。(a)this指针可以不显式说明(b)当创建一个对象后,this指针就指向该对象(c)成员函数拥有this指针(d)静态成员函数拥有this指针4.下面对构造函数的不正确描述是()。(a)系统可以提供默认的构造函数(b)构造函数可以有参数,所以也可以有返回值(c)构造函数可以重载(d)构造函数可以设置默认参数5.下面对友员的错误描述是()。(a)关键字friend用于声明友员(b)一个类中的成员函数可以是另一个类的友员(c)友员函数访问对象的成员不受访问特性影响(d)友员函数通过this指针访问对象成员6.下列关于运算符重载的描述中,()是正确的。密封线专业、班级:学号:姓名:浙江财经学院课程期末考试试卷第2页,共11页(a)可以改变参与运算的操作数个数(b)可以改变运算符原来的优先级(c)可以改变运算符原来的结合性(d)不能改变原运算符的语义7.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()。(a)public成员(b)private成员(c)protected成员(d)友元8.不论派生类以何种方式继承基类,都不能使用基类的()。(a)public成员(b)private成员(c)protected成员(d)public成员和protected成员9.在创建派生类对象时,构造函数的执行顺序是()。(a)对象成员构造函数、基类构造函数、派生类本身的构造函数(b)派生类本身的构造函数、基类构造函数、对象成员构造函数(c)基类构造函数、派生类本身的构造函数、对象成员构造函数(d)基类构造函数、对象成员构造函数、派生类本身的构造函数10.若有定义“intx=17;”,则语句“coutoctx;”的输出结果是()(a)11(b)0x11(c)21(d)021三、程序选择填空(每空2分,共20分)1.以下是一个采用类结构的方式求n!的程序,请填空完成程序。#includeiostream.hclassFactorial{intn;intfact;public:Factorial(int);voidCalculate();voidDisplay();};Factorial::Factorial(intval){n=val;①;}voidFactorial::Calculate(){inti=n;while(i1)②;}voidFactorial::Display()浙江财经学院课程期末考试试卷第3页,共11页{coutn!=factendl;}voidmain(){intn;cout请输入n的值:;cinn;③;A.Calculate();//计算n的阶乘A.Display();//显示n的阶乘}2、下列程序的运行结果为:cl=(5,4)c2=(2,10)(0,0)c3=c1+c2=(7,14)#includeiostream.hclasscomplex{private:doublereal;doubleimag;public:complex(doubler=0.0,doublei=0.0){①;}friendcomplexoperator+(complexc1,complexc2);voiddisplay();};complexoperator+(complexc1,complexc2){return②;}voidcomplex::display(){cout③endl;}voidmain(){complexc1(5,4),c2(2,10),c3,c4;coutcl=;c1.display();coutc2=;c2.display();c3.display();c3=c1+c2;coutc3=c1+c2=;c3.display();}浙江财经学院课程期末考试试卷第4页,共11页3、#includeiostream.h#includemath.hclassPoint{private:doubleX,Y;①__________Line;//将Line声明为友元类public:Point(doublex=0,doubley=0){X=x;Y=y;}Point(Point&p){X=p.X;Y=p.Y;}};classLine{private:Pointp1,p2;public:Line(Point&xp1,Point&xp2):②__________{}doubleGetLength();//获取两点之间的距离};doubleLine::GetLength(){doubledx=p2.X-p1.X;doubledy=p2.Y-p1.Y;return③____________;}voidmain(){Pointp1,p2(3,4);LineL1(p1,p2);cout④_____________endl;//显示p1、p2之间的距离}备选答案:浙江财经学院课程期末考试试卷第5页,共11页1、①(a)fact=0(b)fact=1(c)fact=val(d)fact=val-1②(a)fact*=i--(b)fact*=i(c)fact=*i(d)fact*=i++③(a)A(b)FactorialA(c)FactorialA(n)(d)A(n)2、①(a)real=0;this-imag=i(b)this-real=r;this-imag=i(c)real=0;imag=0(d)this-real=0;imag=i②(a)complex(c1.real+c2.real,c1.imag+c2.imag)(b)complex(real+c2.real,imag+c2.imag)(c)complex(c1.real+real,c1.imag+imag)(d)complex(real+this-real,imag+this-imag)③(a)(real,imag)(b)(real,imag)(c)(real,imag)(d)(real,imag)3、①(a)friendclass(b)classfriend(c)friend(d)class②(a)p1,p2(b)p1(xp1),p2(xp2)(c)p1=0,p2=0(d)p1(0),p2(0)③(a)dx*dx+dy*dy(b)dx*dx-dy*dy(c)sqrt(dx*dx+dy*dy)(d)sqrt(dx*dx-dy*dy)④(a)p1-p2(b)p2-p1(c)p2.GetLength()-p1.GetLength()(d)L1.GetLength()四、写出下列程序的运行结果(本大题共30分)1、#includeiostream.hclassSample{intx,y;public:Sample(){x=y=1;}Sample(inta,intb){x=a;y=b;}~Sample(){if(x==y)coutx=yendl;elsecoutx!=yendl;}voiddisp(){coutx=x,y=yendl;}};voidmain(){Samples1(2,3),s2;s2.disp();浙江财经学院课程期末考试试卷第6页,共11页s1.disp();coutendl;}2、#includeiostream.hclasspoint{private:intx,y;public:point(intxx=0,intyy=0){x=xx;y=yy;cout构造函数被调用endl;}point(point&p);~point(){cout析构函数被调用endl;}intget_x(){returnx;}intget_y(){returny;}};point::point(point&p){x=p.x;y=p.y;cout拷贝构造函数被调用endl;}voidmain(){pointa(15,22);pointb(a);coutb.get_x()b.get_y()endl;b=a;coutb.get_x()b.get_y()endl;}3、#includeiostream#includeiomanipusingnamespacestd;intmain(){char*pt=China;//pt指向字符串Chinacoutsetw(10)ptendl;coutsetfill('*')setw(10)ptendl;doublepi=22.0/7.0;浙江财经学院课程期末考试试卷第7页,共11页coutsetiosflags(ios::scientific)setprecision(8);coutpi=piendl;//输出pi值coutpi=setprecision(4)setiosflags(ios::fixed)piendl;//改为小数形式输出return0;}4、#includeiostreamusingnamespacestd;classRectangle{intwidth;intheight;public:Rectangle(intw,inth){width=w;height=h;coutConstructingwidthbyheightrectangle.\n;}~Rectangle(){coutDestructingwidthbyheightrectangle.\n;}intarea(){returnwidth*height;}};intmain(){RectangleRect(3,4),*p;p=newRectangle(10,8);coutAreaisp-area()\n;deletep;return0;}浙江财经学院课程期末考试试卷第8页,共11页5、#includeiostream.hclassBASE{public:virtualvoidgetxy(inti,intj=0){x=i;y=j;}virtualvoidfun()=0;protected:intx,y;};classA:publicBASE{public:voidfun(){coutx=x'\t'y=x*x=x*xendl;}};classB:publicBASE{public:voidfun(){coutx=x
本文标题:面向对象上一届期末试卷
链接地址:https://www.777doc.com/doc-1980741 .html