您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《面向对象程序设计c++》期末复习题
1《面向对象程序设计》期末复习题2一、单选题1.能作为C++程序的基本单位是(c)。A.字符B.语句C.函数D.源程序文件2.存储以下数据,占用存储字节最多的是(d)。A.0B.‘0’C.“0”D.0.03.设”inta=15,b=26;”,则”cout(a,b);”的输出结果是(d)。A.15B.26,15C.15,26D.264.下列的符号常量定义中,错误的定义是(c)。A.constM=10;B.constintM=20;C.constcharch;D.constboolmark=true;5.函数重载是指(a)。A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同6.以下关于函数模板叙述正确的是(c)。A.函数模板也是一个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型7.42.下列(c)的调用方式是引用调用。A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值8.43.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择(a)。A.内联函数B.重载函数C.递归函数D.函数模板9.56.采用重载函数的目的是(d)。A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性10.58.以下叙述中正确的是(b)。A.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的C.在程序中使用内联函数使程序的可读性变差D.在定义函数时可以在形参表的任何位置给出缺省形参值11.70.用new运算符创建一个含10个元素的一维整型数组的正确语句是(c)。A.int*p=newa[10];B.int*p=newfloat[10];C.int*p=newint[10];D.int*p=newint[10]={1,2,3,4,5}12.71.下列给字符数组赋初值时,正确的是(a)。A.chars1[]=”abcdef”;B.chars2[4]=”abcd”;C.chars3[2][3]={“abc”,”xyz”};D.chars4[4][]={‘a’,’x’,’s’,’t’};13.73.假定变量m定义为“intm=7;”,则定义变量p的正确语句为(b)。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;14.74.假定k是一个double类型的变量,则关于变量p的正确定义语句为(d)。3A.doublep=&k;B.int*p=&k;C.double&p=*k;D.char*p=”Thankyou!”;15.82.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(a)。A.int*p=newint[30];B.int*p=newint(30);C.int*p=new[30];D.*p=newint[30];16.88.下列对引用的陈述中不正确的是(c)。A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间17.89.假定变量a和pa定义为“doublea[10],*pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是(d)。A.pa[5]=12.35;B.a[5]=12.35;C.*(pa+5)=12.35;D.*(a[0]+5)=12.35;18.91.假定指针变量p定义为“int*p=newint(100);”,要释放p所指向的动态内存,应使用语句(a)。A.deletep;B.delete*p;C.delete&p;D.delete[]p;19.92.假定指针变量p定义为“int*p=newint[30];”,要释放p所指向的动态内存,应使用语句(d)。A.deletep;B.delete*p;C.delete&p;D.delete[]p;20.93.假定变量x定义为“intx=5;”,要使rx成为x的引用(别名),rx应定义为(d)。A.intrx=x;B.intrx=&x;C.int*rx=&x;D.int&rx=x;21.95.关于封装,下列说法中不正确的是(d)。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的22.96.面向对象方法的多态性是指(c)。A.一个类可以派生出多个特殊类B.一个对象在不同的运行环境中可以有不同的变体C.针对一消息,不同的对象可以以适合自身的方式加以响应D.一个对象可以是由多个其他对象组合而成的23.97.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的(a)。A.可维护性B.可复用性C.兼容性D.正确性24.98.软件产品可被全部或部分地再用于新的应用的能力叫做软件的(b)。A.可维护性B.可复用性C.兼容性D.正确性1.在一个类的定义中,包含有(d)成员的定义。A.数据B.函数C.数据和函数D.数据或函数25.105.在类作用域中能够通过直接使用该类的(d)成员名进行访问。A.私有B.公用C.保护D.任何26.106.在关键字public后面定义的成员为类的(b)成员。A.私有B.公用C.保护D.任何427.107.在关键字private后面定义的成员为类的(a)成员。A.私有B.公用C.保护D.任何28.108.假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为(d)。A.x(a)B.x[a]C.x-aD.x.a29.109.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(b)。A.x.aB.x.a()C.x-aD.x-a()30.110.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为(c)。A.px(a)B.px[a]C.px-aD.px.a31.111.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(d)。A.x.aB.x.a()C.x-GetValue()D.x.GetValue()32.112.假定AA为一个类,inta()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为(a)。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()33.113.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为(a)。A.aB.AA::aC.a()D.AA::a()34.114.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字(b)放在函数原型或函数头的前面。A.inB.inlineC.inLineD.InLiner35.115.在多文件结构的程序中,通常把类的定义单独存放于(d)中。A.主文件B.实现文件C.库文件D.头文件36.116.在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于(b)中。A.主文件B.实现文件C.库文件D.头文件37.117.在多文件结构的程序中,通常把含有main()函数的文件称为(a)。A.主文件B.实现文件C.程序文件D.头文件38.118.一个C++程序文件的扩展名为(c)。A..hB..cC..cppD..cp39.119.在C++程序中使用的cin标识符是系统类库中定义的(a)类中的一个对象。A.istreamB.ostreamC.iostreamD.fstream40.120.在C++程序中使用的cout标识符是系统类库中定义的(b)类中的一个对象。A.istreamB.ostreamC.iostreamD.fstream41.121.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为(d)。A.intB.charC.AAD.AA*42.122.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为(c)。A.abcB.*thisC.thisD.this&543.123.假定AA是一个类,“AA&abc();”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用x.abc()调用该成员函数后,x的值(a)。A.已经被改变B.可能被改变C.不变D.不受函数调用的影响44.124.假定AA是一个类,“AA*abc()const;”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc()调用该成员函数后,x的值(c)。A.已经被改变B.可能被改变C.不变D.受到函数调用的影响45.125.类中定义的成员默认为(b)访问属性。A.publicB.privateC.protectedD.friend46.126.结构中定义的成员默认为(a)访问属性。A.publicB.privateC.protectedD.friend47.127.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为(c)。A.nB.n+1C.n-1D.n-248.135.对于一个类的构造函数,其函数名与类名(a)。A.完全相同B.基本相同C.不相同D.无关系49.136.对于一个类的析构函数,其函数名与类名(c)。A.完全相同B.完全不同C.只相差一个字符D.无关系50.137.类的构造函数是在定义该类的一个(c)时被自动调用执行的。A.成员函数B.数据成员C.对象D.友元函数51.138.类的析构函数是一个对象被(b)时自动调用的。A.建立B.撤消C.赋值D.引用52.139.一个类的构造函数通常被定义为该类的(a)成员。A.公用B.保护C.私有D.友元53.140.一个类的析构函数通常被定义为该类的(c)成员。A.私有B.保护C.公用D.友元54.141.假定AB为一个类,则执行“ABx;”语句时将自动调用该类的(b)。A.带参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数55.142.假定AB为一个类,则执行“ABx(a,5);”语句时将自动调用该类的(a)。A.带参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数56.143.假定AB为一个类,则执行“AB*s=newAB(a,5);”语句时得到的一个动态对象为____d___。A.sB.s-aC.s.aD.*s57.144.假定AB为一个类,则执行“ABr1=r2;”语句时将自动调用该类的(d)。A.无参构造函数B.带参构造函数C.赋值重载函数D.拷贝构造函数58.145.若需要使类中的一个指针成员指向一块动态存储空间,则通常在(b)函数中完成。A.析构B.构造C.任一成员D.友元59.146.当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储(a)个整数。A.nB.n+1C.n-1D.1660.147.假定一个类的构造函数为“A(intaa,intbb){a=aa;b=aa*bb;}”,则执行“Ax(4,5);”语句后,x.a和x.b的值分别为(c)。A.4和5B.5和4C.4和20D.20和561.148.假定一个类的构造函数为“A(intaa=1,intbb=0){a=aa;b=bb;}”,则执行“Ax(4
本文标题:《面向对象程序设计c++》期末复习题
链接地址:https://www.777doc.com/doc-3937242 .html