您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 河南电大面向对象程序设计期末复习题4(历年考试题)
11.由C++源程序文件编译而成的目标文件的默认扩展名为(C)。A.cppB.exeC.objD.lik2.设x和y均为bool量,则x&&y为真的条件是(A)。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假3.在下面的二维数组定义中,正确的语句是(C)。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10);4.在文件包含命令中,被包含文件的扩展名(C)。A.必须是.hB.不能是.hC.可以是.h或.cppD.必须是.cpp5.要使语句“p=newint[10][20];”正确,p应事先定义为(D)。A.int*p;B.int**p;C.int*p[20];D.int(*p)[20];6.在关键字public后面定义的成员为该类的(B)成员。A.私有B.公用C.保护D.任何7.假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为(A)。A.aB.AA::aC.a()D.AA::a()8.队列具有(A)的操作特性。A.先进先出B.先进后出C.进出无序D.仅进不出9.假定AB为一个类,则执行”ABa,b(3),*p;”语句时共调用该类构造函数的次数为(D)次。A.5B.4C.3D.210.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B)。A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符C.作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符1.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。2.假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为_____3_____和______3.2____。3.strlen(”apple”)的值为____5____。4.C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和_____代码_____区。5.假定a是一个一维指针数组,则a+i所指对象的地址比a大___4*i_____字节。6.如果一个派生类只有一个唯一的基类,则这样的继承关系称为_____单继承_____。7.假定AA是一个类,“AA*abc()const;”是该类中一个成员函数的原型,在该函数体中_____不允许_____向*this或其成员赋值。8.假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为____AB(){}______。9.假定用户为类AB定义了一个构造函数AB(intaa){a=aa;},该构造函数实现对数据成员_____a____的初始化。10.作为类的成员函数重载一个运算符时,参数表中只有一个参数,说明该运算符有____2____个操作数。三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面(每小题5分,共20分)1.打印出2至99之间的所有素数(即不能被任何数整除的数)。#includeiostream.h#includemath.hvoidmain(){inti,n;for(n=2;___(1)___;n++){inttemp=int(sqrt(n));//求出n的平方根并取整for(i=2;___(2)___;i++)if(n%i==0)___(3)___;if(itemp)coutn'';}cout'\n';}(1)n=99(2)i=temp(3)break2.下面是对按从小到大排列的有序数组a[n]中进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。intBinarySearch(inta[],intn,intx){intlow=0,high=n-1;//定义并初始化区间下界和上界变量intmid;//定义保存中点元素下标的变量while(low=high){mid=___(1)___;if(x==a[mid])___(2)___;elseif(xa[mid])high=mid-1;else___(3)___;}return-1;}(1)(low+high)/2(2)returnmid(3)low=mid+13.请补充完整如下的类定义:classA{char*a;public:___(1)___//定义无参构造函数,使a的值为空A(char*aa){a=___(2)___;//进行动态存储分配strcpy(a,aa);//用aa所指字符串初始化a所指向的动态存储空间}___(3)___//定义析构函数,删除a所指向的动态存储空间};(1)A(){a=0;}或A():a(0){}(2)newchar[strlen(aa)+1](3)~A(){delete[]a;}4.一种类定义如下:classGoods{private:chargd_name[20];//商品名称intweight;//商品重量staticinttotalweight;//同类商品总重量public:Goods(char*str,intw){//构造函数strcpy(gd_name,str);weight=w;totalweight+=weight;}~Goods(){totalweight-=weight;}char*GetN(){___(1)___;}//返回商品名称intGetW(){returnweight;}___(2)___GetTotal_Weight(){//定义静态成员函数返回总重量___(3)___;}}(1)returngd_name(2)staticint(3)returntotalweight四、理解问答题,写出前三小题的程序运行结果和指出后两小题的程序(或函数)所能实现的功能。(每小题6分,共30分)1.#includeiostream.hconstintT=8;voidmain(){inti,s=0;for(i=1;i=T;i+=2){s+=i*i;couts’’;}coutendl;}运行结果:11035842.#includeiostream.hclassCE{private:inta,b;intgetmax(){return(ab?a:b);}public:intc;voidSetValue(intx1,intx2,intx3){a=x1;b=x2;c=x3;2}intGetMax();};intCE::GetMax(){intd=getmax();return(dc?d:c);}voidmain(){intx=5,y=12,z=8;CEex;ex.SetValue(x,y,z);coutex.GetMax()endl;}运行结果:123.#includeiostream.hclassA{inta,b;public:A(intaa,intbb){a=aa;b=bb;}floatMultip(charop){switch(op){case'+':returna+b;case'-':returna-b;case'*':returna*b;default:cout'\n'op非法运算符!endl;exit(1);//退出程序运行}}};voidmain(){Ax(10,4);chara[6]=+-*;inti=0;while(a[i]){coutx.Multip(a[i])'';i++;}coutendl;}运行结果:146404.#includeiostream.h#includestdlib.h#includetime.hconstintN=10;intff(intx,inty){intz;coutx'+'y'=';cinz;if(x+y==z)return1;elsereturn0;}voidmain(){inta,b,c=0;srand(time(0));//初始化随机数序列for(inti=0;iN;i++){a=rand()%20+1;//rand()函数产生0-32767之间的一个随机数b=rand()%20+1;c+=ff(a,b);}cout得分:c*10endl;}程序功能:让计算机随机产生出10道20以内整数的加法题供用户计算,每道题10分,计算完成后打印出得分。5.char*f(char*s){intn=strlen(s);char*r=newchar[n+1];for(inti=0;in;i++)if(s[i]='a'&&s[i]='z')r[i]=s[i]-'a'+'A';elser[i]=s[i];r[n]=’\0’;returnr;}程序功能:根据参数s所指向的字符串,生成一个由r所指向的新字符串并返回,该字符串使s字符串中的小写字母均变为大写。五、编程题(每小题5分,共10分)1.按照下面函数原型语句编写一个递归函数求出并返回数组a中n个元素的平方和。intf(inta[],intn);解:intf(inta[],intn){if(n==0)return0;elsereturna[n-1]*a[n-1]+f(a,n-1);}2.根据下面类中Sum函数成员的原型和注释写出它的类外定义。classAA{int*a;intn;intMS;public:voidInitAA(intaa[],intnn,intms){if(nnms){coutError!endl;exit(1);}MS=ms;n=nn;a=newint[MS];for(inti=0;in;i++)a[i]=aa[i];}intSum();//求出并返回数组a中前n个元素之和};解:intAA::Sum(){ints=0;for(inti=1;in;i++)s+=a[i];returns;}
本文标题:河南电大面向对象程序设计期末复习题4(历年考试题)
链接地址:https://www.777doc.com/doc-2351629 .html