【计算机类职业资格】全国计算机等级考试二级C++真题2005年9月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C++真题2005年9月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C++真题2005年9月及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C+真题 2005年 9月及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试2.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或
2、删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素4.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可有多种存储结构,且各种存储结构影响数据处理的效率5.下列描述中正确的是(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题6.在软件设计中,不属于过程设计工具
3、的是(分数:2.00)A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图7.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令8.数据库设计的根本目标是要解决(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护9.设有如下关系表: (分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S10.数据库系统的核心是(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员11.下列关于 C+函数的叙
4、述中,正确的是(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己12.下列关于类和对象的叙述中,错误的是(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系13.在 C+中,用于实现运行时多态性的是(分数:2.00)A.内联函数B.重载函数C.模板函数D.虚函数14.下列关于运算符重载的叙述中,正确的是(分数:2.00)A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载C.若重载运算符+,则相应的运算符函数名是+
5、D.重载一个二元运算符时,必须声明两个形参15.下列关于模板的叙述中,错误的是(分数:2.00)A.模板声明中的第一个符号总是关键字 templaleB.在模板声明中用括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数模板的实参可以省略16.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout”是一个输出流对象B.“endl“的作用是输出回车换行C.“x”是一个变量D.“”称作提取运算符17.下列字符串中,正确的 C+标识符是(分数:2.00)A.foo-1B.2bC.newD.-25618.已知枚举类型定义语句为: enum
6、TokenNAMB,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是(分数:2.00)A.枚举常量 NAME的值为 1B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 1019.执行语句序列 iht i=0;while(i25)i+=3;couti; 输出结果是(分数:2.00)A.24B.25C.27D.2820.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是(分数:2.00)A.int vect =30,50,-88;B.in
7、t veer =30,50,-88,0,0;C.int vect5=30,50,-88;D.int vect5=30,50,-88,0,0;21.有如下程序: #includeiostream void fun(intx=y;y=t; int main() int a2=23,42; fun(a1,a0; std:couta0“,“a1std:ndl; return 0; 执行后的输出结果是(分数:2.00)A.42,42B.23,23C.23,42D.42,2322.有如下类声明: class Foo int bar; ; 则 Foo类的成员 bar是(分数:2.00)A.公有数据成员B.公
8、有成员函数C.私有数据成员D.私有成员函数23.有如下类声明: class MyBASE int k; public: void set(iht n)k=n; int get()coastreturn k; ; class MyDERIVED:pnoted My BASE protected: int j; public: void set(int m,int n)MyBASE:set(m);j=n; int get()constreturn MyBASE:get()+j; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是(分数:2.00)A.4B.3C.2D.125.有如下函数
9、模板定义: templateclass t T func(Tx,Ty)return x*x+y*y; 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5)26.有如下程序: #includeiostream using namespace std; int main() cout.fill(*) cout.width(6); cout.fill(#) cout123endl; return 0; 执行后的输出结果是(分数:2.00)A.#123B.123#C.*123D.123
10、*27.在下列函数原型中,可以作为类 AA构造函数的是(分数:2.00)A.void AA(in;B.int AA();C.AA(inconst;D.AA(in;28.下列关于 this指针的叙述中,正确的是(分数:2.00)A.任何与类相关的函数都有 this指针B.类的成员函数都有 this指针C.类的友元函数都有 this指针D.类的非静态成员函数才有 this指针29.有如下程序: #includeiostream using namespace std; class Test public: Test()n+=2; Test()n-=3; static int getNum()ret
11、urn n; private: static int n; ; int Tesl:n=1 int main() Test*p=new Test; delete p; cout“n=“Tes:tgetNum()endl; return 0; 执行后的输出结果是(分数:2.00)A.n=0B.n=1C.n=2D.n=330.有如下程序: #includeiostream using namespace std; class A public: A()cout“A“; ;class Bpublic:B()cout“B“;); class C:public A B b; public: C()cout
12、“C“; ; int main()Cobj;retum 0; 执行后的输出结果是(分数:2.00)A.CBAB.BACC.ACBD.ABC31.有如下类声明: class XA int x; public: XA(int n)x=n; ; class XB:public XA int y; public: XB(int a,int b); ; 在构造函数 XB的下列定义中,正确的是(分数:2.00)A.XB:XB(int a,int :x(,y(B.XB:XB(int a,int :XA(,y(C.XB:XB(int a,int :x(,XB(D.XB:XB(int a,int :XA(,XB
13、(32.有如下程序: #includeiostream using namespace std; class BASE public: BASE()cout“BASE“; ; class DERIVED:public BASE public: DERIVED()cout“DERIVED“; ; int main()DERIVEDx;retum 0; 执行后的输出结果是(分数:2.00)A.BASEB.DERIVEDC.BASEDERIVEDD.DERIVEDBASE33.在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员的函数重载的运算符。下列叙述中正确的是(分数:2.00)
14、A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数34.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象B.可以用 ifstream定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cigetline(x,80);时,若键入 Happy new year 则 x中的字符串是“Ha
15、ppy“35.有如下程序: #includeiostream using namespace std; class AA int n; public: AA(int k);n(k) intget()return n; int get()constreturn n+1; ; int main() AA a(5); const AA b(6); couta.get()b.get(); return 0; 执行后的输出结果是(分数:2.00)A.55B.57C.75D.77二、B填空题/B(总题数:14,分数:28.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据
16、独立性最高的阶段是U 【1】 /U。(分数:2.00)填空项 1:_37.算法复杂度主要包括时间复杂度和 【2】 复杂度。(分数:2.00)填空项 1:_38.在进行模块测试时,要为每个被测试的模块另外设计两块:驱动和承接模块(桩模块)。其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_39.一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。(分数:2.00)填空项 1:_40.数据结构分为逻辑结构和存储结构,循环队列属于工 【5】 结构。(分数:2.00)填空项 1:_41.下列函数的功能是判断字符串 str是否对称
17、,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char*str) int i=o,i=0; while(strj)U 【6】 /U; for(j-;iji+,j-); return iU 【7】 /Uj; (分数:2.00)填空项 1:_42.执行语句序列 int x=10, coutX-rendl; 输出结果为U 【8】 /U。(分数:2.00)填空项 1:_43.下列程序的输出结果为 Object id=0 Obiect id=1 请将程序补充完整。 #includeiostream using namespace std; clas
18、s Point public: Point(int xx=O,int yy=O)X=xx;Y=yy;countP+; Point()countp-; int GetX()(return X;) int GetY(Xremm Y;) static void GetC()cout“Objcetid=“countpendl; private: int X,Y; static int countP; : U 【9】 /U。 /静态数据成员的初始化 int main() Point:GetC(); Point A(4,5); A.GetC() return 0; (分数:2.00)填空项 1:_44.非
19、成员函数应声明为类的 【10】 函数才能访问这个类的 private成员。(分数:2.00)填空项 1:_45.派生类中的成员不能直接访问基类中的 【11】 成员。(分数:2.00)填空项 1:_46.下列程序的输出结果为 2,请将程序补充完整。 #includeiostream using namespace std; class Basc public: U 【12】 /Uvoid fun()cout1; ; class Dcrived:public Base public: void fun()cout2; ; int main() Base*p=new Derived; p-fun()
20、; delete p; return 0; (分数:2.00)填空项 1:_47.请将下列类定义补充完整。 class Basepublic:void fun()cout“Base:fun“end;; class Derived:public Base public: void fun() U 【13】 /U/显式调用基类的 fun函数 cout“Derived:fun“endl; ;(分数:2.00)填空项 1:_48.多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但运算符只能作为类的 【14】 函数重载。(分数:2.00)填空项 1:_49.下面是一个栈类的模板,其中 p
21、ush函数将元素 i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当的语句,完成栈类模板的定义。 templateclass t class Tstack enumsize=1000; T stacksize int top; public: Tsack():top(0) void push(const T T pop() if(top=O)exit(1);/栈空时终止运行 retumU 【15】 /U; ;(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2005年 9月答案解析(总分:98.00,做题时
22、间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析 程序设计并不等于编程,编程只是程序设计中的一小步。测试是程序执行的过程,目的在于发现错误,一般不由开发者测试自己的程序,测试发现错误后,可以立即进行调试并改正错误,经调试改错后还应进行再测试。2.下列数据结构中,能用二分法进行查找的是(分数:2.00)A.顺序存储的有序线性表 B.线性链表C.二叉链表D.有序线性链表解析:解析 二分查找只适用于顺序存
23、储的有序表。3.下列关于栈的描述正确的是(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:解析 栈是特殊的线性表,在栈顶端既可以插入元素,又可以删除元素:在栈底端不允许插入元素,也不能删除元素。4.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D.一个逻辑数据结构可有多种存储结构,且各种
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 2005 答案 解析 DOC
