【计算机类职业资格】二级C++笔试-445及答案解析.doc
《【计算机类职业资格】二级C++笔试-445及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-445及答案解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-445 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。A) 12345ABCDE B) EDCBA54321C) ABCDE12345 D) 54321EDCBA(分数:1.00)A.B.C.D.2.下列叙述中正确的是( )。A) 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B) 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C) 在循环队列中,只需要队尾指针就能反映队列中元
2、素的动态变化情况D) 循环队列中元素的个数是由队头指针和队尾指针共同决定(分数:1.00)A.B.C.D.3.在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。A) 0(n) B) 0(2) C) 0(log2n) C) 0(nlog2n)(分数:1.00)A.B.C.D.4.下列叙述中正确的是( )。A) 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B) 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C) 顺序存储结构能存储有序表,链式存储结构不能存储有序表D) 链式存储结构比顺序存储结构节省存储空间(分数:1.00)A.B.C.D
3、.5.数据流图中带有箭头的线段表示的是( )。A) 控制流 B) 事件驱动 C) 模块调用 D) 数据流(分数:1.00)A.B.C.D.6.在软件开发中,需求分析阶段可以使用的工具是( )。A) N-S 图 B) DFD 图 C) PAD 图 D) 程序流程图(分数:1.00)A.B.C.D.7.在面向对象方法中,不属于“对象”基本特点的是( )。A) 一致性 B) 分类性 C) 多态性 D) 标识唯一性(分数:1.00)A.B.C.D.8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。A) 一对一 B) 一对多 C) 多对一 D) 多对多(分数:1.00)A.B.C.D.9.在
4、数据管理技术发展的三个阶段中,数据共享最好的是( )。A) 人工管理阶段 B) 文件系统阶段C) 数据库系统阶段 D) 三个阶段相同(分数:1.00)A.B.C.D.10.有三个关系 R、S 和 T 如下:(分数:1.00)A.B.C.D.11.下列语句中,错误的是( )。A) const int buffer = 256 ; B) const double * point ;C) int const buffer =256; D) double * const point;(分数:1.00)A.B.C.D.12.if 语句的语法格式可描述为:格式 1:if(条件)语句或格式 2:if(条件)
5、语句 1else 语句 2关于上面的语法格式,下列表述中错误的是( )。A) 条件部分可以是一个 if 语句,例如 if(if(a=0)B) 语句部分可以是一个 if 语句,例如 if()if()C) 如果在条件前加上逻辑非运算符! 并交换语句 1和语句 2的位置,语句功能不变D) 语句部分可以是一个循环语句,例如 if()while()(分数:1.00)A.B.C.D.13.有如下说明:int a10 = 1,2,3,4,5,6,7,8,9,10, *p=a;则数值为 9 的表达式是( )。A) *p+9 B) *(p+8) C) *p+=9 D) p+8(分数:1.00)A.B.C.D.1
6、4.有如下程序段:int i = 0,j = 1;int /r = j; /int *p = /* p = /A) B) C) D) (分数:1.00)A.B.C.D.15.下列字符串中,不可以用做 C+标识符的是( )。A) y_2006 B) _TEST_H C) Retur_n D) switch(分数:1.00)A.B.C.D.16.为了取代 C 中带参数的宏,在 C+中使用( )。A) 重载函数 B) 内联函数 C) 递归函数 D) 友元函数(分数:1.00)A.B.C.D.17.通过运算符重载,可以改变运算符原有的( )。A) 操作数类型 B) 操作数个数 C) 优先级 D) 结合
7、性(分数:1.00)A.B.C.D.18.在函数中,可以用 auto、extern、register 和 static 这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。A) auto B) extern C) register D) static(分数:1.00)A.B.C.D.19.下列运算符函数中肯定不属于类 FunNumber 的成员函数的是( )。A) int operator-(FunNumber); B) FunNumber operator-();C) FunNumber operator-(int); D) int operator-(F
8、unNumber, FunNumber);(分数:1.00)A.B.C.D.20.若有下面的函数调用:fun(a+b, 3, max(n-1, b)则 fun 的实参个数是( )。A) 3 B) 4 C) 5 D) 6(分数:1.00)A.B.C.D.21.关于运算符重载,下列表述中正确的是( )。A) C+已有的任何运算符都可以重载B) 运算符函数的返回类型不能声明为基本数据类型C) 在类型转换符函数的定义中不需要声叫返回类型D) 可以通过运算符重载来创建 C+中原来没有的运算符(分数:1.00)A.B.C.D.22.有如下程序:#includeiostreamusing namespace
9、 std;int main()void function( double val) ;double val;function(val) ;cout val ;return 0 ;void function( double val)val = 3;编译运行这个程序将出现的情况是( )。A) 编译出错,无法运行 B) 输出:3C) 输出:3.0 D) 输出一个不确定的数(分数:1.00)A.B.C.D.23.下列情况中,不会调用拷贝构造函数的是( )。A) 用一个对象去初始化同一类的另一个新对象时B) 将类的一个对象赋值给该类的另一个对象时C) 函数的形参是类的对象,调用函数进行形参和实参结合时D
10、) 函数的返回值是类的对象,函数执行返回调用时(分数:1.00)A.B.C.D.24.以下关键字不能用来声明类的访问权限的是( )。A) public B) static C) protected D) private(分数:1.00)A.B.C.D.25.由于常对象不能被更新,因此( )。A) 通过常对象只能调用它的常成员函数B) 通过常对象只能调用静态成员函数C) 常对象的成员都是常成员D) 通过常对象可以调用任何不改变对象值的成员函数(分数:1.00)A.B.C.D.26.下列有关继承和派生的叙述中,正确的是( )。A) 如果一个派生类公有继承其基类,则该派生类对象可以访问基类的保护成员
11、B) 派生类的成员函数可以访问基类的所有成员C) 基类对象可以赋值给派生类对象D) 如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类(分数:1.00)A.B.C.D.27.在公有继承的情况下,允许派生类直接访问的基类成员包括( )。A) 公有成员 B) 公有成员和保护成员C) 公有成员、保护成员和私有成员 D) 保护成员(分数:1.00)A.B.C.D.28.有如下程序:#include iostream using namespace std;class Base public :void fun() cout “Base: :fun“ endl; ;class Derived
12、: public Base public :void fun() _cout “ Derived: :fun“ endl;int main() Derived d ;d. fun() ;return 0 ;已知其执行后的输出结果为:Base : : funDerived : : fun则程序中下划线处应填入的语句是( )。A) Base. fun(); B) Base:fun(); C) Base-fun(); D) fun();(分数:1.00)A.B.C.D.29.有如下程序:#include iostream using namespace std;class MyClass publi
13、c :MyClass() coutA; MyClass(char c) cout c; MyClass() coutB; ;int main() MyClass pl, * p2 ;p2 = new MyClass(X) ;delete p2 ;return 0 ;执行这个程序的输出结果是( )。A) ABX B) ABXB C) AXB D) AXBB(分数:1.00)A.B.C.D.30.有如下程序:#include iostream using namespace std;int i = 1 ;class Fun public :static int i;int value() retu
14、rn i - 1;int value() const return i + 1 ;int Fun: :i =2;int main() int i =3;Fun fun1 ;const Fun fun2;_return 0 ;若程序的输出结果是:123则程序中下划线处遗漏的语句是( )。A) cout fun1. value() Fun: :i fun2. value() ;B) cout Fun : : i fun1. value () fun2. value () ;C) cout fun1. value () fun2. value () Fun : : i ;D) cout fun2.
15、value() Fun: :i fun1 value() ;(分数:1.00)A.B.C.D.31.有如下程序:#include iostream using namespaee std;class Obj static int i;public :Obj() i+; -Obj() i- -; static int getVal() return i;int Obj: :i =0;void f() Obj ob2 ; cout ob2. getVal() ;int main() Obj obl ;f();Obj * ob3 = new Obj ; cout ob3 - getVal() ;de
16、lete ob3 ; cout Obj : :getVal() ;return 0 ;执行这个程序的输出结果是( )。A) 232 B) 231 C) 222 D) 221(分数:1.00)A.B.C.D.32.有如下程序:#include iostream using namespace std;class Pair int m,n;public :Pair(int j, int k):m(j), n(k) int get() return m;int get() const return m+n;int main() Pair a(3,5) ;const Pair b(3,5) ;cout
17、 a. get() b. get() ;return 0 ;执行这个程序的结果是( )。A) 33 B) 38 C) 83 D) 88(分数:1.00)A.B.C.D.33.有如下程序:#include iostream using namespace std;class Base protected :Base() coutA; Base(charc) coutc; ;class Derived: public Base public :Derived( charc ) coutc; ;int main() Derived d1(B) ;return 0 ;执行这个程序的输出结果是( )。A
18、) B B) BA C) AB D) BB(分数:1.00)A.B.C.D.34.有如下类定义:class MyBase int k ;public :MySase(int n =0):k(n) int value () const return k ; ;class MyDerived: MyBase int j ;public :MyDerived ( int i) : j (i) int getK()const return k; int getJ() const return j ; ;编译时发现有一处语法错误,对这个错误最准确的描述是( )。A) 函数 getK 试图访问基类的私有成
19、员变量 kB) 在类 MyDerived 的定义中,基类名 MvBase 前缺少关键字 public、protected 或 privateC) 类 MyDerived 缺少一个无参的构造函数D) 类 MyDerived 的构造函数没有对基类数据成员 k 进行初始化(分数:1.00)A.B.C.D.35.有如下程序:#include iostream using namespace std;class Instrument public :virtual void Display() = 0 ;class Piano : public Instrument public :void Displ
20、ay() / * 函数体略 * / ;int main() Instrument s ;Instrument * p = 0 ;/. ;return 0 ;下列叙述中正确的是( )。A) 语句“Insturment *P=0;”编译时出错 B) 语句“Instrument s;”编译时出错C) 类 Piano 中的 Display 函数不是虚函数 D) 类 Instrument 是一个虚基类(分数:1.00)A.B.C.D.36.有如下程序:#include iostream using namespace std;class A public :virtual void funcl() co
21、ut “A1“ ; voidfunc2() cout“A2“;class B : public A public :void func1 () cout “ B1“ ;void func2 () cout “B2“ ;int main() A * p = new B ;p - func1 () ;p - func2 () ;delete p ;return 0 ;执行这个程序的输出结果是( )。A) B1B2 B) A1A2 C) B1A2 D) A1B2(分数:1.00)A.B.C.D.37.关于在调用模板函数时模板实参的使用,下列表述中正确的是( )。A) 对于虚拟类型参数所对应的模板实参
22、,如果能从模板函数的实参中获得相同的信息,则都可以省略B) 对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C) 对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D) 对于常规参数所对应的模板实参,任何情况下都不能省略(分数:1.00)A.B.C.D.38.关于关键字 class 和 typename,下列表述中正确的是( )。A) 程序中的 typename 都可以替换为 classB) 程序中的 class 都可以替换为 typenameC) 在模板形参表中只能用 typename 来声明参数的类型D) 在模板形参表中只能用 class 或 typ
23、ename 来声明参数的类型(分数:1.00)A.B.C.D.39.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。A) ios_base:cur B) ios_base:beg C) ios_base:out D) ios_base:end(分数:1.00)A.B.C.D.40.下列关于 C+流的描述中,错误的是( )。A) coutA表达式可输出字符 AB) eof()函数可以检测是否到达文件尾C) 对磁盘文件进行流操作时,必须包含头文件 fstreamD) 以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件(分数:1.00)A.B.C.D.二、
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 445 答案 解析 DOC
