【计算机类职业资格】全国计算机等级考试二级C++真题2007年9月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C++真题2007年9月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C++真题2007年9月及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C+真题 2007年 9月及答案解析(总分:100.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.对象的封装D.对象的分类4.下列叙述中,不符合良好程序设计风格要求的是(分数:2.00)A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要
2、的注释D.输入数据前要有提示信息5.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对6.下列叙述中正确的是(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对7.冒泡排序在最坏情况下的比较次数是(分数:2.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/28.一棵
3、二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为(分数:2.00)A.219B.221C.229D.2319.下列叙述中正确的是(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题C.数据库管理系统就是数据库系统D.以上三种说法都不对10.下列叙述中正确的是(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表11.在函数中,可以用 auto、extern、regist
4、er 和 static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是(分数:2.00)A.autoB.externC.registerD.static12.对于一个类定义,下列叙述中错误的是(分数:2.00)A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数。B.如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数。C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数。D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数。13.如果派生类以 protected方式继承基类,则原基类的 protected成
5、员和 public成员在派生类中的访问属性分别是(分数:2.00)A.public和 publicB.public和 protectedC.protected和 publicD.protected和 protected14.下列运算符函数中肯定不属于类 FunNumber的成员函数的是(分数:2.00)A.int operator-(FunNumbe;B.FunNumber operator-();C.FunNumber operator-(in;D.int operator-(FunNumber,FunNumbe;15.C+中的模板包括(分数:2.00)A.对象模板和函数模板B.对象模板和类
6、模板C.函数模板和类模板D.变量模板和对象模板16.如果利用 C+流进行输入输出,下面的叙述中正确的是(分数:2.00)A.只能借助于流对象进行输入输出。B.只能进行格式化输入输出。C.只能借助于 cin和 cout进行输入输出。D.只能使用运算符和进行输入输出。17.下列符号中不属于 C+关键字的是(分数:2.00)A.friendB.namespaceC.continueD.byte18.下列各组类型声明符中,含义相同的一组是(分数:2.00)A.unsigned long int和 longB.signed short int和 shortC.unsigned short和 shortD
7、.short int和 int19.必须用一对大括号括起来的程序段是(分数:2.00)A.switch语句中的 case标号语句。B.if语句的分支。C.循环语句的循环体。D.函数的函数体。20.语句 int*p= class MyClass public: MyClass() +count; MyClass() -count; static int getCount() return count; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyCl
8、ass *ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是(分数:2.00)A.121B.232C.221D.12228.有如下程序: #include iostream using namespace std; class MyClass public: MyClass(int x):val(x) void Print() const cout“const:val=“val/t; void Print() cout“val=“val/t; privat
9、e: int val; ; int main() const MyClass obj1 (10); MyClass obj2(20); obj1.Print(); obj2,Print(); return 0; 程序的输出结果是(分数:2.00)A.val=10 const:val=20B.const:val=10 const:val=20C.const:val=10 val=20D.val=10 val=2029.有如下程序: #include iostream using namespace std; class Part public: Part(int x=0):val(x) cout
10、val; Part() coutval; private: int val; ; class Whole public: Whole(int x, int y, int z=0):p2(x),p1 (y),val(z) coutval; whole() coutval; private: Part p1,p2; int val; ; int main() Whole obj (1,2,3); return 0; 程序的输出结果是(分数:2.00)A.123321B.213312C.213D.12312330.有如下程序: #include iostream using namespace st
11、d; class Base public: Base(int x=0) coutx; class Derived: public Base public: Derived(int x=0) coutx; private: Base val; ; int main() Derived d(1); return 0; 程序的输出结果是(分数:2.00)A.0B.1C.01D.00131.若有如下类定义: class B void fun1() protected: double var1; public: void fun2() , class D: public B protected: voi
12、d fun3() ;已知 obj是类 D的对象,下列语句中不违反类成员访问控制权限的是(分数:2.00)A.obfun1();B.obvarl;C.obfun2();D.obfun3();32.有如下程序: #include iostream using namespace std; class Base public: void output() cout1; virtual void Print() coutB; ; class Derived: public Base public: void output() cout2; void Print() coutD; ; int main(
13、) Base *ptr=new Derived; ptr-output(); ptr-Print(); delete ptr; return (); 程序的输出结果是(分数:2.00)A.1BB.1DC.2BD.2D33.下列是重载乘法运算符的函数原型声明,其中错误的是(分数:2.00)A.MyClass operator * (double, doubl;B.MyClass operator * (double, MyClas;C.MyClass operator * (MyClass, doubl;D.MyClass operator * (MyClass, MyClas;34.如下函数的
14、作用是以双倍行距输出文件: void double_space(ifstream while (_) _; if (c = /n)t.put(c); 画线处缺失的部分是(分数:2.00)A.get(与 put(B.put(与 get(C.get(与 put(D.put(与 get(35.有如下程序: #include iostream using namespace std; class B public: virtual void show() cout“B“; ; class D: public B public: void show() cout“D“; ; void fun1(B *p
15、tr) ptr-show(); void fun2(B void fun3(B b) b.show(); int main() B b,*p=new D; D d; fun1(p); fun2(b); fun3(d); return 0; 程序的输出结果是(分数:2.00)A.BBBB.BBDC.DBBD.DBD二、B填空题/B(总题数:15,分数:30.00)36.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是U 【1】 /U。(分数:2.00)填空项 1:_37.在两种基本测试方法中,U 【2】 /U测试的原则之一是保证所测模块中每一个独立路径至
16、少要执行一次。(分数:2.00)填空项 1:_38.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的U 【3】 /U存储结构。(分数:2.00)填空项 1:_39.对下列二叉树进行中序遍历的结果为U 【4】 /U。 (分数:2.00)填空项 1:_40.在 E-R图中,矩形表示U 【5】 /U。(分数:2.00)填空项 1:_41.若有定义语句:int a=3,b=2,c=1;,则表达式 ab?a:b 的值是U 【6】 /U。(分数:2.00)填空项 1:_42.执行下列语句后,变量 sum的值是U 【7】 /U。 int sum=0; for(in
17、t i=1;i=3;i+) for(int j=1;j=i;j+) sum+;(分数:2.00)填空项 1:_43.已知有函数 f的定义如下: int f() static int s=0; s+=2; return s; 则在某程序中第 2次执行函数调用语句 f();时,函数 f的返回值是U 【8】 /U。(分数:2.00)填空项 1:_44.已知如下程序的输出结果是 23,请将画线处缺失的部分补充完整。 #include iostream using namespace std; class MyClass public: void Print() const cout 23; ; int
18、 main() MyClass* p = new MyClass(); U 【9】 /U.Print(); return 0; (分数:2.00)填空项 1:_45.有如下程序: #include iostream using namespace std; class A public: A() cout “A“; A() cout “A“; ; class B A a; public: B() cout “B“; B() cout “B“; ; int main() B b; return 0; 程序的输出结果是U 【10】 /U。(分数:2.00)填空项 1:_46.请在如下程序中的空格处
19、填写正确的语句: #include iostream using namespace std; class Base public: void fun() cout“Base fun“endl; ; class Derived: public Base public: void fun() U 【11】 /U; /调用基类的函数 fun() cout“Derived fun “endl; ;(分数:2.00)填空项 1:_47.已知类 sample是一个抽象类,其成员函数 display是无形参、无返回类型的纯虚函数,请完成其声明:class sample public: sample() ;
20、 U 【12】 /U ;(分数:2.00)填空项 1:_48.有如下复数类的声明,请补充完整。 class complex double real; /实部 double imag; /虚部 public: complex(double x,double y) real=x; imag=y; complex operator +(complex c) /重载加法运算符“+“ return complex(U 【13】 /U); ;(分数:2.00)填空项 1:_49.请将如下程序补充完整,使得输出结果为:bbaa #include iostream using namespace std; c
21、lass A public: U 【14】 /Ucout “aa“; ; class B: public A public: B() cout “bb“; ; int main () B *p= new B; delete p; return 0; (分数:2.00)填空项 1:_50.请将下列栈类 Stack补充完整 class Stack private: int pList100; /int 数组,用于存放栈的元素 int top; /栈顶元素(数组下标) public: Stack():top(0) void Push(const int class MyClass public: M
22、yClass() +count; MyClass() -count; static int getCount() return count; private: 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.121 B.232C.221D.122解
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 2007 答案 解析 DOC
