【计算机类职业资格】二级C++笔试21及答案解析.doc

上传人:dealItalian200 文档编号:1324710 上传时间:2019-10-17 格式:DOC 页数:14 大小:80.50KB
下载 相关 举报
【计算机类职业资格】二级C++笔试21及答案解析.doc_第1页
第1页 / 共14页
【计算机类职业资格】二级C++笔试21及答案解析.doc_第2页
第2页 / 共14页
【计算机类职业资格】二级C++笔试21及答案解析.doc_第3页
第3页 / 共14页
【计算机类职业资格】二级C++笔试21及答案解析.doc_第4页
第4页 / 共14页
【计算机类职业资格】二级C++笔试21及答案解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、二级 C+笔试 21 及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列运算符中哪些是不能够被重载的?(分数:2.00)A,.*,-*,:,?:B.+,-,new,delete,=C.sizeof,new,delete,+,-D.sizeof,new,delete,+,-2.下列关于函数模板实参不能省略的情况说明不正确的是(分数:2.00)A.从模板函数实参表获得的信息有矛盾B.需要获得特定类型的返回值,而不管参数的类型如何C.虚拟类型参数没有出现在模板函数的形参表中D.函数模板不含有常规形参3.下列关于运算符重载不正确的是(分数:2

2、.00)A.运算符重载不能改变运算符的操作数个数B.运算符重载不能改变运算符的优先级C.运算符重载不能改变运算符的结合性D.运算符重载能改变对预定义类型数据的操作方式4.以下类定义中可能会引起错误的语句是 class A public: A( ) /1 int i; /2 private: int j; /3 A(int i)i+; /4 ;(分数:2.00)A.1B.2C.3D.45.以下函数调用语句中含有参数的个数是 excc(v1,v2),(v2,v3,v4),v6);(分数:2.00)A.3B.4C.5D.66.下列程序的输出结果是 #includeiostream.h void ma

3、in( ) char*str=“12123434“; int xl=0,x2=0,x3=0,x4=0,i; for(i=0;stri!=/0;i+) switch(stri) case1:x4+; case2:x3+; case3:x2+; case4:x1+; coutx1“,“x2“,“x3“,“x4; (分数:2.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,27.下列叙述中,不属于测试的特征的是(分数:2.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性D.测试的经济性8.需求分析中开发入员要从用户那里了解(分数:2.00)A.软件做什么B.用

4、户使用界面C.输入的信息D.软件的规模9.若有语句 int*point,a=4;和 point=b+; cout“a=“a“,“b=“b; 该程序的输出结果是(分数:2.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=225.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D.并26.以下关于 C+语言类的说法中正确的是(分数:2.00)A.C+语言的默认访问权限是 privateB.c+语言中的类定义,用户一定要自己定义一个构造函数用于实例化类C.c+语言中的成员函数的实现部分一定要写在类定义外

5、D.C+语言中的类不能够嵌套定义27.程序的 3 种基本控制结构是(分数:2.00)A.过程、子过程和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移28.设有下列二叉树: (分数:2.00)A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY29.下列选项中不全是 c+语言关键字的是(分数:2.00)A.const,break,defaultB.long,void,usingC.virtual,extern,includeD.try,throw,this30.若有说明 int a34;,则 a 数组元素的非法引用是(分数:2.00)A.a02*1

6、)B.a13C.a4-2D.a04)31.有如下程序 #includeiostream.h void main( ) float x=2.O,y; if(xO.0)y=0.0; else if(x10.O)y=1.0/x; else y=1.0; couty; 该程序的输出结果是(分数:2.00)A.0B.0.25C.0.5D.1.032.下列描述中错误的是(分数:2.00)A.派生类可以作为基类派生其他的子类B.派生类继承基类的所有数据成员C.派生类可以有多个基类D.派生类不能继承一些函数成员33.有以下程序 #include“iostream.h“ void main( ) int i=1

7、,j=1,k=2; if(j+|k+) /3 A(int i)i+; /4 ;(分数:2.00)A.1B.2C.3D.4 解析:命题目的 考查关于 C+语言类的定义方法。 解题要点 在 c+语言中类定义中的构造函数是私有的,但是其却调用了其中的公有变量,在实例化时会出现错误。 考点链接 c+语言类的定义5.以下函数调用语句中含有参数的个数是 excc(v1,v2),(v2,v3,v4),v6);(分数:2.00)A.3 B.4C.5D.6解析:命题目的 函数的参数设置问题。 解题要点 函数的参数个数是以第一层的逗号为区分的,本题中调用语句中有 3 个参数。6.下列程序的输出结果是 #inclu

