2010-面向对象试题B卷

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2009-2010学年第2学期试题(B)卷课程名称面向对象程序设计考试日期2010年6月共2题学生姓名学院信息学院班级学号一、填空题(每空1分,总计60分)1.目前比较流行的两种程序设计方法分别是①和②。2.将(3506.2)8转换成十进制是①,将(68.3125)10转换成二进制是②,将十进制数-67用二进制的原码表示为③反码表示为④补码表示为⑤。3.字符串“CHINA”在内存中占用①个内存单元,请用C++语句声明一个常量PI,值为3.1416②。4.在C++语言中,下列表达式的值分别是多少:201/4=①,201%4=②,201/4.0=③.5.在C++语言中,执行完下列语句:a=30;b=a++;c=++a;a,b,c三个变量的值分别是a=①b=②c=③.6.表达式!(35)||(62)的值是①;若a=1,b=2,c=3,表达式a|b&c的结果是②;若a=1,则表示式a2的结果是③。7.下列程序是从键盘上输入10个数,分别求出这10个数的最大值,最小值和平均值,请在划线部分填写适当语句,完成此功能。#includeiostream.hvoidmain(){floatver;intd,j,min,max,sum;cind;sum=d;max=d;min=d;for(j=0;①;j++){cind;if(dmax)②;if(③)min=d;sum=sum+d;}④;coutmaxminver;}8.整型变量x和y,被分别初始化为3和100,下列语句do{x=y/x;y=y-x;}while(x=y)的循环共执行了①次,语句执行完后,x和y的值分别:②,③。9.请将下列程序运行后的最终结果填写完整。#includeiostream.h#includeiomanip.hvoidfiddle(intin1,int&in2);voidmain(){intcount=7,index=12;coutThevaluesare;coutcount;coutindexendl;fiddle(count,index);coutThevaluesare;coutcount;coutindexendl;}voidfiddle(intin1,int&in2){in1=in1+100;in2=in2+100;coutThevaluesare;coutin1in2endl;}程序运行的结果是:Thevaluesare712Thevaluesare①②Thevaluesare③④10.请将下列程序的最后运行结果填写完整。#includeiostream.hinti=6;voidother(void);voidmain(void){staticinta;intb=12;intc=-8;cout---MAIN---\n;coutI:ia:ab:bc:cendl;c=c+14;other();cout---MAIN---\n;coutI:ia:ab:bc:cendl;i=i+13;other();}voidother(void){staticinta=-6;staticintb;intc=13;a=a-5;i=i+21;c=c-4;cout---OTHER---\n;coutI:ia:ab:bc:cendl;b=a;}程序的运行结果是:-----MAIN-------I:6a:①b:12c:②-----OTHER------I:③a:-11b:④c:9-----MAIN-------I:⑤a:0b:12c:⑥----OTHER------I:61a:⑦b:⑧c:911.下面程序是设定学生人数N=8,提示用户输入N个人的考试成绩,然后计算出他们的平均成绩并显示出来,请在划线部分填上适当的语句,完成此功能。#includeiostream.h#defineN①floatgrades[N];voidmain(){inti;floattotal,average;for(i=0;iN;i++){coutEntergrade#(i+1):;cin②;}total=0;for(i=0;③;i++)total=④;average=total/N;cout\nAveragegrade:averageendl;}12.请给出下面程序的运行结果。#includeiostream.hvoidmain(){inta[10]={1,2,3,4,5,6,7,8,9,0};inti=2;int*q=&i;int&r=i;int*p;p=&a[2];coutthefirstvalue:*pendl;p=p+4;coutthesecondvalue:*pendl;coutthethirdvalue:rendl;r=5;couttheforthvalue:*qendl;coutthefifthvalue:iendl;}程序的运行结果是:thefirstvalue:①thesecondvalue:②thethirdvalue:③theforthvalue:④thefifthvalue⑤13.下表是类的继承过程中,子类采用不同的继承方式,对父类的数据成员和成员函数的访问属性进行选择性继承,以及子类中的新成员函数和子类的对象能否访问继承下来的父类成员。请参考表中已有数据,将该表补全。父类访问属性继承方式publicprotectedprivatepublic在子类中的属性①protectedprivate子类新成员函数能否访问能②否子类的对象能否访问能否③private在子类中的属性privateprivate④子类新成员函数能否访问能⑤否子类的对象能否访问⑥否否protected在子类中的属性⑦protectedprivate子类新成员函数能否访问能⑧否子类的对象能否访问否否⑨14.下面程序是使用I/O流建立一个文件test.txt,写入字符“已经成功写入文件!”,请在划线部分添加适当语句,完成此功能。#includefstream.hvoidmain(){①;file1已经成功写入文件!;②;}15.下面程序是派生类构造函数的程序,请将程序的最后运行结果补全。#includeiostream.hclassB1{public:B1(inti){coutconstructingB1iendl;}};classB2{public:B2(){coutconstructingB2endl;}};classC:publicB2,publicB1{public:C(inta,intb,intc):B1(a),memberB1(b){i=c;}private:B1memberB1;inti;};voidmain(){Cobj(1,2,3);}程序运行的结果是:constructing①constructing②constructing③一、程序题(共5题,每题8分)1.利用函数重载的方法,分别求出两个整数,两个浮点数,两个字符的最大值,函数名用MAX,并在主程序中加以调用验证。2.利用模板函数的方法,实现函数Swap(x,y),功能为交换x,y的值,并在主程序中加以调用,分别验证两个整数,两个浮点数和两个字符的运算。3.分别采用值传递、引用传递、数组传递和指针传递四种函数值参数传递的方法,编写函数实现4个整数(4、8、11、21)的求和功能,并在主程序中加以调用验证。4.声明一个Shape基类,在此基础上派生出长方形Rectangle和圆形Circle类,二者都有GetArea()函数计算对象面积,使用Rectangle类派生一个正方形Square类。在主程序中声明各自的对象,并执行相应的行为。5.阅读下面的程序,回答题后三个问题。/*************************************************************/#includeiostream.hclassA{private://…其它成员public:virtualvoidfunc(intdata){cout”classA:”dataendl;}voidfunc(char*str){cout”classA:”strendl;}};classB:publicA{//…其它成员public:voidfunc(){cout”functioninBwithoutparameter!\n”;}voidfunc(intdata){cout”classB:”dataendl;}voidfunc(char*str){cout”classB:”strendl;}};voidmain(){A*pA;Bb;pA=&b;pA-func(1);pA-func(“haha”);}/*************************************************************************/问题1:写出程序的运行结果:问题2:如下句所示,在函数main()中通过pA调用类B中定义的参数表为空的函数func():pA-func();是否正确?问题3:如果要记录已经创建的A类的实例(对象)的个数,我们可以借助于类的静态成员。修改上面类A的定义,使得它包含一个私有的静态成员objectCcount,记录属于该类的对象的个数,然后为类A增加必要的成员函数,使得下面的程序:voidmain(){A*pA=newA[3];cout”Thereare”pA-GetObjectCount()”objects”endl;delete[]pA;cout”Thereare”A::GetObjectCount()”objects”endl;}得到的输出为:Thereare3objectsThereare0objects写出类A的定义(将所有的函数成员实现写在类定义体中)并写出初始化类的静态成员objectCount的语句:(共7页)

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功