您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 鲁东大学2011年C++期末考试笔试试题
考试形式(闭卷笔试)时间(120分钟)一、单选题:本题共15小题,每小题2分,满分30分。1、C++源程序文件的缺省扩展名为(A)A)cppB)exeC)objD)lik2、设x和y均为bool量,则x||y为假的条件是(C)A)它们均为真B)其中一个为真C)它们均为假D)其中一个为假3、若用数组名作为函数调用的实参,则传递的是(A)A)数组的首地址B)数组中第一个元素的值C)数组全部元素的值D)数组元素的个数4、可替换#definePI3.1415926的语句是(B)A)floatPI3.1415926;B)constfloatPI=3.1415926;C)constPI(3.1415926);D)const3.1415926;5、下列哪个不是面向对象的关键要素(B)A)抽象性B)结构性C)封装性D)多态性6、下列哪种默认参数的声明是不正确的(C)A)intmax(inta,intb,intc,intd=0);B)intmax(inta,intb,intc=0,intd=0);C)intmax(inta=0,intb,intc=0,intd=0);D)intmax(inta,intb=0,intc=0,intd=0);7、下面的函数声明中,哪一个是voidBC(inta,intb);的重载函数?(B)A)intBC(inta,intb);B)voidBC(inta,charb);C)floatBC(inta,intb,intc=0);D)voidBC(inta,intb=0);8、下列对引用的陈述中不正确的是(C)A)每一个引用都是其所引用对象的别名,因此必须初始化B)形式上针对引用的操作实际上作用于它所引用的对象C)一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D)不需要单独为引用分配存储空间9、若MyClass为一个类,执行“MyClassa[4],b;”语句时会自动调用该类构造函数的次数是(D)A)1B)2C)4D)5题目一二三四总分统分人得分得分评卷人10、下列关于对象初始化的叙述中,正确的是(B)A)定义对象的时候不能对对象进行初始化B)定义对象之后可以显式地调用构造函数进行初始化C)定义对象时将自动调用构造函数进行初始化D)在一个类中必须显式地定义构造函数实现初始化11、设类Test中存在成员staticintx,则下列哪种初始化方式是正确的(C)A)Test::intx=25;B)intx=25;C)intTest::x=25;D)intTestx=25;12、在继承中,派生类拥有的基类个数为(D)A)0个B)1个C)多个D)至少1个13、下列关于基类和派生类关系的叙述中,正确的是()A)每个类最多只能有一个直接基类B)派生类中的成员可以访问基类中的任何成员C)基类的构造函数必须在派生类的构造函数体中调用D)派生类除了继承基类的成员,还可以定义新的成员14、关于动态联编的下列描述中,错误的是()A)动态联编是在编译时确定操作函数的B)动态联编是以虚函数为基础的C)动态联编是在继承的前提下的一种多态性D)动态联编时要求类的继承是公有的15、下列有关运算符重载的描述中,正确的是()A)运算符重载可以改变优先级B)运算符重载不改变语法结构C)运算符重载可改变其结合性D)运算符重载可改变操作数的个数二、程序填空题:本题共3小题,每空4分,满分20分。1、.将下面程序补充完整,使程序计算100以内所有可被7整除的自然数之和。#includeiostream.hvoidmain(){intx=1;intsum=0;得分评卷人while(true){if(x100)____________;if(__________________)sum=sum+x;x++;}coutsumendl;}2、将下面程序补充完整,使程序执行结果为9。#includeiostream.hclassA{public:A{x=a;}____________{returnx*x;}private:intx;};voidmain(){Aa(3);couta.get()endl;}3、将下面程序补充完整,使程序的输出结果为:ClassA::PrintClassB::Print程序如下:#includeiostream.hclassBase{public:virtualvoidPrint()const{cout″Base::Print″endl;}};classClassA:publicBase{public:voidPrint()const{cout″ClassA::Print″endl;}};classClassB:publicBase{public:voidPrint()const{cout″ClassB::Print″endl;}};voidPrint(____________){____________;}voidmain(){ClassAa;ClassBb;Print(a);Print(b);}三、程序分析题:本题共5小题,每小题6分,满分30分。1、分析下列程序的输出结果#includeiostream.hvoidmain(){chara[]=abcdabcabfgacd;inti1=0,i2=0,i=0;while(a[i]){if(a[i]=='a')i1++;if(a[i]=='b')i2++;i++;}couti1''i2endl;}得分评卷人2、分析下列程序的输出结果#includeiostream.hclassC{public:C(){var++;}staticintvar;};intC::var=0;voidmain(){coutC::var=C::varendl;Cc1;coutcl.var=c1.varendl;Cc2,c3;coutc2.var=c2.varendl;}3、分析下列程序的输出结果#includeiostream.hclassC{public:C(inti){c=i;}C(){c=0;coutDefaultconstructorcalled.cendl;}~C(){coutDestructorcalled.cendl;}voidPrint(){coutcendl;}private:intc;};voidmain(){C*p;p=newC[4];intn=1;for(inti=0;i4;i++)p[i]=C(n++);for(i=0;i4;i++)p[i].Print();delete[]p;}4、分析下列程序的输出结果#includeiostream.hclassPoint{public:Point(inti,intj){x=i;y=j;}voidPrint(){cout'('x','y')'endl;}voidoperator+=(Pointp){x+=p.x;y+=p.y;}voidoperator-=(Pointp){x-=p.x;y-=p.y;}private:intx,y;};voidmain(){Pointp1(5,7),p2(4,3);p1.Print();p1+=p2;p1.Print();p2-=p1;p2.Print();}5、分析下列程序的输出结果#includeiostream.h#includestring.hclassteacher{public:teacher(charname1[]){strcpy(name,name1);}virtualvoidprint()=0;virtualintearings()=0;char*getname(){returnname;}private:charname[20];};classprofessor:publicteacher{public:professor(chars[]):teacher(s){}intearings(){return4000;}voidprint(){cout教授:getname()'\t';}};classdocent:publicteacher{public:docent(chars[],intn):teacher(s){period=n;}intearings(){return1000+period*50;}voidprint(){cout讲师:getname()'\t';}private:intperiod;};voidmain(){professorp1(马文);p1.print();coutp1.earings()endl;docentd1(李芳,40);d1.print();coutd1.earings()endl;docentd2(胡玉,35);d2.print();coutd2.earings()endl;}四、程序设计题:本题共1小题,满分20分。设计三个类(1)设计person类有两个公有成员函数:①构造函数person(charname1[],charsex1[],intage1)②voidPrint();用来输出学生或者教师的姓名、性别和年龄有三个受保护数据成员:①charname[20];//姓名②charsex[2];//性别③intage;//年龄(2)设计student类,该类是person类的派生类它本身有两个公有成员函数:①构造函数student(charname1[],charsex1[],intage1,longstuno1,charclassno1[],floatscore1),在该构造函数的成员初始化列表中完成对父类(person类)数据成员的初始化②voidPrint();用来输出学生的学号、班级和总分,其中调用了父类(person类)的Print函数,用来输出该学生的的姓名、性别和年龄本身有三个私有数据成员:①longintstuno;//学生学号②charclassno[10];//学生班级③floatscore;//学生总分(3)设计teacher类,该类是person类的派生类它本身有两个公有成员函数:①构造函数teacher(charname1[],charsex1[],intage1,longteacherno1,chartitle1[],chard[]),在该构造函数的成员初始化列表中完成对父类(person类)数据成员的初始化②voidPrint();用来输出教师的职工号、职称和系别,其中调用了父类(person类)的Print函数,用来输出该教师的的姓名、性别和年龄本身有三个私有数据成员:①longintteacherno;//教师的职工号②chartitle[10];//职称③chardepartment[10];//系别(4)设计主函数,完成学生与教师信息的初始化与输出初始化信息如下:(学生)李刚,男,20,学号:0092111,班级:数学类0801,总分:599得分评卷人(教师)刘敏,女,35,教工号:264000,职称:副教授,系别:数学与信息学院
本文标题:鲁东大学2011年C++期末考试笔试试题
链接地址:https://www.777doc.com/doc-1924837 .html