【计算机类职业资格】二级C++-182及答案解析.doc
《【计算机类职业资格】二级C++-182及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-182及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-182 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.软件是指_。(分数:2.50)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合2.软件调试的目的是_。(分数:2.50)A.发现错误B.改正错误C.改善软件的性能D.验证软件的正确性3.在面向对象方法中,实现信息隐蔽是依靠_。(分数:2.50)A.对象的继承B.对象的多态C.对象的封装D.对象的分类4.下列叙述中,不符合良好程序设计风格要求的是_。(分数:2.50)A.程序的效率第一,清晰第二B.程序的可读性好C.程序中要有必要的注释D.输入数据
2、前要有提示信息5.下列叙述中正确的是_。(分数:2.50)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对6.下列叙述中正确的是_。(分数:2.50)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对7.冒泡排序在最坏情况下的比较次数是_。(分数:2.50)A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/28.一棵二叉树
3、中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为_。(分数:2.50)A.219B.221C.229D.2319.下列叙述中正确的是_。(分数:2.50)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题C.数据库管理系统就是数据库系统D.以上三种说法都不对10.下列叙述中正确的是_。(分数:2.50)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表11.在函数中,可以用 auto、extern、
4、register 和 static 这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是_。(分数:2.50)A.autoB.externC.registerD.static12.对于一个类定义,下列叙述中错误的是_。(分数:2.50)A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B.如果没有定义默认的构造函数,编译器将一定生成一个默认的构造函数C.如果没有定义构造函数,编译器将生成一个默认的构造函数和一个拷贝构造函数D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数13.如果派生类以 protected 方式继承基类,则原丛类的 pr
5、otected 成员和 public 成员在派生类中的访问属性分别是_。(分数:2.50)A.public 和 publicB.public 和 protectedC.protected 和 publicD.protected 和 protected14.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是_。(分数:2.50)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber, FunNumber);15.C+中的模板包括_。
6、(分数:2.50)A.对象模板和函数模板B.对象模板和类模板C.函数模板和类模板D.变量模板和对象模板16.如果利用 C+流进行输入/输出,下面的叙述中正确的是_。(分数:2.50)A.只能借助于流对象进行输入/输出B.只能进行格式化输入/输出C.只能借助于 cin 和 cout 进行输入/输出D.只能使用运算符和进行输入/输出17.下列符号中不属于 C+关键字的是_。(分数:2.50)A.friendB.namespaceC.continueD.byte18.下列各组类型声明符中,含义相同的一组是_。(分数:2.50)A.unsigned long int 和 longB.signed sh
7、ort int 和 shortC.unsigned short 和 shortD.short int 和 int19.必须用一对大括号括起来的程序段是_。(分数:2.50)A.switch 语句中的 case 标号语句B.if 语句的分支C.循环语句的循环体D.函数的函数体20.语句 int*p=定义了指针 p,与这个语句等效的语句序列是_。(分数:2.50)A.int *p; p=B.int *p; p=k;C.int *p; *p=D.int *p; *p=k21.关于函数重载,下列叙述中错误的是_。(分数:2.50)A.重载函数的函数名必须相同B.重载函数必须在参数个数或类型上有所不同C
8、.重载函数的返回值类型必须相同D.重载函数的函数体可以有所不同22.有如下头文件: int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this 指针的是_。(分数:2.50)Af1Bf2Cf3Df423.派生类的成员函数不能访问基类的_。(分数:2.50)A.公有成员和保护成员B.公有成员C.私有成员D.保护成员24.下列关于运算符重载的描述中,正确的是_。(分数:2.50)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重
9、载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符25.下列关于类模板的模板参数的叙述中,错误的是_。(分数:2.50)A.模板参数可以作为数据成员的类型B.模板参数可以作为成员函数的返回类型C.模板参数可以作为成员函数的参数类型D.模板参数不能作为成员函数的局部变量的类型26.已知一程序运行后执行的第一个输山操作是_。 coutsetw(10)setfill(“*“)1234; 则此操作的输出结果是(分数:2.50)A.1234B.*1234C.*1234D.1234*27.有如下程序: #includeiostream using namespace st
10、d; 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(); MyClass *ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是_。(分数:2.50
11、)A.121B.232C.221D.12228.有如下程序: #includeiostream using namespace std; class MyClass public: Myclass(int x):val(x) void Print()constcout“const:val=“val“/t“; void Print()cout“val=“val“t“; private: int val; ; int main() const MyClass obj1(10); Myclass obj2(20); obj1.Print(); obj2.Print(); return 0; 程序的输
12、出结果是_。(分数:2.50)A.val=10 const:val=20B.const:val=10 const:val=20C.const:val=10 val=20D.val=10 val=2029.有如下程序: #includeiostream using namespace std; class Part public: Part(int x=0):val(x)coutval; Part()coutval; private: int val; ; class Whole public: Whole(int x, int y, int z=0):p2(x), p1(y), val(z)c
13、outval; Whole()coutval; private: Part p1, p2; int val; ; int main() Whole obj(1, 2, 3); return 0; 程序的输出结果是_。(分数:2.50)A.123321B.213312C.213D.12312330.有如下程序: #includeiostream using namespace std; class Base public: Base(int x=0)(coutx; ; class Derived:public Base public: Derived(int x=0)coutx; private
14、: Base val; ; int main() Derived d(1); return 0; 程序的输出结果是_。(分数:2.50)A.0B.1C.01D.00131.若有如下类定义: class B void fun1() protected: double varl; public: void fun2() ; class D:public B protected: void fun3() ; 已知 obj 是类 D 的对象,下列句中不违反类成员访问控制权限的是_。(分数:2.50)A.obj.fun1();B.obj.varl;C.obj.fun2();D.obj.fun3();32
15、.有如下程序; #includeiostream using namespace std; class Base public: void output()cout1; virtual void Print()cout“B“; ; class Derived:public Base public: void output()cout2; void Print()cout“D“; ; int main() Base *ptr=new Derived; ptr-output(); ptr-Print(); delete ptr; return 0; 程序的输出结果是_。(分数:2.50)A.1BB
16、.1DC.2BD.2D33.下列是重载乘法运算符的函数原型声明,其中错误的是_。(分数:2.50)A.MyClass operator*(double, double);B.MyClass operator*(double, MyClass);C.MyClass operator*(MyClass, double);D.MyClass operator*(MyClass, MyClass);34.如下函数的作用是以双倍行距输出文件: void double_space(ifstream whilc _ _; if(c=“n“)t.put(c); 画线处缺失的部分是_。(分数:2.50)A.ge
17、t(c)与 t.put(c)B.put(c)与 t.get(c)C.get(c)与 f.put(c)D.put(c)与 f.get(c)35.有如下程序; #includeiostream using namespace std; class B public: virtual void show()cout“B“; ; class D:public B public: void show()cout“D“; ; void fun1(B *ptr)ptr-show(); void fun2(B void fun3(B b)b.show(); int main() B b, *p=new D;
18、D d; fun1(p); fun2(b); fun3(d); return 0; 程序的输出结果是_。(分数:2.50)A.BBBB.BBDC.DBBD.DBD36.下列各组类型声明中,含义相同的一组是_。(分数:2.50)A.unsigned long int 和 longB.signed short int 和 shortC.unsigned short 和 shortD.short int 和 int37.下列语句输出字符“*”的个数为_。 int i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98B.99C.100D.1
19、0138.下面程序的输出结果是_。 int x=5; do cout-x; while(!x);(分数:2.50)A.43210B.5C.4D.无任何输出39.要定义一个具有 5 个元素的一维数组 vect,并使其各元素的初值依次为 30, 50, -88, 0 和 0,则下列定义语句中错误的是_。(分数:2.50)A.inl vect=30, 50, -88);B.int vect=30, 50, -88, 0, 0;C.int vect5=30, 50, -88;D.int vect5=30, 50, -88, 0, 0;40.有如下说明: int a10=1, 2, 3, 4, 5, 6
20、, 7, 8, 9, 10, *p=a; 则数值 9 的表达式是_。(分数:2.50)A.*p+9;B.*(p+8);C.*p+=9;D.p+7;二级 C+-182 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.软件是指_。(分数:2.50)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合 解析:解析 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。可见软件由两大部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护和使用等有关的文档。2.软件调试
21、的目的是_。(分数:2.50)A.发现错误B.改正错误 C.改善软件的性能D.验证软件的正确性解析:解析 软件测试的目的是为了发现程序中的错误,而程序调试的任务是诊断和改正程序中的错误,改正以后还需要再测试。3.在面向对象方法中,实现信息隐蔽是依靠_。(分数:2.50)A.对象的继承B.对象的多态C.对象的封装 D.对象的分类解析:解析 对象的继承是指使用已有的类定义作为基础建立新类的定义;多态是指在类中可以定义名称相同的函数,但是这些函数的参数或者返回值的类型不同;封装是指将对象分为内部实现和外部接口两个部分,对象的内部对外是不可见的,从而实现信息隐蔽;分类是指将具有相同属性和操作的对象抽象
22、成类。4.下列叙述中,不符合良好程序设计风格要求的是_。(分数:2.50)A.程序的效率第一,清晰第二 B.程序的可读性好C.程序中要有必要的注释D.输入数据前要有提示信息解析:解析 著名的“清晰第一,效率第二”的论点已经成为当今主导的程序设计风格,所以选项 A 是错误的,其他选项都是良好程序设计风格的要求。5.下列叙述中正确的是_。(分数:2.50)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对解析:解析 计算机中的数据进行处理时,数据的存储结构对程序的执行效率有很大的关系,例如,在有序存储的
23、表中查找某个数值比在无序存储的表中查找的效率高很多。6.下列叙述中正确的是_。(分数:2.50)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构。数组是数据的逻辑结构,可以用多种存储结构来表示,因此选项 B、C 错误。7.冒泡排序在最坏情况下的比较次数是_。(分数:2.50)A.n(n+1)/2B.nlog2nC.n(n-1)/2 D.n/2解析:解析 如果
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C182 答案 解析 DOC
