【计算机类职业资格】二级C++笔试-284及答案解析.doc
《【计算机类职业资格】二级C++笔试-284及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-284及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-284 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有如下程序: #includeiostream using namespace std; class AA int k; protected: int n; void setK(int k)this-k=k; public: void setN(int n)this-n=n; ; class BB:public AA/*类体略*/; int main( ) BB x; xn=1: /1 xsetN(2); /2 Xk=3; /3 xsetK(4); /4 return
2、0; 在标注号码的 4条语句中正确的是(分数:2.00)A.1B.2C.3D.42.有如下类定义和变量定义: class Parents public: int publicData: private: int privateData; ; class ChildA:public Parents/类体略*/; class ChildB:private Parents/类体略*/; ChildA a; ChildB b; 下列语句中正确的是(分数:2.00)A.coutapublicDataendl;B.coutaprivateDataendl;C.coutbpublieDataendl;D.e
3、outbprivateDataendl;3.如下程序的输出结果是 #includeiostream using namespace std; class A public: virtual void f( )tout1; void g( )cout2; ; class B:public A public: virtual void f( )cout3; void g( )cout4; ; void show(A(分数:2.00)A.f( );a.g( ); int nlain( ) B b; show(B.; C.14D.324.有如下程序: #includeiostream using na
4、mespaee std; class Pair int m; int n; public: Pair(int i,int j):m(i),n(j) boot operator(pair P)const;/需在类体外给出定义 ; int main( ) Pair pl(3,4),p2(4,3),p3(4,5); cout(plp2)(p2p1)(p2p3)(p3p2); retum 0; 运算符函数 operator的功能是比较两个 Pair对象的大小,当左边对象大时,返回 true,否则返回false。比较规则是首先比较两对象的 m成员,m 大者为大;当 m相等时比较 n,n 大者为大。程序输
5、出0101,下列对运算符重载函数的正确定义是(分数:2.00)A.bool Pair:operator(Pair P)eonstB.bool Pair:operator(Pair P) if(m!=P.m)return mpIn;return npn; if(m!=P.m)return mpm;return npn;C.bool Pair:operator(Pair P)eonstD.bool Pair:operator(Pair P) if(mp.m)return true;return np.n; if(Ulp.m)return true;return np.n;5.数据库应用系统中的核心
6、问题是(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训6.已知表达式+a 中的“+”是作为成员函数重载的运算符,则与+a 等效的运算符函数调用形式为 (分数:2.00)A.orerator+(1)B.operaC.operator+(a,1)D.operator+( )7.要建立文件流并打开当前目录下的文件 file.dat用于输入,下列语句中错误的是(分数:2.00)A.ifstream fin=ifstreamopen(“filedat”);B.ifstream*fir=new ifstream(“filedat”);C.ifstream fin;fin
7、open(“filedat”);D.ifstream*fin=new ifstream( );fin-open(“filedat”);8.如下程序段运行时的输出结果是 int i=4;int J=1; int main( ) inti=8,j=i; coutijendl; (分数:2.00)A.44B.41C.88D.819.运算符重载时不需要保持的性质是(分数:2.00)A.操作数个数B.操作数类型C.优先级D.结合性10.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是(分数:2.00)A.( )B. C.D.11.通过派生类的对象可直接访问其(分数:2.00)A.公有继
8、承基类的公有成员B.公有继承基类的私有成员C.私有继承基类的公有成员D.私有继承基类的私有成员12.当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为(分数:2.00)A.ios_base:inB.ios_base:in | ios_base:outC.ios_base:outD.ios_base:in&ios_base:out13.下列关于函数模板的描述中,错误的是(分数:2.00)A.从模板实参表和从模板函数实参表获得的信息矛盾时,以模板实参的信息为准B.对于常规参数所对应的模板实参,任何情况下都不能省略C.虚拟类型参数没有出现在模板函数的形参表中时,不能
9、省略模板实参D.模板参数表不能为空14.已知函数 fun的原型为 int fun(int,int,int); 下列重载函数原型中错误的是(分数:2.00)A.char fun(int,int);B.double fun(int,int,double);C.int fun(int,char*);D.float fun(int,int,int);15.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(分数:2.00)A.提高耦合性、降低内聚性有利于提高模块的独立性B.降低耦合性、提高内聚性有利于提高模块的独立性C.耦合性是指一个模块内部各个元索问彼此结合的紧密程度D.内聚性是指模块间
10、互相连接的紧密程度16.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外 3条语句不同的语句是(分数:2.00)A.eoutsetfill(*)123setw(9)321;B.eoutsetrill(*)setw(6)left123setw(6)right321;C.eout123setrill(*)setw(6)321;D.eoutsetfill(*)setw(9)left123321;17.软件按功能可分为应用软件、系统软件和支撑软件。下面属于应用软件的是(分数:2.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序18.如下程序的输出结果是 #includeios
11、tream #includecstring using namespace std; class XCF int a; public: XCF(int aa=0):a(a(分数:2.00)A.cout“1“; XCF(XCF&X)a=xa;cout“2“;l XCF( )couta; int Geta( )t return a; ; int main( ) XCF d(15),d2(d1); XCF*pd=new XCF(8); coutpd-Geta( ); delete pd; return 0; A) 1215588B.1218855C.12185D.12851219.将 E-R图转换为
12、关系模式时,实体和联系都可以表示为(分数:2.00)A.属性B.键C.关系D.域20.下列描述中,不属于面向对象思想主要特征的是(分数:2.00)A.封装性B.跨平台性C.继承性D.多态性21.已知类 MyClass声明如下: class MyClass int U; public: MyClass(int k):n(k) int getValue( )constreturn n; ; 在下列数组定义中正确的是(分数:2.00)A.MyClass xl2;B.MyClass x22=new MyClass(1),new MyClass(2);C.MyClass*x32;D.MyClass*x4
13、2=MyClass(1),MyClass(2);22.有如下类定义: class XX int xx; public: XX( ):xx(0)eoutA; XX(int n):xx(n)toutB; ; class YY:public XX mt yy; public: YY( ):yy(0)i coutyy; YY(int n):XX(n+1),yy(n)coutyy; YY(int m,int n):XX(in),yy(n)coutyy; ; 下列选项中,输出结果为 A0的语句是(分数:2.00)A.YY y1(0,0);B.YY y2(1);C.YY y3(0);D.YY y4;23.如
14、下程序的输出结果是 #includelostream #includecstring using namespace std; class XCD char*a; int b; public: XCD(char*aa,int bB) a=new charstrlen(a(分数:2.00)A.+1; strcpy(a,aA) ; b=bb; char*Geta( )return a; int Getb( )return b; ; int main( ) char*pl=“abcd“,*p2=“weirong“: int dl,6,d2=8; XCD x(pl,d1),y(p2,d2); cout
15、strlen(xGeta( )+yGetb( )endl; return 0; A) 12B.16C.14D.1124.支持子程序调用的数据结构是(分数:2.00)A.栈B.树C.队列D.二叉树25.建立一个类对象时,系统会自动调用(分数:2.00)A.析构函数B.构造函数C.静态函数D.友元函数26.下列叙述中正确的是(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构27.对 C+编译器区分重载函数无任何意义的信息是(分数:2.00)A.参数类型B.参数个数C.返回值类型D.常成员函
16、数关键字 const28.如下程序段运行时输出“*”的个数是 int i=5; while(int i:0)cout*;i-;(分数:2.00)A.0B.1C.5D.无穷29.已知有数组定义 char a34; 下列表达式中错误的是(分数:2.00)A.a2=“WIN“B.strcpy(a2,“WIN“)C.a23=WD.a01=a0130.下列排序方法中,最坏情况下比较次数最少的是(分数:2.00)A.冒泡排序B.简单选择排序C.直接插入排序D.堆排序31.如下程序运行时的输出结果是 #includeiostream using namespace std; class ONE int c;
17、 public: ONE( ):c(0)eout1; ONE(int n):C(n)cout2; ; class TW0 ONE onel; ONE one2; public: TWO(int m):one2(m)eout3; ; int main( ) TWO t(4); return 0; (分数:2.00)A.3B.23C.123D.21332.有两个关系 R、S 如下: (分数:2.00)A.选择B.投影C.插入D.连接33.有如下类定义和变量定义: class A public: A( )data=0; A( ) int GetData( )constreturn data; voi
18、d SetData(int n)data=n; private: int data; ; const A a; A b; 下列函数调用中错误的是(分数:2.00)A.GetData( );B.SetData(10);C.GetData( );D.SetData(10);34.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是(分数:2.00)A.10B.8C.6D.435.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性二、填
19、空题(总题数:15,分数:30.00)36.假设用一个长度为 50的数组(数组元素的下标从 049)作为栈的存储空间,栈底指针 bottom指向栈底元素,栈顶指针 top指向栈顶元素,如果 bottom=49,top=30(数组下标),则栈中具有 1 个元素。(分数:2.00)填空项 1:_37.软件测试可分为白盒测试和黑盒测试。基本路径测试属于 1 测试。(分数:2.00)填空项 1:_38.符合结构化原则的三种基本控制结构是:选择结构、循环结构和 1。(分数:2.00)填空项 1:_39.数据库系统的核心是 1。(分数:2.00)填空项 1:_40.在 E-R图中,图形包括矩形框、菱形框、
20、椭圆框。其中表示实体联系的是 1 框。(分数:2.00)填空项 1:_41.有如下程序段: intx=1,y=2,z=3; x=xz: y=yz; z=xy: coutxyz; 这个程序段的输出结果是_。(分数:2.00)填空项 1:_42.有如下程序段: for(inti=i;i=50;i+) if(i%3 1=0)continue; else if(i%5 1=0)continue; couti“,“; 这个程序的输出结果是_。(分数:2.00)填空项 1:_43.有如下程序段: char C20=“examination“; C4=0; coutcendl; 这个程序的输出结果是_。(分
21、数:2.00)填空项 1:_44.下面的函数利用递归实现了求 1+2+3+n的功能: int sum(int n) if(n=0)return 0; else return n+saln(n-1); 在执行 SUm(10)的过程中,递归调用 sum函数的次数是_。(分数:2.00)填空项 1:_45.非成员函数应该声明为类 1 函数才能访问该类的私有成员。(分数:2.00)填空项 1:_46.有如下程序: #includeiostream using namespace std; class Monitor public: Monitor(char t):type(t) void Print(
22、 )const cout“The type of monitor is“type D.解析:解析 定义类模板的一般格式为: templateclass 类型参数class 类名类成员声明;11.通过派生类的对象可直接访问其(分数:2.00)A.公有继承基类的公有成员 B.公有继承基类的私有成员C.私有继承基类的公有成员D.私有继承基类的私有成员解析:解析 在私有继承方式和保护继承方式下,派生类对象不能访问基类的任何成员;在公有继承方式下,派生类对象可以访问基类的公有成员。12.当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为(分数:2.00)A.ios_ba
23、se:in B.ios_base:in | ios_base:outC.ios_base:outD.ios_base:in&ios_base:out解析:解析 对于类 ifstrearn,文件打开方式的默认值是 ios:in;而对类 ostrearn文件打开的方式默认为 los:out。13.下列关于函数模板的描述中,错误的是(分数:2.00)A.从模板实参表和从模板函数实参表获得的信息矛盾时,以模板实参的信息为准B.对于常规参数所对应的模板实参,任何情况下都不能省略C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D.模板参数表不能为空 解析:解析 函数模板的类型参数不可为空,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 284 答案 解析 DOC
