您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 长沙理工大学C++程序试卷7
长沙理工大学考试试卷………………………………………………………………………………………………………………试卷编号7拟题教研室(或教师)签名教研室主任签名………………………………………………………………………………………………………………课程名称(含档次)C++程序设计课程代号0806005专业计算机科学与技术层次(本、专)本考试方式(开、闭卷)闭第1页共6页一、填空题(15分,每空1分)1、C++语言中规定的返回值的类型是由所决定的。在定义该函数时所指定的函数类型2、在类的定义体外定义成员函数时,需要在函数名前加上,而在域外使用成员函数时,需要在成员名外加上的名字。3、在C++中,可以把具有相同内部存储结构和相同操作的对象看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的。从语言角度来说,类是一种数据类型,而是具有这种类型的变量。4、要在类的对象上使用运算符,除了运算符______和______以外,其他的运算符都必须被重载。5、有如下定义语句:MyClassp[10];则系统自动调用该类构造函数______次。当类对象数组p离开它的作用域时,系统自动调用该类析构函数______次。6、对类中的成员函数和属性的访问是通过______、______和______这3个关键字来控制的。7、______运算符对指定类型对象动态分配内存并返回该类型的指针。8、使用传址调用方式时,调用函数的实参使用地址值,被调用函数的形参使用。9、利用继承能够实现_________。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。二、选择题(20分,每题2分)1、下面语句彼此等价的是_________。A)!(a10)&&!(a0)___!((a10)&&(a0))B)!(a==b)______(ab)&&(ab)C)!(ab)______abD)!((a10)||(a0))___!(a=10)&&!(a=0)2指针运算的描述错误的是_________。A)在一定条件下,两个指针可以相加B)在一定条件下,两个指针可以进行逻辑判断C)在一定条件下,指针可以为空值D)在一定条件下,两个指针可以相互赋值3、一个函数带有参数说明时,则参数的默认值应该在_________中给出。A)函数定义B)函数声明C)函数定义或声明D)函数调用4、关于类的说法错误的是_________。C++程序设计试卷第2页共6页A)对象是类的一个实例B)类是一种用户自定义的数据类型C)在类中,如果不作特别说明,所有的成员函数均为公有类型D)在类中,如果不作特别说明,所有的数据均为私有类型5、两个变量定义不能同名,是因为_________。A)这两个变量定义在同一文件中B)这两个变量定义在同一作用域中C)一个定义在main函数中,一个定义在子函数中D)以上说法均不正确6、在C++语言中函数返回值的类型是由_________决定的。A)定义该函数时所指定的函数类型B)return语句中的表达式类型C)调用该函数时系统临时D)调用该函数时的主调函数类型7、下面是类MyClass的定义,对定义中语句描述正确的是_________。ClassMyClass{public:voidMyClass(inta){X=a;}___//①intf(inta,intb)______//②{X=a;Y=b;}intf(inta,intb,intc=O)___//③{X=a;Y=b;Z=c;}staticvoidg(){X=10;}___//④private:intX,Y,Z;};A)语句①是类MyClass的构造函数定义B)语句②和语句③实现类成员函数的重载C)语句④实现对类成员变量X的更新操作D)语句①、②、③和④都不正确8、有关构造函数的说法不正确的是。A)构造函数的函数名与类名相同B)构造函数在说明类变量时自动执行C)构造函数无任何函数类型D)构造函数有且只有一个9、在多继承的构造函数定义中,几个基类的构造函数之间用分隔。A).:B).;C).,D).::10、下列关于条件语句的描述中,________是错误的。A)if语句中只有一个else子句B)if语句中可以有多个elseif子句C))if语句中if体内不能是switch语句D)if语句中if体内可以是循环语句三、阅读程序填空(15分,第2小题最后一空1分,其它空2分)C++程序设计试卷第3页共6页1、下列程序通过把类Distance定义为类Point的友元类来实现计算两点之间距离的功能。请完成该程序。#includeiostream.h#includemath.hclassPoint{public:____________;Point(____________){X=a;Y=b;}voidPrint(){coutX=Xendl;coutY=Yendl;}private:floatX,Y;};classDistance{public:floatDis(Point&p,Point&q);};f1oatDistance::Dis(Point&p,Point&q){floatresult;____________;coutresultendl;returnresult;}voidmain(){Pointp(10,10),q(20,20);Distanced;d.Dis(p,q);}2、下面的程序实现从键盘输入一个偶数,输出该偶数写成的两个素数之和。#includeiostream.h#includemath.hvoidmain()C++程序设计试卷第4页共6页{inta,b,c,d;cout“a=”;cina;if(a=0||a%2!=0)cout“输入一个正偶数!”endl;elsefor(){for(c=2;c=sqrt(b);c++)if(b%c==0)break;if(csqrt(b))d=a-b;elsebreak;for()if(d%c==0))break;if(csqrt(d))coutb“+”d“=”aendl;}}3、下面程序的执行结果是:#includeiostream.h#includeiomanip.hvoidprint(intn){if(n!=0){;for(inti=1;i=n;i++);coutendl;}}voidmain(){intn=4;;}四、阅读程序,并写出结果(20分)1、#includeiostream.h#includeiomanip.hvoidmain()C++程序设计试卷第5页共6页{inti,j,k,;for(i=1;i=6;i++){for(j=1;j=20-2*i;j++)cout;for(k=1;k=i;k++)coutendl;}}2、#includeiostream.hintadd(inta,intb);voidmain(){externintx,y;coutadd(x,y)endl;}intx=20,y=5;intadd(inta,intb){ints=a+b;retruns;}3、#includeiostream.hclassSample{intx,y;public:Sample(){x=y=0;}Sample(inta,intb){x=a;y=b;}~Sample(){if(x==y)coutx=yendl;elsecoutx!=yendl;}voiddisp(){coutx=x,y=yendl;}};voidmain()C++程序设计试卷第6页共6页{Samples1(2,3);s1.disp();s1.~Sample();}4、#includeiostream.hclassSample{intx;public:Sample(){};Sample(inta){x=a;}Sample(Sample&a){x=a.x+1;}voiddisp(){coutx=xendl;}};voidmain(){Samples1(2),s2(s1);s2.disp();}五、编程题(30分,每题10分)1、写“三色冰激淋”程序,这是一个由冰激淋商提出来的问题,有28种颜色的原料,可以组合成多少种三色冰激淋。2、编写程序求出所有满足下列条件的三位数:其各位数字的立方和恰好等于该数本身。例如153=1*1*1+5*5*5+3*3*3。3、以面向对象的概念设计一个类,此类包含3个私有数据:unlead、lead(无铅汽油和有铅汽油)以及total(当天总收入。无铅汽油的价格是17元/公升,有铅汽油的价格是16元/公升),请以构造函数方式建立此值。试输入某天所加的汽油量,本程序列出加油站当天的总收入。
本文标题:长沙理工大学C++程序试卷7
链接地址:https://www.777doc.com/doc-4594980 .html