C++复习题.docx
- 文档编号:6256297
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:12
- 大小:24.43KB
C++复习题.docx
《C++复习题.docx》由会员分享,可在线阅读,更多相关《C++复习题.docx(12页珍藏版)》请在冰豆网上搜索。
C++复习题
复习题(A卷):
选择(单选)、填空、简答、程序分析、程序编写考试题型)(1.C++代码源文件的扩展名应为D.exeB.cppA.cC.obj
则以下函数调用语charfun(inta);floatfun(char*p);intfun(int&b);设同时有函数声明:
2.
(句正确的是)
A.fun(5)D.inta;fun(a)B.intb;fun(&b);C.char*p;fun(p);
(标准输入流对象cin无法读取)3.
数值C.空白字符D.字符A.B.字符串
(以下不属于C++关键字的是)4.
D.virtualA.mutableB.classC.Friend5.通过(方法可以在现有类基础上得到新的类。
)
D.引用C.包含封装A.继承B.
)数据成员6.成员函数亦可声明为静态的,但是它不能直接访问类的(
D.非静态常量静态C.A.私有B.
(i为常数据成员,则若类B的定义中私有数据成员)7.不能被一般的成员函数所访问A.数据成员i数据成员i的初始化可以在构造函数的函数体中实现B.可以被常成员函数访问和赋值数据成员iC.D.以上均不对8.在编译时,将所调用的函数代码嵌入到主调函数中,这种嵌入到主调函数中的函数不能称为()
A.内置函数B.内联函数C.内嵌函数D.嵌套函数()9.存储以下数据,占用存储字节最多的是A.NULLD.0.0B.'0'?
尠尰
10.面向对象的程序是(两者的组合)
A.算法和数据结构B.对象和函数C.函数和算法D.对象和消息
11.如果调用带有默认参数的函数时缺少一个参数,则()参数就作为这一参数A.第1个B.中间1个C.最后一个D.系统随机选择
12.假定A为一个类,则执行Aa,b[2],*p=&a,c(*p);语句后,程序将要结束时,共调用该类析构函数的次数应为()
A.2B.3C.4D.5
已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()13.
A.f1和f2都是静态函数B.f1是静态函数,f2不是静态函数
C.f1不是静态函数,f2是静态函数D.f1和f2都不是静态函数
下列关于函数模板与类模板的描述中,不正确的是()14.A.函数模板的实例化是由编译程序在处理函数调用时自动完成B.类模板的实例化必须由程序员在程序中显式的指定C.函数模板与类模板均可以显式调用D.定义函数模板时可以使用多个类型参数,而类模板不可以15.对于语句cout>>a;,下列描述中不正确的是()A.“cout”是一个输出流对象B.该语句错误使用了运算符
iostream”称作插入运算符该语句需要头文件C.“>>D.
下面运算符中,不能被重载的运算符是)16.(
[]D.B.-C.?
:
A.<=
(以下不属于面向对象的程序设计语言的是)17.
D.CC.JavaA.C#B.C++
()中运算符重载的描述中,错误的是下列关于C++18.A.运算符重载是对已有的运算符赋予多重含义重载的运算符,其运算对象可以是自定义的数据类型B.C.编译系统对重载运算符的选择,遵循函数模板的选择原则运算符的重载实质上是函数的重载D.
p
p所指对象的值为5,p+1所指对象的值为8,则执行“(*p)++;”语句后,19.假定所指对象的值为()D.8A.6C.5B.9
)20.运算符重载时不需要保持的性质是(
结合性D.操作数个数B.操作数类型C.优先级A.
)已有定义:
挠慨?
猪牴尽扡摣;则下面语句正确的是(21.C.charc=str[0];B.str[1]='b';A.str[0]=a;?
?
瑳?
硜穹屷);则下列语句中能正确表示引用的是(22.已知:
intk=6D.int&x=&k;B.int&x=kA.intx=k;;C.int&x=6;下列虚基类的声明中,正确的是23.)(virtualpublicAA.classB:
publicA:
B.classvirtualB
publicAC.virtualclassB:
publicAvirtualD.classB:
int已有定义virtual24.)(下面关于该函数的解释中正确的是area()=0;0B.A.该函数是纯虚函数该函数返回值为
该函数的入口地址为C.该函数通常在派生函数中声明D.0
作为类的成员函数重载一个运算符时,如果参数表为空,通常情况下,说明该运算25.(符有个操作数)
D.3B.1A.0C.2
(的说明中,不正确的是下面关于cin.eof())26.
的成员函数A.结束输入B.cin
有关EOFD.检测流状态是否结束C.与
上不同,但函数名称相同。
重载函数在或27.
的引用,则所使用的定义语为k若要把变量s定义为短整型变量。
28.
的语句是:
a已有定义constinta=5;则要定义一个常指针指向该变量29.常对象中的数据成员必须通过_________函数才可以访问。
30.
。
对象将其大部分实现细节隐藏起来,这种机制称为31.
中,专门用于定义重载运算符的关键字是C++。
32.
。
__________用于存贮当前被调用的成员函数所在对象的起始地址的指针是33.
来修饰。
________如果希望类的成员为该类所有对象所共享,可以使用关键字34.
C++中,由继承而产生的新类,它的对象对同一个消息会作出不同的响应,这种在35.。
特性被称为
已有类36.A则定义一个指针指向该函数的定义,其中有成员函数intget_a(){returna;}。
的写法为
。
37.假定类中没有构造函数,则系统默认的构造函数形式是A
和。
多重继承消除二义性的通用性方法有38.
39.classw{staticchara;
chary[2];intx;
doublefun(inta){x=a;return0;}
};则sizeof(w)的值为。
从系统实现角度看,C++中的动态多态性是通过来实现的。
40.
语句cout< 41. >。 在C++中,用户管理文件的I/O操作需要头文件<42. 在C++中,用于动态分配内存的运算符是。 43. 函数为对象分配内存空间,并可对类的数据成在类的定义中,通常用44. 员进行初始化。 在C++中,继承间接共同基类时只保留一份成员的方法是。 45. '。 现有如下定义: intx='B'+2;chary=x>='9'? 'C': 'S';则y是'46.47.假设类X的对象x是类Y的成员对象,则“YObj;”语句执行时,先调用类__________ 的构造函数,再调用类__________的构造函数;而在程序结束析构时,先调用类__________的析构函数,再调用类__________的析构函数。 对象的概念中,有静态和动态两种特征,其中静态特征称为,可由数48. 表示。 据表示,而动态特征称为行为,可由 继承关系可以是public、和private。 49. 50.常数据成员只能通过构造函数的初始化表初始化。 51.类所占空间为数据成员和成员函数所占空间之和。 52.档牡? 瑳? 慜换層;执行str[0]='s';语句后,字符串变为? 獜换層。 53.类的析构函数在删除对象时调用,并可以重载。 54.构造函数不能声明为虚函数,而析构函数可以声明为虚函数。 55.用来存放对象地址的指针变量,可称为指向对象的指针。 56.字符串CDU的长度是3,因此占用了3个字节的内存空间。 57.多重继承出现的二义性可以用作用域限定的方法消除。 58.<<运算符可以被重载,且可以提升优先级。 59.无论何种继承形式,派生类均不能直接访问基类的私有成员。 60.C++中,定义类的关键字是public。 61.抽象类定义的目的是用它作为基类去建立派生类。 62.常对象中的数据成员就是常数据成员。 63.对象基本特点有耦合性、多态性、继承性和封装性。 64.对象的赋值和复制是同一个含义,均是由对象1得到对象2。 65.构造函数有返回值,而析构函数没有返回值。 66.类定义的公用数据成员x,在类外可以直接赋值,如x=5; 67.若想输出时,数据靠右,并指定字段宽度为6,可用控制符setw(6)。 68.不出现类名,也可以直接定义对象。 69.下面程序中有一处错误,请用下划横线标出错误所在行并说明出错原因。 floata(intx,inty){floatz;z=x+y;returnz;}inta(floatx,floaty){intz;z=x-y;returnz;} intmain() { inti=3;floatj=3.5;cout< 70.阅读程序,在横线处填上适当字句。 #include usingnamespacestd;声明一个类模板,虚拟类型名为//typeclassA{typex,y;public: A(typea,typeb){x=a;y=b;}x+ytypecmp(){return();}};intmain(){A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 复习题