8、deiostream.h void main( ) char*str=“12123434“; int xl=0,x2=0,x3=0,x4=0,i; for(i=0;stri!=/0;i+) switch(stri) case1:x4+; case2:x3+; case3:x2+; case4:x1+; coutx1“,“x2“,“x3“,“x4; (分数:2.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,2 解析:命题目的 for 和 switch 语句的应用。 解题要点 本题考查循环的嵌套。只要注意在 C+语言中,系统在字符指针的最后位置会增加一个字符串结束符/

9、0,执行 8 次 for 循环,再根据 switch 语句中的条件易知答案。 考点链接 c+中各种条件判断,循环语句的用法。7.下列叙述中,不属于测试的特征的是(分数:2.00)A.测试的挑剔性B.完全测试的不可能性C.测试的可靠性 D.测试的经济性解析:命题目的 本题考查了软件测试的主要特征。 解题要点 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有 3 个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中没有测试的可靠性这一说法。 考点链接 软件测试与软件调试的概念,以及相应的方法。8.需求分析中开发入员要从用户那里了解(分数

10、:2.00)A.软件做什么 B.用户使用界面C.输入的信息D.软件的规模解析:命题目的 考查需求分析的作用。 解题要点 需求分析是软件定义时期的最后一个阶段,它的基本任务就是准确回答“系统必须做什么”这个问题即软件系统功能,需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。9.若有语句 int*point,a=4;和 point=b+; cout“a=“a“,“b=“b; 该程序的输出结果是(分数:2.00)A.a=2,b=1 B.a=1,b=1C.a=1,b=0D.a=2,b=2解析:命题目的 关于 switch

11、 语句的考查。 解题要点 该题目的关键是要搞清楚该程序执行了哪几条语句。由于 x 的值等于 1,所以 switch 结构中,程序从 case1 后面的语句开始执行,又因为 casel 后面的语句没有以 break 结束,所以程序要继续往下执行 case 2 后面的语句。所以,该程序共执行了这三条语句:a+;a+;b+;,因此,变量 a 和 b 最后的值应该为 2 和 1。 考点链接 break 语句可以结束switch 语句。25.下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接 C.投影D.并解析:命题目的 本题考查了专门的关系运

12、算的类型及其相关知识点。 解题要点 关系代数中包括传统的集合运算和专门的关系运算。经过选择或投影运算得到的新关系的属性个数最多不会超过原关系中的属性个数。经过连接运算得到的新关系最多不少于原关系中属性的个数。26.以下关于 C+语言类的说法中正确的是(分数:2.00)A.C+语言的默认访问权限是 private B.c+语言中的类定义,用户一定要自己定义一个构造函数用于实例化类C.c+语言中的成员函数的实现部分一定要写在类定义外D.C+语言中的类不能够嵌套定义解析:命题目的 考查 c+语言中类定义和它的概念。 解题要点 c+语言的默认访问权限修饰符是 private。 错解分析 c+语言中的构

13、造函数是系统默认就有的,用户可以自己定义也可以不定义,故选项 B 错误;c+语言的类是可以嵌套定义的,故选项 D 错误; c+语言中成员函数的实现部分也可以写在类定义内,故选项 C 错误。 考点链接 函数不能嵌套定义。27.程序的 3 种基本控制结构是(分数:2.00)A.过程、子过程和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:命题目的 本题考查基本的程序控制结构。 解题要点 采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护,它包括 3 种基本控制结构,分别是顺序结构、选择结构和重复结构(又称循环结构)。 考点链接 控制程序结构的方法和作用

14、。28.设有下列二叉树: (分数:2.00)A.ZBTYCPXAB.ATBZXCYP C.ZBTACYXPD.ATBZXCPY解析:命题目的 本题考查二叉树的遍历。 解题要点 所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树与遍历右子树这 3 者中,首先访问根结点,然后遍历左子树,最后遍历右子树,并且,在遍历左右子树时,上述规则同样适用,即“根-左-右”。故该二叉树的前序遍历结果为“ATBZXCYP”。 考点链接 对于本题,若使用后序遍历和中序遍历的结果分别为“ZBTYCPXA“和“TZBACYXP“。29.下列选项中不全是 c+语言关键字的是(分数:2.00)A.const,bre

15、ak,defaultB.long,void,usingC.virtual,extern,include D.try,throw,this解析:命题目的 考查 C+语言的关键字。 解题要点 要熟练掌握 C+语言中的关键字。 错解分析 include 不是 C+语言的关键字。 考点链接 define 也不是关键字30.若有说明 int a34;,则 a 数组元素的非法引用是(分数:2.00)A.a02*1)B.a13C.a4-2D.a04) 解析:命题目的 数组的定义范围。 解题要点 本题定义 a 为 3 行 x4 列的数组,它可用的行下标最大为 2,列下标最大为 3。 错解分析 a0)4超过了数

