《VC++程序设计》期末复习题

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

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

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

资源描述

工学院电气系《VC++程序设计》期末复习题考试采取上机方式,由计算机随机抽取60道选择和40道判断题,每小题1分,共100分。该成绩占期末总成绩的60%,剩下的40%由课堂考勤、书面作业、上机作业等综合决定。【下面的题目序号不重要,因时间紧张,无暇重新整理顺序,大家只需认真看题目内容即可,会有极个别题目答案有误,请不要理会,不考这种题】一、选择题(1)下列的()是引用调用。A.形参是引用,实参是变量;B.形参和实参都是变量;C.形参是指针,实参是地址值;D.形参是数组名,实参是数组名。(2)作用域运算符的功能是()A.给定作用域的大小;B.表示作用域的级别的;C.某个成员是属于哪个类的;D.指出作用域的范围的。(3)下列的各函数中,()不是类的成员函数。A.构造函数;B.析构函数;C.拷贝初始化构造函数;D.友元函数。(4)下面()不是构造函数的特征。A.构造函数可以重载;B.构造函数可以设置缺省参数;C.构造函数的函数名和类名相同;D.构造函数必须指定返回值类型。(5)下述静态数据成员的特性中,()是错误的。A.静态数据成员要在类体外进行初始化;B.说明静态数据成员时前边要加修饰符static;C.静态数据成员不是所有对象所共有的;D.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符。(6)已知类A有三个公有成员:voidf1(int),voidf2(int)和inta,则()是指向类A成员函数的指针。A.A*p;B.intA::*pc=&A::a;C.void(A::*pa)(int);D.A**p;(7)下列关于对象数组的描述中,()是错的。A.对象数组的数组名是一个地址常量;B.对象数组的下标是从0开始的;C.对象数组只能赋初值,不能被赋值;D.对象数组的数组元素是同一个类的对象.(8)下列定义中,()是定义指向类A的对象数组的指针。A.A*p[5];B.A(*p)[5];C.(A*)p[5];D.A*p[];(9)说明语句constchar*ptr;中,ptr是()。A.指向字符常量的指针;B.指向字符的常量指针;C.指向字符串常量的指针;D.指向字符串的常量指针。(10)关于new运算符的下列描述中,()是错的.A.使用它创建对象时要调用构造函数;B.使用它创建对象数组时必须指定初始值;C.它可以用来动态创建对象和对象数组;D.使用它创建的对象或对象数组可以使用运算符delete删除。答:(1)A(2)C(3)D(4)D(5)C(6)C(7)C(8)B(9)A(10)B(1)派生类的对象对它的基类成员中()是可以访问的.A.公有继承的保护成员;B.公有继承的私有成员;C.公有继承的公有成员;D.私有继承的公有成员.(2)下面关于派生类的描述中,()是错的。A.一个派生类可以作为另一个派生类的基类;B.派生类至少有一个基类;C.派生类的成员除了它自己的成员外,还包含了它的基类的成员.D.派生类中继承的基类成员的访问权限到派生类保持不变。(3)派生类的构造函数的成员初始化列表中,不能包含()A.基类的构造函数调用;B.派生类对象成员的初始化;C.基类对象成员的初始化;D.派生类中一般数据成员的初始化.(4)设置虚基类的目的是()A.减少目标代码;B.消除二义性;C.提高运行效率;D.简化程序。(5)带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化()A.一次;B.二次;C.多次;D.与虚基类下面的派生类个数有关.答案:(1)C(2)D(3)C(4)B(5)A(1)以下保留字()不能出现在说明虚函数原型的语句中。A.staticB.operatorC.voidD.const.(2)以下关于虚函数和纯虚函数的说法中,()是不正确的A.在派生类中虚函数可以不用关键字virtual说明。B.虚函数在派生类中可以不重定义。C.不能为虚函数定义缺省操作。D.纯虚函数在派生类中可以不重定义。(3)以下关于动态绑定的说法中,正确的是()A.虚基类是动态绑定的。B.指针是动态绑定的。C.所有的虚函数和纯虚函数都是动态绑定的。D.动态绑定与编译系统无关。(4)以下关于抽象类的说法中,()是不正确的A.不可创建抽象类的实例。B.可以声明抽象类的引用。C.抽象类的派生类也是抽象类。D.抽象类的派生类也可以是抽象类。(5)以下关于抽象类的说法中,只有()是正确的A.定义抽象类的目的是软件重用。B.定义抽象类是为了提高访问效率。C.定义抽象类是使指针的使用更灵活。D.抽象类提供了对类进行分类的机制。(6)以下关于多态性的说法中,()是不正确的A.每个多态类的对象有一个虚表指针。B.虚函数调用与this指针无关。C.每个多态类的基类都有一个虚函数表。D.多态类的每一个派生类都有一个虚函数表。单项选择题答案:(1)A(2)D(3)C(4)C(5)B(6)D(1)下列不是C++流对象的是()A.coutB.cinC.cerrD.ostream(2)已知:intw=-3,x=10,z=7执行下面的语句的输出结果为()coutx(10?x+100:x-10)(w++||z++)(!wz)(w&&z)A.0111B.1111C.0101D.0100(3)voidmain(){coutsetfill('*')setw(10)10endl;}的输出结果为()A.$1010B.**********10C.********10D.*1010(4)C++所有输入和输出流的基类是()A.stream.hB.iostream.hC.cin和coutD.ios(5)文件的输入与输出流是()A.iostream.hB.ifstream和ofstreamC.istream_withassign,ostream_withassignD.istream和ostream(6)语句coutoct12;的输出结果是A.12B.1100C.14D.C(7)对进行重载的语句istream&operator(istream&is,date&dt),其中对is的说法正确的是()A.是一个istream对象B.是istream的一个对象的引用C.起返回操作结果作用D.仅作为参数传递的作用(8)以流方式打开一个文件的输入文件的语句正确的是()A.ofstreamafile();afile.open(test1.dat,ios::in|ios::binary)B.ifstreamafile();afile.open(test1.dat,ios::in|ios::binary)C.ifstreamafile();afile.open(test1.dat,ios::out|ios::binary)D.ofstreamafile();afile.open(test1.dat,ios::out|ios::binary)答案:1.D2.A3.C4.D5.B6.C7.B8.B94.关于消息,下列说法中不正确的是(B)。A.发送消息的对象请求服务,接受消息的对象提供服务B.消息的发送者必须了解消息的接收者如何相应消息C.在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用D.每个对象只能接收某些特定格式的消息95.关于封装,下列说法中不正确的是(D)。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的96.面向对象方法的多态性是指(C)。A.一个类可以派生出多个特殊类B.一个对象在不同的运行环境中可以有不同的变体C.针对一消息,不同的对象可以以适合自身的方式加以响应D.一个对象可以是由多个其他对象组合而成的104.在一个类的定义中,包含有()成员的定义。A.数据B.函数C.数据和函数D.数据或函数105.在类作用域中能够通过直接使用该类的()成员名进行访问。A.私有B.公用C.保护D.任何106.在关键字public后面定义的成员为类的()成员。A.私有B.公用C.保护D.任何107.在关键字private后面定义的成员为类的()成员。A.私有B.公用C.保护D.任何108.假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为()。A.x(a)B.x[a]C.x-aD.x.a109.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。A.x.aB.x.a()C.x-aD.x-a()110.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为()。A.px(a)B.px[a]C.px-aD.px.a111.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()。A.x.aB.x.a()C.x-GetValue()D.x.GetValue()112.假定AA为一个类,inta()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()。A.intAA::a()B.intAA:a()C.AA::a()D.AA::inta()113.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为()。A.aB.AA::aC.a()D.AA::a()114.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。A.inB.inlineC.inLineD.InLiner115.在多文件结构的程序中,通常把类的定义单独存放于()中。A.主文件B.实现文件C.库文件D.头文件116.在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于()中。A.主文件B.实现文件C.库文件D.头文件117.在多文件结构的程序中,通常把含有main()函数的文件称为()。A.主文件B.实现文件C.程序文件D.头文件118.一个C++程序文件的扩展名为()。A..hB..cC..cppD..cp119.在C++程序中使用的cin标识符是系统类库中定义的()类中的一个对象。A.istreamB.ostreamC.iostreamD.fstream120.在C++程序中使用的cout标识符是系统类库中定义的()类中的一个对象。A.istreamB.ostreamC.iostreamD.fstream121.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为()。A.intB.charC.AAD.AA*122.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为()。A.abcB.*thisC.thisD.this&123.假定AA是一个类,“AA&abc();”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用x.abc()调用该成员函数后,x的值()。A.已经被改变B.可能被改变C.不变D.不受函数调用的影响124.假定AA是一个类,“AA*abc()const;”是该类中一个成员函数的原型,若该函数返回this值,当用x.abc()调用该成员函数后,x的值()。A.已经被改变B.可能被改变C.不变D.受到函数调用的影响125.类中定义的成员默认为()访问属性。A.publicB.privateC.protectedD.friend126.结构中定义的成员默认为()访问属性。A.publicB.privateC.protectedD.friend127.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为()。A.nB.n+1C.n-1D.n-2128.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为firs

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

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

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

×
保存成功