【计算机类职业资格】全国计算机等级考试二级C++真题2009年3月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C++真题2009年3月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C++真题2009年3月及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C+真题 2009年 3月及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构2.支持子程序调用的数据结构是(分数:2.00)A.栈B.树C.队列D.二叉树3.某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是(分数:2.00)A.10B.8C.6D.44.下列排序方法中,最坏情况下比较次数最少的是(分数:2.00)A.冒泡排序B.
2、简单选择排序C.直接插入排序D.堆排序5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(分数:2.00)A.编译程序B.操作系统C.教务管理系统D.汇编程序6.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(分数:2.00)A.提高耦合性降低内聚性有利于提高模块的独立性B.降低耦合性提高内聚性有利于提高模块的独立性C.耦合性是指
3、一个模块内部各个元素间彼此结合的紧密程度D.内聚性是指模块间互相连接的紧密程度8.数据库应用系统中的核心问题是(分数:2.00)A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训9.有两个关系 R,S 如下: (分数:2.00)A.选择B.投影C.插入D.连接10.将 E-R图转换为关系模式时,实体和联系都可以表示为(分数:2.00)A.属性B.键C.关系D.域11.对 C+编译器区分重载函数无任何意义的信息是(分数:2.00)A.参数类型B.参数个数C.返回值类型D.常成员函数关键字 const12.有如下类定义和变量定义: class A public: A( ) data
4、=0;) A( ) int GetData( ) const return data; void 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);13.有如下类定义和变量定义: class Parents public: int publicData; private: int privateData; ;class ChildA:public Parents/*类体略*/;
5、class ChildB:private Parents/*类体略*/; ChildA a; ChildB b; 下列语句中正确的是(分数:2.00)A.coutpublicDataendl;B.coutprivateDataendl;C.coutpublicDataendl;D.coutprivateDataendl;14.运算符重载不需要保持的性质是(分数:2.00)A.操作数个数B.操作数类型C.优先级D.结合性15.下列关于函数模板的描述中,错误的是(分数:2.00)A.从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准B.对于常规参数所对应的模板实参,任何情况下都不能
6、省略C.虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参D.模板参数表不能为空16.要建立文件流并打开当前目录下的文件 file.dat用于输入,下列语句中错误的是(分数:2.00)A.ifstream fin=ifstreaopen(“fildat“);B.ifstream*fin=new ifstream(“fildat“):C.ifstream fin;fiopen(“fildat“);D.ifstream*fin=new ifstream( );fin-open(“fildat“);17.下列描述中,不属于面向对象思想主要特征的是(分数:2.00)A.封装性B.跨平台性C.
7、继承性D.多态性18.有如下程序段: int i=4;int j=l; int main( ) int i=8,j=i; coutijendl; 运行时输出结果是(分数:2.00)A.44B.41C.88D.8119.有如下程序段: int i=5; while(int i=0) cout*;i- -;) 运行时输出“*”的个数是(分数:2.00)A.0B.1C.5D.无穷20.已知有数组定义 char a34; 下列表达式中错误的是(分数:2.00)A.a2=“WIN“B.strcpy(a2,“WIN“)C.a23=WD.a01=a0121.已知函数 fun的原型为 int fun(int,
8、int,int); 下列重载函数原型中错误的是(分数:2.00)A.char fun(int,in;B.double fun(int,int,doubl;C.int fun(int,char*);D.float fun(int,int,in;22.建立一个类对象时,系统自动调用(分数:2.00)A.析构函数B.构造函数C.静态函数D.友元函数23.通过派生类的对象可直接访问其(分数:2.00)A.公有继承基类的公有成员B.公有继承基类的私有成员C.私有继承基类的公有成员D.私有继承基类的私有成员24.已知表达式+a 中的“+”是作为成员函数重载的运算符,则与+a 等效的运算符函数调用形式为(分
9、数:2.00)A.operator+(1)B.operator+(C.operator+(a,1)D.operator+( )25.在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是(分数:2.00)A.( )B. C.D. 26.当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为(分数:2.00)A.ios_base:inB.ios_base:in|ios_base:outC.ios_base:outD.ios_base:in class XCD char*a; int b; public: XCD(char*aa,int bb) a=new
10、 charstrlen(aa)+1; strcpy(a,aa); b=bb; char*Geta( ) returri 3; int Getb( ) return b;) ; int main( ) char*p1=“abcd“,*p2=“weirong“; int dl=6,d2=8; XCD x(p1,d1),y(p2,d2); coutstrlen(x.Geta( )+y.Getb( )endl; return 0; 运行时的输出结果是(分数:2.00)A.12B.16C.14D.1128.有如下程序: #includeiostream #includecstring using nam
11、espace std; class XCF int a; public: XCF(int aa=0):a(aa) cout“1“; XCF(XCFcout“2“;) XCF( ) couta; int Geta( ) return a; ; int main( ) XCF d1(5),d2(d1); XCF*pd=new XCF(8); coutpd-Geta( ); delete pd; return 0; 运行时的输出结果是(分数:2.00)A.1215588B.1218855C.12185D.12851229.已知类 MyClass声明如下: class MyClass int n; p
12、ublic: MyClass(int k):n(k) int getValue( )constreturn n; ; 在下列数组定义中正确的是(分数:2.00)A.MyClass x12;B.MyClass x22= new MyClass(1),new MyClass(2);C.MyClass*x32;D.MyClass*x42= MyClass(1),MyClass(2);30.有如下程序: #includeiostream using namespace std; class AA int k; protected: int n; void setK(int k) this-k=k; p
13、ublic: void setN(int n)this-n=n; ; class BB:public AA/*类体略*/; int main( ) BB x; x.n=1; /1 x.setN(2); /2 x.k=3; /3 x.setK(4); /4 return 0; 在标注号码的四条语句中正确的是(分数:2.00)A.1B.2C.3D.431.有如下类定义: class XX int xx; public: XX( ):xx(0) coutA; XX(int n):xx(n) coutB;) ; class YY:public XX int yy; public: YY( ):yy(0
14、) coutyy; YY(int n):XX(n+1),YY(n) coutyy; YY(int m,int n):XX(m),YY(n)coutyy; ; 下列选项中,输出结果为 A0的语句是(分数:2.00)A.YY y1(0,0);B.YY y2(1);C.YY y3(0);D.YY y4;32.有如下程序: #includeiostream using namespace std; class A public: virtual void f( ) cout1; void g( ) cout2; ; class B: public A public: virtual void f( )
15、 cout3; void g( ) cout4; ; void show(A a.g( ); int main( ) B b; show(b): return 0; 运行时的输出结果是(分数:2.00)A.12B.34C.14D.3233.有如下程序: #includeiostream using namespace std; class Pair int m; int n; public: Pair(int i,int j): m(i),n(j) bool operator(Pair p)const; /须在类体外给出定义 ; int main( ) Pair p1(3,4),p2(4,3)
16、,p3(4,5); cout(p1p2)(p2p1)(p2p3)(p3p2); return 0; 运算符函数 operator的功能是比较两个 Pair对象的大小,当左边对象大时,返回 true,否则返回 false。比较规则是首先比较两对象的 m成员,m 大者为大;当 m相等时比较 n,n 大者为大。程序输出 0101,下列对运算符重载函数的正确定义是(分数:2.00)A.bool Pair:operator(Pair const if(m! =return mm; return nn;B.bool Pair:operator(Pair if(m! = return mm; return
17、nn;C.bool Pair:operator(Pair const if(m return true; return nn;D.bool Pair:operator(Pair if(m return true; return nn;34.假定下列语句都是程序运行后首次执行的输出语句,其中输出结果与另外三条语句不同的语句是(分数:2.00)A.coutsetfill(*)123setw(9)321;B.coutsetfill(*)setw(6)left123setw(6)right321;C.cout123setfill(*)setw(6)321;D.coutsetfill(*)setw(9)
18、left123321;35.有如下程序: #includeiostream using namespace std; class ONE int c; public: ONE( ):c(0) cout1; ONE(int n):c(n) cout2; ; class TWO ONE one1; ONE one2; public: TWO(int m):one2(m) cout3; ; int main( ) TWO t(4); return 0; 运行时的输出结果是(分数:2.00)A.3B.23C.123D.213二、B填空题/B(总题数:15,分数:30.00)36.假设用一个长度为 50
19、的数组(数组元素的下标从 0到 49)作为栈的存储空间,栈底指针 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图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是 1 框。(分数:2.00)填空项
20、 1:_41.有如下程序段: int x=1,y=2,z=3; x=xz; y=yz; z=xy; coutxyz; 执行这个程序段的输出是_。(分数:2.00)填空项 1:_42.有如下程序段: for(int i=1;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; 执行这个程序段的输出是_。(分数:2.00)填空项 1:_44.下面的函数利用递
21、归实现了求 1+2+3+n的功能: int sum(int n) if(n= =0) return 0; else return n+sum(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( )const cout“The type
22、of monitor is“typeendl;) private: char type: ; class Computer public: Coinputer(int i,char c):_ void Print( )const cout“The computer is“idendl;mon.Print( ); private: int id; Monitor mon; ; int main( ) const Computer myComputer(101,B); myComputer.Print( ); return 0; 请将程序补充完整,使程序在运行时输出: The computer i
23、s 101 The type of monitor is B(分数:2.00)填空项 1:_47.有如下程序: #includeiostream using namespace std; class Animal public: virtual char*getType( )const return “Animal“; virtual char*getVoice( )const return “Voice“;) ; class Dog: public Animal public: char*getType( )constreturn “Dog“;) char*getVoice( )constr
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 2009 答案 解析 DOC
