c++试卷

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

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

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

资源描述

1一选择题(30分)每题3.分1重载函数在调用时选择的依据中,()是错误的。A)函数名字B)函数的返回类型C)参数个数D)参数的类型2下列描述中,()是错误的。A)内联函数主要解决程序的运行效率问题B)内联函数的定义必须出现在内联函数第一次被调用之前C)内联函数中可以包括各种语句D)对内联函数不可以进行异常接口声明3在下面有关构造函数的描述中,正确的是()。A)构造函数可以带有返回值B)构造函数的名字与类名完全相同C)构造函数必须带有参数D)构造函数必须定义,不能默认4在声明类时,下面的说法正确的是()。A)可以在类的声明中给数据成员赋初值B)数据成员的数据类型可以是registerC)private、public、protected可以按任意顺序出现2D)没有用private、public、protected定义的数据成员是公有成员5在下面有关析构函数特征的描述中,正确的是()。A)一个类中可以定义多个析构函数B)析构函数名与类名完全相同C)析构函数不能指定返回类型D)析构函数可以有一个或多个参数6在下面有关静态成员函数的描述中,正确的是()。A)在静态成员函数中可以使用this指针B)在建立对象前,就可以为静态数据成员赋值C)静态成员函数在类定义外,要使用static前缀D)静态成员函数只能在类外定义7使用派生类的主要原因是()。A)提高代码的可重用性B)提高程序的运行效率C)加强类的封装性D)实现数据的隐藏8设置虚基类的目的是()。A)简化程序B)消除二义性C)提高运行效率D)减少目标代码9有关运算符重载正确的描述是()。A)C++语言允许在重载运算符时改变运算符的操作个数B)C++语言允许在重载运算符时改变运算符的优先级3C)C++语言允许在重载运算符时改变运算符的结合性D)C++语言允许在重载运算符时改变运算符原来的功能10关于虚函数,正确的描述是()A)构造函数不能是虚函数B)析构函数不能是虚函数C)虚函数可以是友元函数D)虚函数可以是静态成员函数二填空题(10分)每空2分1、构造函数是在时被执行的。2、在情况下适宜采用内联函数。3、假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是。4、模板的使用是为了。5、C++处理异常的机制是由三部分组成。三阅读程序,写出运行结果(30分)1)#includeiostreamusingnamespacestd;inti=15;intmain(){inti;4i=100;∷i=i+1;count《∷i《endl;return0;}2.)#includeiostreamusingnamespacestd;classSample{public:Sample(inti,intj){x=i;y=j;}voiddisp(){count《disp《enndl;}private:intx,y;5};intmain(){constSamplea(1,2);a.disp();return0;}3)#includeiostreamusingnamespacestd;classMain{protected:char*mainfood;public:Main(char*name){mainfood=name;}};classSub{protected:6char*subfood;publicSub(char*name){subfood=name;}};classMenu:publicMain,publicSub{public:Menu(char*m,char*s):Main(m),Sub(s){}voidshow();};voidMeun∷show(){count《主食=《mainfood《endl;count《副食=《mainfood《endl;}intmain(){Menum(bread,steak);7m.show();return0;}四编写c++风格的程序(30分)1编写一个程序,用动态分配空间的方法计算Fibonacci数列的前20项并储存到动态分配的空间中。2建立一个被称为sroot()的函数返回其参数的二次方根。重载sroot()3次,让它返回整数、长整数与双精度数的二次方根(计算二次方根时,可以使用标准库函数sqrt())。3编写一个程序,解决百钱问题:将一元人民币兑换成1、2、5分的硬币,有多少种换法?}8参考答案:一、1-5BABCC6-10BABDA二、1创建对象2函数代码小,频繁使用3clasederived∷studentprivate{...}4提高代码的可重用性5检查、抛出和捕获三、1)1012)disp23)主食=break副食=steak四、1#includeiostreamusingnamespacestd;intmain(){int*p=newint[20];*p=1;*(p+1)=1;cout*p\t*(p+1)\t;p=p+2;for(inti=3;i=20;i++){*p=*(p-1)+*(p-2);count*p\t;if(i%5==0)coutendl;p++;9}return0;}本程序的运行结果如下;112358132134558914423337761098715972584418167652#includeiostream#includecmathusingnamespacestd;doublesroot(inti){returnsqrt(i);}doublesroot(longl){returnsqrt(l);}10doublesroot(doubled){returnsqrt(d);}intmain(){inti=12;longl=1234;doubled=12.34;counti的二次方根是:sroot(i)endl;countl的二次方根是:sroot(l)endl;countd的二次方根是:sroot(d)endl;return0;}3#includeiostreamusingnamespacestd;intmain(){inti,j,sum=0;;for(i=0;i=20;i++)11for(j=0;j=50;j++)if(100-5*i-2*j=0){sum++;count100-5*i-2*j\tj\tiendl;}countsumissumendl;return0;}本程序的运行结果如下:(541种组合情况,结果略)sumis541

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

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

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

×
保存成功