资源描述:
《C++面向对象程序设计试卷》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、单项选择题(出题人:刘敏,尹仁青)1.关键字__C___说明对象或变量初始化后不会被修改。A.staticB.publicC.constD.inline2.如果调用带有默认参数的函数时缺少一个参数,则__B___参数就作为这一个参数。A.第一个B.最后一个C.中间一个D.以上都不是3.静态数据成员的生存期___A___。A.与整个程序相同B.不长与类的生存期C.取决于创建的对象数D.以上都不是4.设置虚基类的目的是:___B___。A.简化程序B.消除二义性C.提高运算效率D.减少目标代码5.下列语句中,将函数intsum(i
2、ntx,inty)正确重载的是___C____A.floatsum(intx,inty)B.intsum(inta,intb)C.floatsum(floatx,floaty)D.doublesum(inty,intx)6.已知X类,则当程序执行到语句:Xarray[3];时,调用了___D___次构造函数。A.0B.1C.2D.37.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,若采用运算符函数调用格式,则表达式还可以表示为___B____A.operator*(i.operator++(),k)B.operat
3、or*(i.operator++(i),k)C.i.operator++().operator*(k)D.k.opreator*(operator++(i))8.下面对模板的声明,正确的是___C___A.temlateB.templateC.templateD.template9.考虑下面的函数原型声明:voidtestDefaulParam(inta,intb=7,charz=’*’);下面函数调用中,不合法的是___C____A
4、.testDefaulParam(5)B.testDefaulParam(5,8)C.testDefaulParam(5,’#’)D.testDefaulParam(0,0,’*’)10.类定义的内容允许被其他对象无限制的存取的是___C____A.private部分B.protected部分C.public部分D.以上都不对11.___B__不是属于面向程序设计的特性A.抽象性B.数据相关性C.多态性D.继承性12.将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的___D_A.类B.虚函数C.运算符重载D.模板1
5、3.C++与C语言最根本的不同之处在于__A__A.使用了类B.能够实现变量自动初始化C.支持软件重用D.支持接口重用14.动态内存分配的主要目的是__B__A.使程序按动态链编方式运行B.正确合理的使用内存C.提高程序的运行速度D.提高程序的可维护性15.在C++函数的形参前加const关键字,是为了提高函数的__C___A.数据封装性B.可理解性C.可维护性D.可重用性16.函数重载的目的是__B__A.实现共享B.使用方便,提高可读性C.提高速度D.减少空间17.从程序片段:charname[]=”C++”;course(n
6、ame);可判断函数course的调用采用的是__D__A.传值调用B.带缺省参数值的函数调用C.引用调用D.传址调用18.用来说明类中公有成员的关键字是__A__A.publicB.privateC.protectedD.friend19.如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为__A__A.voidprint()const;B.constvoidprint()C.voidconstprint()D.voidprint(const)20.在程序代码:A::A(inta,int*b){this->x=
7、a;this->y=b;}中,this的类型是__C__A.intB.int*C.AD.A*二、程序改错(出题人:张晨)#includeusingnamespacestd;voidswap(int&a,(1)intb){intt;t=a;a=b;b=t;}voidmax(inta,intb,(2)intt,(3)intmaxnum,int&minnum){if((4)a<=t)swap(a,b);if((5)a<=b)swap(a,c);if(b<=c)(6)swap(b,t);(7)maxnum=b;minn
8、um=c;}intmain(){inta,b,c,maxnum,minnum;cout<<"inputa,b,c:";cin>>a>>b>>c;(8)min(a,b,c,maxnum,minnum);cout<<"(9)a="<