16、组的范围。 考点链接 数组的下标是从 0 开始的。31.有如下程序 #includeiostream.h void main( ) float x=2.O,y; if(xO.0)y=0.0; else if(x10.O)y=1.0/x; else y=1.0; couty; 该程序的输出结果是(分数:2.00)A.0B.0.25C.0.5 D.1.0解析:命题目的 本题考查 if 语句的使用方法。 解题要点 该表达式的语句是 if(表达式 1) 语句 1 else if(表达式 2) 语句 2 else if(表达式 3) 语句 3 else 语句 4 由 if 表达式可知,题中直接执行 if

17、 语句的第 2 条 else if(x10.0)y=1.O/x;。 考点链接 else 总是与最近的没有匹配的 if 匹配。32.下列描述中错误的是(分数:2.00)A.派生类可以作为基类派生其他的子类B.派生类继承基类的所有数据成员 C.派生类可以有多个基类D.派生类不能继承一些函数成员解析:命题目的 关于 C+语言继承问题的考查。 解题要点 c+语言中通常有 3 种继承修饰符 public,protected 和 private,限制依次严格,另外对类中的数据和函数也有这 3 种修饰符进行限制。一个派生类能不能继承基类的所有数据成员受它们的限制。 考点链接 c+语言中继承关系的修饰符pub

18、 Iic,protected 和 private 的运用。33.有以下程序 #include“iostream.h“ void main( ) int i=1,j=1,k=2; if(j+|k+)&i+) couti“,“j“,“k; coutendl; 执行后输出结果是(分数:2.00)A.1,1,2B.2,2,lC.2,2,2 D.2,2,3解析:命题目的 考查 C+语言中“|”和“&”运算符。 解题要点 该题目的关键是要搞清楚“|”和“&”两个逻辑运算符的运算功能。运算符“|”和“&”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真时,才需要判别后面的值。只要前

19、面运算量为假,就不必判别后的值。而逻辑或则为只要前面的运算量为真,就不必判别后的值;只有前为假,才判别后。本题中j+值为真,不进行 k+的运算,所以 k 的值保持不变。 考点链接 注意按位与和按位或的用法。34.若调用一个函数,且此函数中没有 return 语句,则正确的说法是该函数(分数:2.00)A.没有返回值B.返回若干个系统默认值C.有返回值,但返回一个不确定的值 D.能返回一个用户所希望的函数值解析:命题目的 return 语句的意义和用法。 解题要点 在 c+语言函数调用中,如果被调用函数中没有 return 语句,并不带回一个确定的、用户所希望得到的函数值,而是带回的是一个不确定

