2007级研究生C++试卷A及答案

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

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

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

资源描述

第1页共6页南华大学2007–2008学年度第一学期面向对象程序设计(C++)课程试卷(2007级研究生)考试日期:年月日考试类别:考查考试时间:120分钟题号一二三四……总分得分一、填空题:(每空1分,共20分)1.开发一个C++语言程序的步骤通常包括编辑,预处理,编译,连接,运行。2.在C++中,函数传值调用分两种方式:一种是传递变量本身值称为传值,另一种是传递变量地址值的称为传址。3.C++中没有字符串类型,字符串是通过字符数组来表示的,每一个字符串都有一个结尾字符‘\0’。4.描述命题A小于B或小于C的表达式为AB||AC。5.设inta=3,b=4,c=5;,表达式(a+b)c&&b==c的值是0。6.文件包含命令有两种格式,一种是将文件名以尖括号括起,另一种是将文件名以双引号括起。7.C++语言提供的基本控制结构可以分为3种类型:顺序,选择,循环。8.静态数据成员是类的所有对象中共享的成员,而不是某个对象的成员。9.使用new[]来创建对象数组的程序中,类中必须说明缺省构造函数。10.设置虚基类的真正目的是为了解决二义性问题。11.拷贝构造函数使用引用作为参数初始化创建中的对象。12.当一个成员函数被调用时,该成员函数的this指针指向调用它的对象。二、选择题:(每题2分,共30分)1.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是DA)增加了一些新的运算符B)允许函数重载,并允许设置缺省参数C)规定函数说明符必须用原型D)引进了类和对象的概念2.下列哪个是C++语言的有效标识符?AA)_No1B)No.1C)2NumD)int得分阅卷人得分阅卷人………………………………………线………………………………………订………………………………………装………………………………………学院专业考号姓名第2页共6页3.设有定义intx;floatv;,则10+x+v值的数据类型是CA)intB)doubleC)floatD)不确定4.对于int*pa[5];的描述,正确的是DA)pa是一个指向数组的指针,所指向的数组是5个int型元素;B)pa是一个指向某数组中第5个元素的指针,该元素是int型变量;C)pa[5]表示某个数组的第5个元素的值;D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针5.决定C++语言中函数的返回值类型的是DA)return语句中的表达式类型B)调用该函数时系统随机产生的类型C)调用该函数时的主调用函数类型D)在定义该函数时所指定的数据类型6.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是DA)公有类型B)私有类型C)保护类型D)友元类型7.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是CA)友元函数B)虚函数C)构造函数D)析构函数8.类的析构函数的作用是DA)一般成员函数的初始化B)类的初始化C)对象的初始化D)删除类创建的对象9.下列说法正确的是BA)内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B)内联函数在编译时是将该函数的月标代码插入每个调用该函数的地方C)类的内联函数必须在类体内定义D)类的内联函数必须在类体外通过加关键字inline定义10.下面对静态数据成员的描述中,正确的是DA)静态数据成员可以在类体内进行初始化B)静态数据成员不可以被类的对象调用C)静态数据成员不能受private控制符的作用D)静态数据成员可以直接用类名调用11.下面对于友元函数描述正确的是CA)友元函数的实现必须在类的内部定义B)友元函数是类的成员函数C)友元函数破坏了类的封装性和隐藏性D)友元函数不能访问类的私有成员12.关于子类型的描述中,下列叙述不正确的是A第3页共6页A)子类型就是指派生类是基类的子类型B)一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型C)在公有继承下,派生类是基类的子类型D)子类型的关系是不可逆的13.关于动态联编的下列描述中,错误的是DA)动态联编是以虚函数为基础的B)动态联编是在运行时确定所调用的函数代码的C)动态联编调用函数操作是指向对象的指针或对象引用D)动态联编是在编译时确定操作函数的14.下列运算符中,在C++语言中不能重载的是CA)&&B)[]C)::D)new15.在ios中提供控制格式的标志中,转换为十六进制形式的标志位是AA)hexB)octC)decD)left三、写出程序运行结果(共4小题,共24分)1、(本题6分)#includeiostream.hvoidmain(){inti=1;while(i=15){i++;if(i%3!=2)continue;elsecouti=iendl;}}i=2i=5i=8i=11i=142、(本题6分)#includeiostream.hintc;classA{private:inta;staticintb;public:A(){a=0;c=0;}voidseta(){a++;}voidsetb(){b++;}voidsetc(){c++;}voiddisplay(){coutabc;}};intA::b=0;voidmain(){Aal,a2;al.seta();al.setb();al.setc();a2.seta();a2.setb();a2.setc();得分阅卷人第4页共6页a2.display();}1223、(本题6分)#includeiostream.hclassA{public:A(){coutA::A()called.\n;}virtual~A(){coutA::~A()called.\n;}};classB:publicA{public:B(inti){coutB::B()called.\n;buf=newchar[i];}virtual~B(){delete[]buf;coutB::~B()called.\n;}private:char*buf;};voidfun(A*a){deletea;}voidmain(){A*a=newB(15);fun(a);}A::A()called.B::B()called.B::~B()called.A::~A()called.4、(本题6分)#includeiostream.hclasstest{private:intnum;floatfl;public:test(){coutInitalizingdefaultendl;num=0;fl=0.0;}intgetint(){returnnum;}floatgetfloat(){returnfl;}~test(){coutDestructorisactiveendl;}};voidmain(){testarray[2];coutarray[1].getint()array[1].getfloat()endl;}InitalizingdefaultInitalizingdefault00DestructorisactiveDestructorisactive四、编程题(共3小题,共26分)1、(本题10分)写一个函数,用递归函数与非递归函数完成以下得分阅卷人第5页共6页运算:sum(n)=1+1/2+1/3+1/4+…+1/n(其中n0)函数原型:floatsum(intn);函数参数:n为正整数。函数返回值:相应于给定的n,右边表达式运算结果。递归函数:floatsum(intn){if(n==1)return1.f;elsereturnsum(n-1)+1.f/n;}非递归函数:floatsum(intn){floatsum=1.f;for(inti=1;in;i++)sum+=1.f/(n+1);returnsum;}2、(本题6分)写一个函数,找出给定数组中具有最小值的元素。函数的原型:charMinCode(charcharAry[]);函数参数:charAry所要处理的字符数组名;函数返回值:返回具有最小ASCII码的字符。charMinCode(charcharAry[],intlen=10){charmixCode=0x7f;for(inti=0;ilen;i++){if(charAry[i]mixCode)mixCode=charAry[i];}returnmixCode;}3、(本题10分)下列shape类是一个表示形状的抽象类,area()为求图形面积的函数,doubletotal(shape*s[],intn)则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数total()、area()。classshape{public:virtualfloatarea()=0;};第6页共6页floattotal(shape*s[],intn){floatsum=0.0;for(inti=0;in;i++)sum+=s[i]-area();returnsum;}classTriangle:publicShape{public:Triangle(doubleh,doublew){H=h;W=w;}doubleArea()const{returnH*W*0.5;}private:doubleH,W;};classRectangle:publicShape{public:Rectangle(doubleh,doublew){H=h;W=w;}doubleArea()const{returnH*W;}private:doubleH,W;};

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

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

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

×
保存成功