【计算机类职业资格】二级C++模拟498及答案解析.doc
《【计算机类职业资格】二级C++模拟498及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟498及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 498及答案解析(总分:153.50,做题时间:90 分钟)一、选择题(总题数:40,分数:69.50)1.下列关于模板的说法正确的是_。(分数:1.00)A.模板的实参在任何时候都可以省略B.类模板与模板类所指的是同一概念C.类模板的参数必须是虚拟类型的D.类模板中的成员函数全部都是模板函数2.下面关于对象概念的描述中, _ 是错误的。(分数:2.00)A.对象就是 C语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的3.以下程序的输出结果是 #includeiostreamh void
2、main() int x=1,y=3; cout x+ “ , “; int x=0;X+=y*2; coutx“ ,“y“ ;“; coutx“ ,“y; (分数:1.00)A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,34.有如下类定义: class Box public: Box(int h, int w, int r):wid(w), len(r), hei(h) private: int len, wid, hei; ; Box类中 3个数据成员的初始化顺序为_。(分数:1.00)A.len,hei,widB.len,wid,heiC.hei,
3、wid,lenD.wid,len,hei5.下列程序的输出结果是 #includeiostreamh void main( ) double d=3.2; int x,y; x=12; y=(x+38)/50; cout y * d end1;(分数:1.00)A.3B.3,2C.0D.3076.下列程序执行结果是_。 #includeiostream.h class A public; int a; A():a(10)coutaend1; ; void main() A obj1; A obj2(obj1); cout“ “obj2.aend1; (分数:2.50)A.10 10B.编译错误
4、 缺少拷贝构造函数C.10 随机数D.随机数 随机数7.下列数据结构中,属于非线性结构的是_。(分数:1.00)A.循环队列B.带链队列C.二叉树D.带链栈8.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是_。(分数:3.00)A.void fun(int a=90,double b=0.0);B.int fun(int a,double );C.void fun(double a,int );D.bool fun(int a,double b=0.0);9.下面关于 break语句的描述中,不正确的是(分数:1.00)A.br
5、eak可以用于循环体内B.break语句可以在 for循环语句中出现多次C.break语句可以在 switch语句中出现多次D.break语句可用于 if条件判断语句内10.有如下模板声明: templatetypename T1,typename T2class A; 下列声明中,与上述声明不等价的是_。(分数:2.50)A.templateclass T1,class T2class A;B.templateclass T1,typename T2class A;C.templatetypename T1,class T2class A;D.templatetypename T1,T2cl
6、ass A;11.对于模板定义关键宁 class和 typename说法不正确的是 _ 。(分数:1.00)A.程序中的 class并不能都替换为 typenameB.class和 typename都可互相替换C.程序中的 typename都能替换为 classD.程序中的部分 class可以替换为 typename12.有如下程序: #include iostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()return count; p
7、rivate: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.121B.232C.221D.12213.在下面程序中,A、B、C、D 四句编译时不会出错的是 _ 。 #include iostream using namespace s
8、td; class Base public: Base(); Base(int e):count(C) virtual void print() const = 0; private: int count; ; class Derived :public Base public: Derived():Base(0) Derived(int C) :Base(C) void printt() constcout “Derived“endl: ; void main( ) Derived d(10); Base *pb; pb = /A Base Derived dd = *pb; /B Deri
9、ved /C Base bb = d; /D(分数:2.00)AaBBCCDD14.下面程序的运行结果是 _ 。 #includeiostream.h void main() int i1; while(i8) if(+i%3!2)continue; else couti; (分数:2.00)A.25B.36C.258D.36915.下列关于类模板的模板参数的叙述中,错误的是_。(分数:1.00)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型16.有以下程序: void main() i
10、nt a=5,b=4,c=3,d=2; if(abc) coutdend1; else if(c-1)=d)=1) coutd+1end1; else coutd+2end1; (分数:2.00)A.2B.3C.4D.编译时有错,无结果17.如下程序运行时的输出结果是 #includeiostream using namespace std; class ONE int c; public: ONE( ):c(0)eout1; ONE(int n):C(n)cout2; ; class TW0 ONE onel; ONE one2; public: TWO(int m):one2(m)eout
11、3; ; int main( ) TWO t(4); return 0; (分数:2.00)A.3B.23C.123D.21318.在一个单链表中,若 p所指结点不是最后结点,则删除 p所指结点的后继结点的正确操作是 _。(分数:2.00)A.p=pnextB.pnextpnextC.p-next=pnext-nextD.p-next=p19.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程20.下列字符串中不能作为 C+标识符使用的是_。(分数:1.00)A.IN
12、TB.testC._1481D.1temp21.下列关于类成员对象构造函数调用顺序的叙述中,正确的是_。(分数:2.00)A.与它们在初始化列表中的顺序相同B.与它们在类中声明的顺序相同C.与析构函数的调用顺序相同D.顺序不确定22.下列程序的运行结果是_。 #includeiostream.h classA int a; public: A()a=0; A()int aa a=aa; couta+; ; void main() Ax,y(2),z(3); coutendl; (分数:1.00)A.00B.23C.34D.2523.需求分析阶段的任务是确定(分数:1.00)A.软件开发方法B.
13、软件开发工具C.软件开发费用D.软件系统功能24.软件生命周期是指_。(分数:1.00)A.软件产品从提出、实现、使用维护到停止使用退役的过程B.软件从需求分析、设计、实现到测试完成的过程C.软件的开发过程D.软件的运行维护过程25.在 C+中,cin 是个_。(分数:2.50)A类B.对象C.模板D.函数26.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()return count;) privat
14、e: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是_。(分数:2.00)A.121B.232C.221D.12227.下列有关运算符重载的叙述中,正确的是_。(分数:1.00)A.运算符重载是多态性的一种表现B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算
15、符都可以作为非成员函数重载D.重载运算符时可以改变其结合性28.有如下程序: #includeiostream using namespace std; class Point int x,y; public: Point(int x1=0,int y1=0):x(x1),y(y1) int get()return x+y;) ; class Circle Point cente; int radius; public: Circle(int cx,int cy,int r):center(cx,cy),radius(r) int get()return center.get()+radius
16、; ; int main() Circle c(3,4,5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:2.00)A.5B.7C.9D.1229.在 C+语言中,不合法的实型数据的是(分数:1.00)A.0123B.123e3C.21e35D.123030.下列虚基类的声明中正确的是_。(分数:1.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A31.下面是重载为非成员函数的运算符函数原
17、型,其中错误的是 _ 。(分数:2.00)A.Fraction operator+(Fraction, Fraction);B.Fraction operator-(Fraction);C.FractionD.Fraction32.若 MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列: MyTempdoublep2; MyTeraplongp32; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp的实例的个数是_。(分数:2.50)A.1B.2C.3D.033.对于模板定义关键字 class和 typename说法不正确的是(分数:2.00)A.程序中的 class并
18、不能都替换为 typenameB.class和 typename都可互相替换C.程序中的 typename都能替换为 classD.程序中的部分 class可以替换为 typename34.将 E-R图转换为关系模式时,实体和联系都可以表示为_。(分数:2.50)A.属性B键C.关系D域35.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:3.00)A.这是运算符-的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值36.有以下程序: v
19、oid fun(int a*a,int i,int i) int t; if(ij); t=ai;aiaj;ajt; fun(a,+i,-j); main() inta1,2,3,4,5,6,i; fun(a,0,5); for(i0;i(6;i+) cout(ai; 执行后输出结果是 _ 。(分数:2.00)A.6 5 4 3 2 1B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 637.若已定义: int a 0,1,2,3,4,5,6,7,8,9, * pa, i ; 其中 0i9,则对 a数组元素不正确的引用是(分数:2.00)A.apaB.* ( publ
20、ic: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是_。(分数:3.00)A.XB:XB(int a,int b):x(a),y(b)B.XB:XB(int a,int b):XA(a),y(b)C.XB:XB(int a,int b):x(a),XB(b)D.XB:XB(int a,int b):XA(a),XB(b)39.有如下程序: #includeiostream using namespace std; intmain() int f,f1=0,f2=1
21、; for(int i=3;i=6;i+) f=f1+f2; f1=f2;f2=f; coutfendl; return 0; 运行时的输出结果是_。(分数:3.00)A.2B.3C.5D.840.树是结点的集合,它的根结点数目是 _ 。(分数:2.00)A.有且只有 1B.1或多于 1C.0或 1D.至少 2二、基本操作题(总题数:1,分数:30.00)41.请使用 VC6或使用【答题】菜单打开 proj1 下的工程 proj1,该工程中包含程序文件 main.cpp,其中有关 TVSet(“电视机”)和主函数 main的定义。程序中位于每个“/ ERROR *found*”之后的一行语句有
22、错误,请加以改正。改正后程序的输出结果应该是: 规格:29 英寸,电源:开,频道:5,音量:18 规格:29 英寸,电源:关,频道:-1,音量:-1 注意:只修改每个“/ ERROR *found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namespace std; class TVSet /“电视机”类 const int size; int channel; /频道 int volume; /音量 bool on; /电源开关:true 表示开,false 表示关 public: / ERROR *found* TVSet(int size
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 498 答案 解析 DOC