20、的值。 考点链接 为了明确表示“不带回值”,可以用 void 定义无类型(或称空类型),这时,系统就保证不使函数带回任何值。35.结构化程序设计主要强调的是(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:命题目的 本题考查考生的结构化程序设计的思想。 考点链接 结构化的程序设计的目的。二、B填空题/B(总题数:13,分数:26.00)36.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、U 【1】 /U和选择排序等。(分数:2.00)填空项 1:_ (正确答案:交换排序)解析:命题目的 需要考生记住常见的排序方法。 解题要点 常见的排

21、序方法有插入排序(包括简单插入排序法和希尔排序法等)、交换排序(包括冒泡排序和快速排序法等)和选择排序(包括简单选择排序和堆排序等)。 考点链接 常见的排序方法及其作用机制和区别。37.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为U 【2】 /U。(分数:2.00)填空项 1:_ (正确答案:上溢)解析:命题目的 本题考查了队列的基本性质。 解题要点 入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先将队尾指针进一(即 rear=rear+l),并当 rear=m+1 时置 rear =1;然后将新元素插入队尾指针指向的位置。当

22、循环队列非空(s=1)时且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为“上溢”。38.U【3】 /U是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。(分数:2.00)填空项 1:_ (正确答案:封装)解析:命题目的 本题考查了面向对象技术中的一些基本概念。 解题要点 面向对象技术中包括以下几个基本概念,即对象、类、方法、消息、继承和封装,其中封装是一种信息隐蔽技术,目的在于将对象的使用者对象的和设计者分开。39.为了便于对照检查,测试用例应由输入数据和预期的U 【4】 /U两部分组成。(分数:2.00)填空项 1:_ (正确答案:输出结果)解析:命题目

23、的 本题主要考查测试的步骤。 考点链接 测试的基本方法和步骤。40.U【5】 /U是从二维表列的方向进行的运算。(分数:2.00)填空项 1:_ (正确答案:关系运算)解析:命题目的 本题考查了关系运算的基本知识。 解题要点 在关系模型的数据语言中,一般除了运用常规的集合运算,(并、交、差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的;后者主要是从二维表的列的方向来进行的运算。两者统称为关系代数。41.内联函数是通过U 【6】 /U来实现的,因此内联函数是真正的函数。(分数:2.00)填空项

24、 1:_ (正确答案:编译器)解析:命题目的 考查内联函数的基本概念 解题要点 内联函数是通过编译器,只是在调用的时候,像宏一样展开。 考点链接 内联函数比普通函数的效率更高。42.以下程序的输出结果是U 【7】 /U。 #includeiostream.h void main( ) int a=0; a+=(a=8) ; couta; (分数:2.00)填空项 1:_ (正确答案:16)解析:命题目的 考查 C+赋值表达式的运用。 解题要点 赋值表达式的值就是所赋值变量的值,本题中 a+=8 相当于 a=a+8,对表达式逐步进行求解: a+=(a=8)此时,a 的值由于赋值为 8,而不是 o

25、 a+=8 a=a+8 a=16 考点链接 要掌握“+=”等相关运算符的用法。43.以下程序的执行结果为U 【8】 /U。 #includeiostream using namespace std; class base public: virtual void who( ) cout“base class“endl; ; class derivel:public base public: void who( ) cout“derivel class“endl; ; class derive2:public base public: void who( ) cout“derive2 class

26、“endl; ; void main( ) base objl,*p; derivel obj2; derive2 obj3; P=&objl; p-who( ); p=&obj2; p-who( ); p=&obj3; p-who( ); (分数:2.00)填空项 1:_ (正确答案:base class)解析:derivel class derive2 class 命题目的 考查虚函数的用法。 解题要点 类 base 含有虚函数who(),该类派生出 derivel 类和 derive2 类,两个派生类中都有虚函数 who()的定义。在 main()函数中定义了一个指向 base 类的指针

27、,它也被允许指向其派生类。在执行过程中,不断改变它所指的对象,当P-who()时就能调用不同的版本。这是因为使用了虚函数,因而进行动态联编。 考点链接 应掌握静态联编的使用方法。44.如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的U 【9】 /U函数。(分数:2.00)填空项 1:_ (正确答案:内联)解析:命题目的 注意内联函数与宏定义的区别。 解题要点 c+中的成员函数如果它的实现写在了类中,那么该函数就是一个内联函数。 考点链接 c+中内联函数的相关概念。45.为解决在多重继承环境中因公共基类带来的U 【10】 /U问题,c+语言提供了虚基类机制。(分数:2.00)

28、填空项 1:_ (正确答案:二义性)解析:命题目的 关于 C+中虚基类的作用。 解题要点 C+中产生虚基类的作用就是为了解决继承中的二义性问题,通过虚基类继承可以把父基类中相同的函数只编译一次。46.operator 是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为U 【11】 /U的。(分数:2.00)填空项 1:_ (正确答案:public)解析:命题目的 考查 C+中运算符重载的固定格式和要求。 解题要点 C+中不论用成员函数还是友元函数重载运算符都必须用关键字 operator,都必须将函数声明为公有的。 考点链接 operat

29、or 是关键字。47.U【12】 /U是一系列相关函数的模型或样板,这些函数的U 【13】 /U形式相同,只是所针对的U 【14】 /U不同。(分数:2.00)填空项 1:_ (正确答案:12函数模板)解析:13源代码 14数据类型 命题目的 C +中函数模板的定义。 解题要点 函数模板是一系列相关函数的模型或样板,这些函数的源代码形式相同,只是所针对的数据类型不同。 考点链接 声明一个函数的模板格式是:template 模板形参表声明函数声明48.我们通常用到的 cin,是属于U 【15】 /U输入。(分数:2.00)填空项 1:_ (正确答案:有格式)解析:命题目的 考查关于输入输出的概念。 解题要点 C+中运算符“”和“”都是属于有格式的输入输出。 考点链接 使用 cin,cout 进行输入输出时应包括头文件“iostream.h。

展开阅读全文
相关资源
猜你喜欢
  • GOST R 55024-2012 Geodetic networks Classification General technical requirements《大地网络 分类 通用要求》.pdf GOST R 55024-2012 Geodetic networks Classification General technical requirements《大地网络 分类 通用要求》.pdf
  • GOST R 55025-2012 Power cables with plastic insulation for rated voltages from 6 up to and including 35 kV General specifications《额定电压大于6 kV且小于等于35 kV的塑料绝缘电力电缆 通用规范》.pdf GOST R 55025-2012 Power cables with plastic insulation for rated voltages from 6 up to and including 35 kV General specifications《额定电压大于6 kV且小于等于35 kV的塑料绝缘电力电缆 通用规范》.pdf
  • GOST R 55026-2012 Design of fans working in potentially explosive atmospheres《工作在潜在爆炸大气环境中电扇的设计》.pdf GOST R 55026-2012 Design of fans working in potentially explosive atmospheres《工作在潜在爆炸大气环境中电扇的设计》.pdf
  • GOST R 55027-2012 Microbiology of food and animal feeding stuffs Horizontal method for detection and enumeration of Campylobacter spp Part 3 Semi-quantitative method《食品和动物饲料的微生物学 弯.pdf GOST R 55027-2012 Microbiology of food and animal feeding stuffs Horizontal method for detection and enumeration of Campylobacter spp Part 3 Semi-quantitative method《食品和动物饲料的微生物学 弯.pdf
  • GOST R 55028-2012 Public roads and highways Geosynthetic for road construction Classification terms and definitions《公共道路和高速公路 道路施工用地工织物 分类 术语和定义》.pdf GOST R 55028-2012 Public roads and highways Geosynthetic for road construction Classification terms and definitions《公共道路和高速公路 道路施工用地工织物 分类 术语和定义》.pdf
  • GOST R 55029-2012 Public roads and highways Geosynthetic for reinforcement of asphalt layers of road pavement Technical requirements《公共道路和高速公路 加固沥青路面层的地工织物 规范》.pdf GOST R 55029-2012 Public roads and highways Geosynthetic for reinforcement of asphalt layers of road pavement Technical requirements《公共道路和高速公路 加固沥青路面层的地工织物 规范》.pdf
  • GOST R 55030-2012 Public roads and highways Geosynthetic for road construction Test method for tensile strength《公共道路和高速公路 道路施工用地工织物 抗拉强度的试验方法》.pdf GOST R 55030-2012 Public roads and highways Geosynthetic for road construction Test method for tensile strength《公共道路和高速公路 道路施工用地工织物 抗拉强度的试验方法》.pdf
  • GOST R 55031-2012 Public roads and highways Geosynthetic for road construction Test method for determination of stability to ultra-violet radiation《公共道路和高速公路 道路施工用地工织物 测定紫外辐射稳定性的试验.pdf GOST R 55031-2012 Public roads and highways Geosynthetic for road construction Test method for determination of stability to ultra-violet radiation《公共道路和高速公路 道路施工用地工织物 测定紫外辐射稳定性的试验.pdf
  • GOST R 55032-2012 Public roads and highways Geosynthetic for road construction Test method for determination of repeated freeze-thaw stability《公共道路和高速公路 道路施工用地工织物 测定反复冻融稳定性的试验方法》.pdf GOST R 55032-2012 Public roads and highways Geosynthetic for road construction Test method for determination of repeated freeze-thaw stability《公共道路和高速公路 道路施工用地工织物 测定反复冻融稳定性的试验方法》.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1