【计算机类职业资格】全国计算机等级考试二级C++真题2008年9月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C++真题2008年9月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C++真题2008年9月及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C+真题 2008年 9月及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.123456ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA2.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指
2、针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定3.在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.O(n2)C.O(log2n)D.O(nlog2n)4.下列叙述中正确的是( )。(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间5.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制
3、流B.事件驱动C.模块调用D.数据流6.在软件开发中,需求分析阶段可以使用的工具是( )。(分数:2.00)A.N-S图B.DFD图C.PAD图D.程序流程图7.在面向对象方法中,不属于“对象”基本特点的是( )。(分数:2.00)A.一致性B.分类性C.多态性D.标识唯一性8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(分数:2.00)A.一对一B.一对多C.多对一D.多对多9.在数据管理技术发展的 3个阶段中,数据共享最好的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同10.有 3个关系 R、S 和 T如下: (分数:2.00
4、)A.笛卡尔积B.交C.并D.自然连接11.在下列原型所示的 C+函数中,按“传值”方式传递参数的是( )。(分数:2.00)A.void f1(int a);B.void f2(int *a);C.void f3(const int *a);D.void f4(int ”,但无法通过编译。这说明( )。(分数:2.00)A.f()是基类的私有成员B.f()是基类的保护成员C.派生类的继承方式为私有D.派生类的继承方式为保护14.下列关于运算符重载的叙述中,错误的是( )。(分数:2.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运算符
5、函数的参数设置默认值D.有的运算符只能作为成员函数重载15.下列关于模板的叙述中,错误的是( )。(分数:2.00)A.调用模板函数时,在一定条件下可以省略模板实参B.可以用 int、double 这样的类型修饰符来声明模板参数C.模板声明中的关键字 class都可以用关键字 typename替代D.模板的形参表中可以有多个参数16.要利用 C+流进行文件操作,必须在程序中包含的头文件是( )。(分数:2.00)A.iostreamB.fstreamC.strstreamD.iomanip17.下列字符串中不能作为 C+标识符使用的是( )。(分数:2.00)A.WHILEB.userC._l
6、varD.9stars18.下列语句中错误的是( )。(分数:2.00)A.const int a;B.const int a=10;C.const int*point=0;D.const int*point=new int(10);19.有如下程序: #includeiostream using namespace std; int main() int sum; for(int i=0;i6;i+=3) sum=i; for(int j=i;j6;j+)sum+=j; coutsumend1; return 0; 运行时的输出结果是( )。(分数:2.00)A.3B.10C.12D.152
7、0.下列语句中,正确的是( )。(分数:2.00)A.char*myString=“Hello-World!“;B.char myString=“Hello-World!“;C.char myString11=“Hello-World!“;D.char myString12=“Hello-World!“;21.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是( )。(分数:2.00)A.void fun(int a=90,double b=0.0);B.int fun(int a,double );C.void fun(doubl
8、e a,int );D.bool fun(int a,double b=0.0);22.有如下程序: #includeiostream using namespace std; class Sample public: Sample() Sample()cout*; ; int main() Sample temp2,*pTemp2; return 0; 执行这个程序输出星号(*)的个数为( )。(分数:2.00)A.1B.2C.3D.423.下列选项中,与实现运行时多态性无关的是( )。(分数:2.00)A.重载函数B.虚函数C.指针D.引用24.下列运算符函数中,肯定不属于类 Value的
9、成员函数的是( )。(分数:2.00)A.Value operator+(Value);B.Value operator-(Value,Value);C.Value operator*(int);D.Value operator/(Value);25.下列模板声明中,有语法错误的是( )。(分数:2.00)A.templatetypename TT fun(T return x;B.templatetypename TT fun(T x,int return x*n;C.templateclass TT fun(T*return *p;D.templateclass TT ClassAT n;
10、26.在语句“coutA;”中,cout 是( )。(分数:2.00)A.类名B.对象名C.函数名D.C+的关键字27.有如下程序: #ncludeiostream using namespace Std; Class MyClass public: MyClass(int i=0)cout1; MyClass(constMyClass MyClass()cout4; ; int main() MyClass obj1(1),obj2(2),obj3(obj1); return 0: 运行时的输出结果是( )。(分数:2.00)A.112444B.11114444C.121444D.11314
11、44428.有如下程序: #ncludeiostream using namespace std; class MyClass public: MyClass(int x):val(x) void Set(int x)Val=x; void Print()constcout“val=“Val/t; private: intval; ; int main() const MyClass obj1(10); MyClass obj2(20); obj1.Print(); /语句 1 obj2.Print(); /语句 2 obj1.Set(20); /语句 3 obi2.Set(30); /语句
12、4 return 0; 其主函数中错误的语句是( )。(分数:2.00)A.语句 1B.语句 2C.语句 3D.语句 429.在类声明中,紧跟在“public:”后声明的成员的访问权限是( )。(分数:2.00)A.私有B.公有C.保护D.默认30.对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是( )。(分数:2.00)A.公有或私有B.私有C.保护或私有D.公有或保护31.定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为( )。(分数:2.00)A.私有继承B.非私有继承C.保护继承D.公有继承32.建立一个有成员对象的派
13、生类对象时,各构造函数体的执行次序为( )。(分数:2.00)A.派生类、成员对象类、基类B.成员对象类、基类、派生类C.基类、成员对象类、派生类D.基类、派生类、成员对象类33.如果表达式 a=b 中的“=”是作为非成员函数重载的运算符,则可以等效地表示为( )。(分数:2.00)A.operator=(a)B.operatotr=(b)C.operator=(a,b)D.operator=(b,a)34.当使用 ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。(分数:2.00)A.ios base:inB.ios_base:binaryC.ios bas
14、e:in|ios base:outD.ios base:out35.在一个抽象类中,一定包含有( )。(分数:2.00)A.虚函数B.纯虚函数C.模板函数D.重载函数二、B填空题/B(总题数:15,分数:30.00)36.对下列二叉树进行中序遍历的结果 1。 (分数:2.00)填空项 1:_37.按照软件测试的一般步骤,集成测试应在 1 测试之后进行。(分数:2.00)填空项 1:_38.软件工程 3要素包括方法、工具和过程,其中, 1 支持软件开发的各个环节的控制和管理。(分数:2.00)填空项 1:_39.数据库设计包括概念设计、 1 和物理设计。(分数:2.00)填空项 1:_40.在二
15、维表中,元组的 1 不能再分成更小的数据项。(分数:2.00)填空项 1:_41.当使用关键字 1 作为函数返回类型时,该函数不返回任何值。(分数:2.00)填空项 1:_42.已知数组 a中有 n个元素,下列语句将数组 a中从下标 x1开始的 k个元素移动到从下标 x2开始的 k个元素中,其中 O=xlx2n,x2+kn,请将下列语句补充完整。 For(int i=x1+k-1;i=x1;i-) a_=ai;(分数:2.00)填空项 1:_43.有如下程序: #includeiostream using namespace std; int fun1(int x) return+x; int
16、 fun2(int int main() int x=1,y=2; y=fun 1(fun2(x); coutX,y; return 0: 程序的输出结果是_。(分数:2.00)填空项 1:_44.有如下程序: #includeiostream using namespace std; class pumpkin public: pumpkin()+count; pumpkin()-count; static void total_count() coutcount“pumpkin(s)“end1; private: static int count; ; int pumpkin:count=
17、0; int main() pumpkin p110; pumpkin:total_count(); return 0; 这个程序的输出结果是_。(分数:2.00)填空项 1:_45.有如下递归函数: int Fun(int n) if(n=1) return 1; _ 请补充完整,使得函数 Fun能够正确计算形参 n的阶乘。(分数:2.00)填空项 1:_46.请在下列程序中的横线处填写正确的语句: class Sample public: Sample()() Sample() void SetData(int data)/将 Sample类成员变量 data设置成形参的值 _ priva
18、te:int data; ;(分数:2.00)填空项 1:_47.有如下类定义,请将 Sample类的拷贝构造函数补充完整。 class Sample public: Sample() Sample()if(p)delete p;) Sample(const Sample private: int*p; ;(分数:2.00)填空项 1:_48.重载加法运算符“+”,其函数名是 1。(分数:2.00)填空项 1:_49.有如下程序: #includeiostream using namespace std; class Wages /“工资”类 double base; /基本工资 double
19、 bonus; /奖金 double tax; /税金 public: Wages(double CBase,double CBonus,double CTax): base(CBase),bonus(CBonus),tax(CTax) double getPay()const; /返回应付工资额 Wages operator+(Wages w)const; /重载加法 ; double Wages:getPay()constreturn base+bonus-tax; Wages Wages:operator+(Wages W)const return Wages(base+w.base,b
20、onus+w.bonus,tax+w.tax); int main() Wages w1(2000,500,100),w2(5000,1000,300); cout(w1+w2).getPay0end1; return 0; 程序的输出结果是(分数:2.00)填空项 1:_50.有如下程序: #includeiostream using namespace std; class Pet char name10; public: Pet(char*name)strcpy(this-name,name); const char*getName()const return name; virtual
21、 void call()const=0; ; class Dog:public Pet public: Dog(char*name):Pet(name) void call()constcout“汪汪叫“: ; class Cat:public Pet public: Cat(char*name):Pet(name) void call()constcout“喵喵叫“; ; int main() Pet*pet1=new Dog(“哈克“),*pet2=new Cat(“吉米“); coutpet1-getName();pet1-call();coutend1; coutpet2-getNam
22、e();pet2-call();coutend1; return 0; 程序的输出结果是_。(分数:2.00)填空项 1:_全国计算机等级考试二级 C+真题 2008年 9月答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。(分数:2.00)A.123456ABCDEB.EDCBA54321 C.ABCDEl2345D.54321EDCBA解析:解析 栈是按照“先进后出”或“后进先出”的原则组织数据的。所以出栈顺序是
23、 EDCBA54321。2.下列叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定 解析:解析 循环队列中元素的个数是由队头指针和队尾指针共同决定的,元素的动态变化也是通过队头指针和队尾指针来反映的。3.在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(n)B.O(n2)C.O(log2n) D.O(nlog2n)解
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 2008 答案 解析 DOC
