试题8.docx
- 文档编号:12364777
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:16
- 大小:19.33KB
试题8.docx
《试题8.docx》由会员分享,可在线阅读,更多相关《试题8.docx(16页珍藏版)》请在冰豆网上搜索。
试题8
一、选择(在A、B、C、D中选择一个正确的,40分,每题2分)
1.若整型变量现在的值是–3,则表达式a&0xf运算后的值是
A)-13B)13C)-3D)3
2.下列叙述中,哪一个不对?
A)类的构造函数可以重载B)类的析构函数可以重载
C)一个类可以不定义构造函数D)一个类可以不定义析构函数
3.设有以下的定义:
inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int(*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是
A)*(*prt+1)[2])B)*(*(p+5))
C)(*prt+1)+2D)*(*(a+1)+2)
4.执行下面的程序后,a的值是
#defineSQR(X)X*X
voidmain()
{inta=10,k=2,m=1;
a%=SQR(k+m)/SQR(k+m);
}
A)1B)3C)9D)0
5.以下程序段的输出结果是
intx=3;
do{
cout<<(x-=2)<<’’;
}while(!
(--x));
A)1B)30C)1–2D)死循环
6.程序
#include
classT{public:
staticintx;};
intT:
:
x=1;
voidmain()
{Ta,b;
a.x=10;b.x=20;
cout< cout<<''< : x< } 执行后的输出是 A)202020B)001 C)20201D)有语法或逻辑错误 7.下列程序的输出是 #include #include voidmain() { charp1[20]="abcd",*p2="ABCD"; charstr[50]="xyz"; strcpy(str+2,strcat(p1+2,p2+1)); cout< } A)xyabcABB)abcABz C)ABabczD)xycdBCD 8.设有说明int(*ptr)[M];其中的标识符ptr是 A)M个指向整型变量的指针 B)指向M个整型变量的函数指针 C)一个指向具有M个整型元素的一维数组的指针 D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量 9.设有如下的函数定义 intf(char*s) {if(! (*s))return0; elsereturn1+f(s+1);} 若在主程序中用下面的语句调用上述函数,则输出为 cout< ”)< A)1B)6C)8D)0 10.设有类T的定义为 classT{ intx; public: T(inta){x=a;} }; 则下面的说明 Ta;// (1) Tb(4);// (2) Tc=b;//(3) Td(b);//(4) 正确的是 A) (1), (2),(3),(4)B) (1), (2),(3)C) (2),(3)D) (2),(3),(4) 11.下面的函数在m为3,n为1时返回的值是 intAck(intm,intn) { if(! m)returnn+1; if(! n)returnAck(m-1,1); else returnAck(m-1,Ack(m,n-1)); } A)13B)2C)21 D)死循环(递归无法结束) 12.下面程序的输出是: #include classBase{ protected: intx; public: Base(inta){x=a;} }; classA: publicBase{ public: A(inta): Base(a){}; intGetX(){returnx;}}; classB: publicBase{ public: B(inta): Base(a){}; intGetX(){returnx;}}; classC: publicB,publicA{ public: C(inta): A(a+10),B(a+20){};}; voidmain() { Cc(10); cout< : GetX()<<','< : GetX()< } A)30,20B)20,30 C)20,20D)30,30 13.程序的输出为: #include classX{ public: intx; X(inta){x=a;} }; classA: virtualpublicX{ public: A(inta): X(a){} }; classB: virtualpublicX{ public: B(inta): X(a){} }; classC: publicA,publicB{ public: C(inta): A(20),B(30),X(40){} }; voidmain(){ Cc(40); cout< } A)20B)30 C)40D)50 14.程序的输出是: #include classX{ public: virtualvoidf() {cout<<”a”;}};//A classY: publicX{ public: voidf() {cout<<”b”;}}; voidmain() {Yy;X*xp=&y; xp->f(); } A)abB)aaC)aD)b 15.将上题中标有//A的一行中 的virtual去掉,则输出为 A)abB)bC)aD)非法 16.下列叙述中,正确的是 A)类是一种用户自定义类型 B)类是实现数据封装的单位 C)一个类可以为多个派生类的基类,派生类也可从多个基类继承 D)以上的说法都是正确的 17.下列定义: classPoint{intx,y; public: Point(inta=0,intb=0);// (1) Point(Point&aPoint);// (2) Point(Point*p);//(3) Point(PointaPoint);//(4) }; A) (1)是缺省构造函数 B) (2)是缺省构造函数 C)(3)是缺省构造函数 D)(4)是缺省构造函数 18.上题中拷贝初始化函数是 A) (2)B) (2)和(4) C)(3)D)没有定义 19.下列叙述中,哪一个不正确? A)含纯虚函数的类称为抽象类 B)不能直接由抽象类建立对象 C)抽象类中能包含构造函数 D)抽象类中不能包含析构函数 20.下列叙述中正确的是 A)基类中的虚函数在派生类中一定要重定义 B)成员函数中虚函数也可被重载 C)基类中的构造函数不可定义为虚函数 D)以上的没有正确的 二.填空(22分) 1.写出下面程序的输出(3分) inta=2; voidmain() {intb=2,c=3; ++a; c+=++b; if(++a||++b||++c) cout<<”first:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试题