长安大学期末考试C++样题.docx
- 文档编号:5207840
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:22
- 大小:22.17KB
长安大学期末考试C++样题.docx
《长安大学期末考试C++样题.docx》由会员分享,可在线阅读,更多相关《长安大学期末考试C++样题.docx(22页珍藏版)》请在冰豆网上搜索。
长安大学期末考试C++样题
样题1试题
一.单选题(所选字母填写在()内;每1小题分,共10分)
1.已知:
intx,y;下列表达式中,非法的是()。
A.x%yB.y=-xC.--(x*y)D.x+=y
2.已知:
intx,y;下列循环的执行次数是()。
for(x(0),y(0);!
y&&x<=5;x++,y++)
{…}
A.1B.2C.5D.无限
3.己知:
inta,*p;下列操作中,非法的是()。
A.p=aB.p=&aC.*p=9D.p!
=a;
4.下列有关语句的描述中,错误的是()。
A.条件语句中,else子句可以有0个或1个
B.Continue语句只能出现在循环体内
C.Switch语句不能出现在循环体内
D.循环语句可以自身嵌套,也可以相互嵌套
5.下列关于构造函数的描述中,错误的是()。
A.构造函数是没有名字的B.构造函数是可以重载的
C.构造函数是系统自动调用的D.构造函数是可以没有参数的
6.下列关于运算符new的描述中,错误的是()。
A.new运算符用来创建动态对象
B.new运算符用来创建堆对象时可进行初始化
C.用new运算符创建的对象可用delete运算符释放
D.用new运算符可创建对象数据,并可同时进行初始化
7.下列关于公有继承方式下基类成员在派生类中访问性的描述,其中错误的是()。
A.基类中私有成员在派生类中为私有成员
B.基类中公有成员在派生类中为公有成员
C.基类中保护成员在派生类中为保护成员
D.派生类中成员函数不能访问基类私有成员
8.类的构造函数的成员初始化列表中,不可以包含()。
A.基类构造函数B.子对象类的构造函数
C.静态数据成员初始化D.常数据成员的初始
9.已知:
B类是A类的公有继承的派生类,下列描述中,错误的是
()。
A.A类的对象就是B类的对象
B.B类对象可以给A类对象赋值
C.B类对象的地址值可以给A类对象指针赋值
D.B类对象可以给A类对象引用赋值
10.下列关于派生类定义格式的描述中,错误的是()。
A.定义派生类可用关键字class或struct
B.定义派生类时要指出派生类的类名和基类的类名
C.定义派生类时一定要给出继承方式,不能默认
D.定义派生类时,类体中给出派生类的成员
二.判断题(对者茌题号前划∨,错者划茌题号前×;每小题0.5分,共10分)
1.函数体和循环语句的循环体都可为空。
2.数组下标只能是常量,不能是表达式。
3.使用delete运算符释放一个用new创建的数组时,每次只能释放一个元素。
4.设置函数参数默认值只能用常量,不能用表达式。
5.一个类的对象可以是该类的成员。
6.内部静态对象是全局对象,因为它的寿命是长的。
7.引用是一种可做函数参数的变量。
8.只有运算符++,--,才具有副作用。
9.构造函数与拷贝构造函数的名字都与类名相同。
10友元函数只能访问类中的私有成员。
11.单继承中,一个派生类只有一个基类,而一个基类可以生成多个派生类。
12.派生类对基类成员的可访问性与派生类对象对基类成员的可访问性是相同的。
13.保护继承方式下,基类中公有成员和保护成员在派生类中都是保护成员。
14.在公有继承和保护继承方式下,基类中的公有成员在直接派生类和间接派生类中都是可访问的,而直接派生类和间接派生类的对象也可访问。
15.静态数据成员应该在构造函数的成员初始化列表中进行初始化。
16.友元函数是说明在类体内的成员函数,它的定义应在类体外。
17.用new创建的堆对象,在使用delete释放时必须是先创建的后释放,后创建的先释放。
18.在C++程序中,创建一个对象时系统自动调用构造函数进行初始化,如果一个类中没有定义构造函数,则无法创建对象。
19.友元类中的所有成员函数只能访问友元类所在类中的私有成员。
20.所有的成员函数都可以重载。
三.填空题(将适当的内容填写在下划线上面,每个空1分,共10分)
1.定义类A中有两个公有的成员函数,其中一个是构造函数,另一个是静态成员函数f1(),还有两个私有的数据成员,一个是静态数据成员a,另一个类B的对象b。
类B中有两个私有的数据成员。
为满足上述要求,请填写下列程序的空白处。
……
A
{
inta;
b;
public:
(inti,intj):
{}
voidf1()
};
……
2.P类公有继承Q类,P和Q类中都仅有一个私有的数据成员,P类中两个成员函数,一个是构造函数,另一个友元函数fun()。
下列一段程序实现上述要求,请将空白处填上适当的内容。
……
classP
{
public:
P(inti,intj)
{p=i;}
voidfun();
private:
;
};
……
四.分析下列程序的输出结果(分析结果写在该程序左边或右边的空白处;
每小题5分,共30分)
1.
#include
voidmain()
{
inta=40;
while(--a)
{
if(a==20)
break;
if(a%2==0||a%3==0||a%5)
continue;
cout< } } 2. #include voidmain() { intx(5); int&fun(int&); inty=fun(x)--; cout< } intw; int&fun(int&i) { w=i*i; returnw; } 3. #include inty=3; intfun(int,int=2,int&c=y); voidmain() { inta (2),b(3),c(4); intx=fun(a); inty=fun(a,b); intz=fun(a,b,c); cout< } intfun(inta,intb,int&c) { a=b;b=c;c=a; cout< returna+b+c; } 4. #include classAB { public: AB(inti,intj): b(j) {ab=i+2;cout<<"AB\n";} ~AB() {cout< friendintfun(AB&a); private: staticinta; intab; constintb; }; intfun(AB&a) {returnAB: : a+a.b+a.ab;} intAB: : a(0); voidmain() { ABa(2,3),b(4,5); cout< } 5. #include classPQ { public: PQ(inti=0) {p=i;} voidprint() {cout< ~PQ() {cout<<"PQ"< private: intp; }; PQa(8); voidmain() { PQ*p1,*p2; p1=newPQ(7); p2=newPQ[2]; p2[0]=a; p2[1]=*p1; (*p1).print(); p2[0].print(); p2[1].print(); deletep1; delete[]p2; } 6. #include classM { public: M(inti) {a=i;} voidf1() {cout< ~M()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 长安 大学 期末考试 C+ 样题