欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:1324519       资源大小:79KB        全文页数:22页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、二级 C+笔试-279 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.关于 const 修饰符的说法中,错误的是(分数:2.00)A.const 既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象B.若 const 修饰了一个对象,则该对象中的所有数据成员都无法被更新C.常对象无法调用一般成员函数D.常成员函数只能被常对象调用,不能被一般对象调用2.下述说法错误的是(分数:2.00)A.对象之间不可以相互赋值B.对象可以用作函数参数C.对象可以用作数组的元素D.对象可以用作另一对象的成员3.下面各项中不属于软件生存期中开发阶段的是(分

    2、数:2.00)A.需求分析B.程序设计C.概要设计D.软件测试4.用树形结构来表示实体之间联系的模型称为(分数:2.00)A.关系模型B.层次模型C.网状模型D.数据模型5.已知语句 int m=10;则下列引用的表示中正确的是(分数:2.00)A.intB.intC.intD.float6.下列能对对象进行初始化的是(分数:2.00)A.构造函数B.析构函数C.友元函数D.静态成员函数7.假定 a 为一个整型数组名,则元素 a4的字节地址为(分数:2.00)A.a+4B.a+8C.a+16D.a+328.以下的 for 循环for(x=0,y=0;(y!=123)x+);(分数:2.00)A

    3、.是无限循环B.循环次数不定C.最多执行 4 次D.最多执行 3 次9.以下不能作为输出流对象的是(分数:2.00)A.文件B.内存C.键盘D.显示器10.已知 int a,b; 用语句 scanf(“%d%d“, 输入 a,b 的值时,不能作为输入数据分隔符的是(分数:2.00)A.,B.空格C.回车D.Tab 键11.当使用 fstrearn 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int|ios:outD.没有12.与所使用的计算机无关的是数据的(分数:2.00)A.物理结构B.逻辑结构C.存储结构D.逻

    4、辑和物理结构13.以下有关类与结构体关系的叙述不正确的是(分数:2.00)A.结构体中只包含数据;类中封装了数据和操作B.结构体的成员对外界通常是开放的;类的成员可以被隐蔽C.用 struct 不能声明一个类型名;而 class 可以声明一个类名D.结构体成员默认为 public;类成员默认为 private14.以下不属于构造函数特征的是(分数:2.00)A.构造函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定函数类型15.下述各描述中不属于白盒测试法概念的是(分数:2.00)A.至少执行一次模块中的所有独立路径B.执行边界条件下的所有循环C.所有判断的每

    5、一分支至少执行一次D.执行边界条件下的所有接口16.下列数组的定义中,会产生错误的是(分数:2.00)A.int a=0,1,2,3,4,5,6);B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“;D.char a5=h,e,r,l,o;17.重载函数在调用时选择的依据中,错误的是(分数:2.00)A.函数的参数名称B.参数的类型C.函数的名字D.函数的类型18.设有如图所示的二叉树(分数:2.00)A.FCADBEGB.ACBDFGEC.ABDCGEFD.ACBDFEG19.以下叙述正确的是(分数:2.00)A.派生类中不可以定义与基类中同名的成员变量B.派

    6、生类中不可以重载成员函数C.派生类中不能调用基类中的同名函数D.以上三项均不正确20.设 A 为 test 类的对象且赋有初值,赋值符号已经重载,则语句 test B=A;表示(分数:2.00)A.语法错B.为对象 A 定义一个别名C.将对象 A 复制给对象 BD.仅说明 B 和 A 属于同一个类21.下面描述中属于软件测试目的的是(分数:2.00)A.改正程序中的错误B.发现程序中的错误C.表明程序没有错误D.验证程序的可靠性22.下列叙述中错误的是(分数:2.00)A.软件不是自然界的有形物体,是一种逻辑实体B.软件是程序、数据及相关文档的集合C.软件在运行、使用期间不存在磨损、老化问题D

    7、.软件的运行仅对计算机硬件具有依赖性23.如果一个类含有一个以上的纯虚函数,则称该类为(分数:2.00)A.虚基类B.抽象类C.派生类D.以上都不对24.语句 cout(a=2)const A ptr*=new A;则下列语句错误的是(分数:2.00)A.ptr-a=100;B.ptr=C.ptr+;D.obj2=*ptr;26.设有定义 char str80;以下不能将输入数据 first/nsecond/n 读取到数组 str中的语句是(分数:2.00)A.ein.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.ci

    8、n.read(str,strlen(str);27.以下选项中与 k=n+;完全等价的表达式是(分数:2.00)A.k=n,n=n+1;B.n=n+1,k=n;C.k=+n;D.k+=n+1;28.一个人有一个身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是(分数:2.00)A.一对一B.一对多C.多对多D.无定义29.执行 coutsetw(5)123setfill(*)16;的输出为(分数:2.00)A.*12316B.123*16C.12316D.12316*30.在多继承中,公用派生和私有派生对于基类成员在派生类中的可访问性与单继承规则(分数:2.00)

    9、A.完全相同B.完全不同C.部分相同,部分不同D.以上都不对31.将 6 个数据进行冒泡排序,在最坏情况下需要比较的次数是(分数:2.00)A.15B.5C.6D.3032.下列说法正确的是(分数:2.00)A.一个关系可以有多个候选键(码)B.一个关系只有一个候选键(码)C.一个关系所有属性是候选键(码)D.一个关系所有属性都不是候选键(码)33.对于常数据成员,下面描述正确的是(分数:2.00)A.常数据成员可以不初始化,并且不能更新B.常数据成员必须被初始化,并且不能更新C.常数据成员可以不初始化,并且可以被更新D.常数据成员必须被初始化,并且可以被更新34.设有以下类的定义:class

    10、 Exint x;public:void setx(int t=0);若在类外定义成员函数 setx( ),以下定义形式中正确的是(分数:2.00)A.void setx(int t)B.void Ex:setx(int t)C.Ex:void setx(int t)D.void Ex:setx( )35.下列各类函数中,不是类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数D.拷贝构造函数二、填空题(总题数:15,分数:30.00)36.设二叉树根结点的层次为 0,对含有 100 个结点的二叉树,可能的最大树深和最小树深分别是 1。(分数:2.00)填空项 1:_37.对

    11、象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为 1。(分数:2.00)填空项 1:_38.数据流图采用 4 种符号表示 1、数据源点和终点、数据流向和数据加工。(分数:2.00)填空项 1:_39.类通过 1 与外界发生关系。(分数:2.00)填空项 1:_40.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_41.执行”coutchar(A+2)endl;”语句后得到的输出结果为 1。(分数:2.00)填空项 1:_42.下列函数的功能是_。#inc

    12、ludeiostream.hint Func(int a,int b)if(aB)return 1;else if(a= =B)return 0;else return -1;(分数:2.00)填空项 1:_43.根据三角形的基本定理完成填空,则表达式应为_。#includeiostream.h#includemath.hvoid main( )double a,b,e,s,area;cout“请输入三角形三边 a,b,e,“endl;cinabc;if(_)s=(a+b+c)/2;area=sqrt(s*(s- a)*(s- b)*(s- c);cout“三角形的面积为:“area;else

    13、cout“不能构成三角形!“endl;(分数:2.00)填空项 1:_44.下列程序的运行结果为_。#includeiostream.hvoid main( )int i;for(i=1;i6;i+)if(i=3)break;cout“i=“iendl;(分数:2.00)填空项 1:_45.下列程序编译错误,因为 add 函数返回值是一个引用,故对 return 返回值的要求是_。#includeiostream.hintvoid main( )int i=3,j=19;cout(add(i,j)+=20)endl;(分数:2.00)填空项 1:_46.在下面的类定义中,this 指针的用途是

    14、_。#includeiostream.hclass Sampleint x,y;public:Sample(int i,int j)x=i;y=j;void assign(Sample sa);void Sample:assign(Sample p)if(this!=y=p.y;(分数:2.00)填空项 1:_47.参照函数模板的写法,完成非模板函数的定义,语句为_。#includeiostream.h#includestring.htemplateclass TT min(T a,T b)return(ab? a:b);char*rain(char*a,char*b)_void main(

    15、)double a=1.23,b=3.45;char s1=“abed“,s2=“efg“;coutmin(a,b)min(s1,s2)endl;(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#includeiostreamusing namespace std;templatetypename TT fun(T a,T b)return(a=b)? a:b;int main( )coutfun(3,6),fun(3.14F,6.28F)endl;return 0;(分数:2.00)填空项 1:_49.下列程序的运行结果为_。#includeiostream.hclass my

    16、classprivate:int a,b,c;public:void fun( )int a;a=10;this-a=5;b=6;this-c=7;cout“a=“a“, this-a=“this-aendl;void main( )myclass objl;obj1.fun( );(分数:2.00)填空项 1:_50.下列程序的运行结果是_。#includeiostream.hclass Sampleint a;public:Sample(int aa=0)a=aa;Sample( )cout“Sample=“a;class Derived:public Sampleint b;public

    17、:Derived(int aa=0,int bb=0):Sample(aa)(b=bb;Derived( )cout“Derived=“b“;void main( )Derived d1(9);(分数:2.00)填空项 1:_二级 C+笔试-279 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.关于 const 修饰符的说法中,错误的是(分数:2.00)A.const 既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象B.若 const 修饰了一个对象,则该对象中的所有数据成员都无法被更新C.常对象无法调用一般成员函数D.常成员函数只能

    18、被常对象调用,不能被一般对象调用 解析:解析 本题考察 const 修饰符的含义及其修饰不同对象的规则。常成员函数既能被常对象调用,也能被一般对象调用,一旦 const 修饰了一个对象,则对象的所有数据成员都无法更新。2.下述说法错误的是(分数:2.00)A.对象之间不可以相互赋值 B.对象可以用作函数参数C.对象可以用作数组的元素D.对象可以用作另一对象的成员解析:解析 如果重载了赋值运算符后,对象之间是可以赋值的,对象和 C+中其他内置的数据类型一样,可以作为函数参数、数组元素,其他对象的成员存在。3.下面各项中不属于软件生存期中开发阶段的是(分数:2.00)A.需求分析 B.程序设计C.

    19、概要设计D.软件测试解析:解析 在软件开发阶段中,包括系统设计(也称概要设计)、详细设计、编码和测试。系统设计的任务是划分出构成系统的各物理元素(如程序、文件、数据库、人工过程与文档等)以及设计出软件的结构(如确定模块及模块间的关系)。详细设计的任务是对系统作出精确的描述,以便在编码阶段可直接将这一描述用程序设计语言编制成程序。除了应该保证程序的可靠性外,此阶段最重要的目标是要保证将来的程序易读、易理解、易测试、易修改和易维护。因此,结构程序设计技术就成为实现上述目标的基本保证,并且也是详细设计的逻辑基础。编码是将系统设计与详细设计阶段中的结果翻译成用某种程序设计语言书写的程序。由上所述,需求

    20、分析不属于开发阶段的任务。4.用树形结构来表示实体之间联系的模型称为(分数:2.00)A.关系模型B.层次模型 C.网状模型D.数据模型解析:解析 用树形结构来表示实体之间联系的模型称为层次模型。5.已知语句 int m=10;则下列引用的表示中正确的是(分数:2.00)A.int B.intC.intD.float解析:解析 本题考察引用的定义既使用。引用是 C+中新引入的概念,其使用方法同变量,而其本质同指针,具有指针的灵活性。引用必须用变量进行赋值,不能用常量或常数。6.下列能对对象进行初始化的是(分数:2.00)A.构造函数 B.析构函数C.友元函数D.静态成员函数解析:解析 类的构造

    21、函数的作用就是初始化对象。此时,析构函数和静态成员函数都还没有建立,而友元函数是类外部的函数,根本无法完成类的实例化工作。7.假定 a 为一个整型数组名,则元素 a4的字节地址为(分数:2.00)A.a+4B.a+8C.a+16 D.a+32解析:解析 注意:VC 编译器分配给整数的内存是 4 字节。8.以下的 for 循环for(x=0,y=0;(y!=123)x+);(分数:2.00)A.是无限循环B.循环次数不定C.最多执行 4 次 D.最多执行 3 次解析:解析 本题考察 for 循环的三个表达式的用法及其执行顺序,本题中 for 循环的第三个表达式完成变量自增,以控制 for 循环的

    22、执行次数。9.以下不能作为输出流对象的是(分数:2.00)A.文件B.内存C.键盘 D.显示器解析:解析 输出流对象包括基本的输出设备,如显示器,内存和文件,而输入流对象则包括键盘,文件以及其他输入设备。10.已知 int a,b; 用语句 scanf(“%d%d“, 输入 a,b 的值时,不能作为输入数据分隔符的是(分数:2.00)A., B.空格C.回车D.Tab 键解析:解析 C+语言规定在使用 scanf 输入时可以用作数据分隔符的有空格,回车和 Tab 键。用户如果要从键盘输入空格字符,则需要使用其他的输入方式。11.当使用 fstrearn 流类定义一个流对象并打开一个磁盘文件时,

    23、文件的隐含打开方式为(分数:2.00)A.ios:inB.ios:outC.ios:int|ios:outD.没有 解析:解析 C+中没有规定文件打开时的隐含打开方式,因此考生在写程序是必须指定打开方式,否则将出现错误。12.与所使用的计算机无关的是数据的(分数:2.00)A.物理结构B.逻辑结构 C.存储结构D.逻辑和物理结构解析:解析 数据的存储结构(即物理结构)是逻辑结构在计算机中的表示,因此,数据的存储结构(即物理结构)与所使用的计算机无关。而数据的逻辑结构与计算机无关,是客观存在的。13.以下有关类与结构体关系的叙述不正确的是(分数:2.00)A.结构体中只包含数据;类中封装了数据和

    24、操作B.结构体的成员对外界通常是开放的;类的成员可以被隐蔽C.用 struct 不能声明一个类型名;而 class 可以声明一个类名 D.结构体成员默认为 public;类成员默认为 private解析:解析 可以说类来源于结构体,两者有相似之处。结构也可以声明类型名,但类的功能更强大一些,不仅增加了操作,还能够隐藏和包含其成员变量或成员函数。14.以下不属于构造函数特征的是(分数:2.00)A.构造函数名与类名相同B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数必须指定函数类型 解析:解析 构造函数和析构函数一样,是类的特殊的成员函数。其特点之一是不指定返回类型,故 D项错误。1

    25、5.下述各描述中不属于白盒测试法概念的是(分数:2.00)A.至少执行一次模块中的所有独立路径B.执行边界条件下的所有循环C.所有判断的每一分支至少执行一次D.执行边界条件下的所有接口 解析:解析 白箱测试用例的设计准则有:语句覆盖,分支覆盖,条件覆盖和组合条件覆盖。语句覆盖准则是企图用足够多的测试用例,使程序中的每个语句都执行一遍,以便尽可能多地发现程序中的错误。分支覆盖准则也称为判定覆盖准则。它要求通过足够多的测试用例,使程序中的每个分支至少通过一次。条件覆盖准则是通过执行足够多的测试用例,使每个判定中的每个条件都能取到两种不同的结果(“真”与“假”)。组合条件覆盖准则要求通过足够多的测试

    26、用例,使每个判定中各条件的各种可能组合至少出现一次。由此可知,选项 D 不属于白盒测试法概念。16.下列数组的定义中,会产生错误的是(分数:2.00)A.int a=0,1,2,3,4,5,6);B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“; D.char a5=h,e,r,l,o;解析:解析 本题考核数组的定义和初始化。下面逐项进行分析:A 选项中,数组 a 的定义和初始化符号数组的定义和初始化语法,故正确;B 选项中,数组 a 初始化的值虽然没有 10 个,但对于少的部分,系统会自动补 0,所以 B 选项中数组的定义也是正确;C 选项中,数组 a 的长

    27、度为 5,但字符串“hello“的长度为 5+1=6,字符串结束符/0无法存储在数组中,所以是错误的;D 选项中,数组 a 的定义是正确的。17.重载函数在调用时选择的依据中,错误的是(分数:2.00)A.函数的参数名称 B.参数的类型C.函数的名字D.函数的类型解析:解析 是否是重载函数,需要给编译器提供足够的信息判断。其主要的依据是函数的名字,参数的类型,函数的返回值类型。18.设有如图所示的二叉树(分数:2.00)A.FCADBEGB.ACBDFGEC.ABDCGEFD.ACBDFEG 解析:解析 按照二叉树中序遍历的方法:在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然

    28、后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。对本题中的二叉树进行中序遍历的结果应是 ACBDFEG。19.以下叙述正确的是(分数:2.00)A.派生类中不可以定义与基类中同名的成员变量B.派生类中不可以重载成员函数C.派生类中不能调用基类中的同名函数D.以上三项均不正确 解析:解析 派生类和基类之间的关系比较重要,派生类不仅可以定义同名的成员变量,还可以调用或重载基类的同名函数,这是类的多态性的基础。20.设 A 为 test 类的对象且赋有初值,赋值符号已经重载,则语句 test B=A;表示(分数:2.00)A.语法错B.为对象

    29、 A 定义一个别名C.将对象 A 复制给对象 B D.仅说明 B 和 A 属于同一个类解析:解析 同上题。21.下面描述中属于软件测试目的的是(分数:2.00)A.改正程序中的错误B.发现程序中的错误 C.表明程序没有错误D.验证程序的可靠性解析:解析 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷。有人将测试的挑剔性总结为以下三点:测试是程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误。由于

    30、测试的这一特征,一般应当避免由开发者测试自己的程序。测试只能说明程序有错,而不能证明程序无错,希望通过有限次的测试就能发现程序中的所有错误是不可能的,即完全测试是不可能的。由此可知,选项 A、C、D 都不属于软件测试目的。22.下列叙述中错误的是(分数:2.00)A.软件不是自然界的有形物体,是一种逻辑实体B.软件是程序、数据及相关文档的集合C.软件在运行、使用期间不存在磨损、老化问题D.软件的运行仅对计算机硬件具有依赖性 解析:解析 软件的运行不仅对计算机硬件具有依赖性,如果是应用软件,还依赖于操作系统等系统软件。因此,选项 D 是错误的,而其他三个选项是正确的。23.如果一个类含有一个以上

    31、的纯虚函数,则称该类为(分数:2.00)A.虚基类B.抽象类 C.派生类D.以上都不对解析:解析 纯虚函数一般提供派生类进行继承的参考,是多态性的重要保证,一个具有纯虚函数的类称为抽象类,抽象类可以具有其他类的特点,但它不能定义对象,不能声明为内联函数。24.语句 cout(a=2)const A ptr*=new A;则下列语句错误的是(分数:2.00)A.ptr-a=100; B.ptr=C.ptr+;D.obj2=*ptr;解析:解析 本题考察 const 修饰符的作用。注意:const 位置不同,其修饰的部分也是不同的。本题中 const 修饰的是 ptr 所指的对象本身,所以,ptr

    32、 是可以重新指向新的对象,而 ptr-a 则无法被更新。26.设有定义 char str80;以下不能将输入数据 first/nsecond/n 读取到数组 str中的语句是(分数:2.00)A.ein.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.cin.read(str,strlen(str); 解析:解析 本题考察 cin 流对象的几种成员函数 get,getline,read 及流提取符的使用规则。27.以下选项中与 k=n+;完全等价的表达式是(分数:2.00)A.k=n,n=n+1; B.n=n+1,k=n

    33、;C.k=+n;D.k+=n+1;解析:解析 本题考察混合表达式的展开。28.一个人有一个身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是(分数:2.00)A.一对一 B.一对多C.多对多D.无定义解析:解析 一个人有一个身份证号码,一个身份证号码对应一个人。则实体“人”和实体“身份证号码”之间存在一对一联系。29.执行 coutsetw(5)123setfill(*)16;的输出为(分数:2.00)A.*12316 B.123*16C.12316D.12316*解析:解析 setw( )为一次有效的设置,setfill 则一直有效,直到再次设置为止。正确答案为

    34、 A。30.在多继承中,公用派生和私有派生对于基类成员在派生类中的可访问性与单继承规则(分数:2.00)A.完全相同 B.完全不同C.部分相同,部分不同D.以上都不对解析:解析 C+语言中为了简化继承关系,规定多重继承中可访问性规则同单继承规则。31.将 6 个数据进行冒泡排序,在最坏情况下需要比较的次数是(分数:2.00)A.15 B.5C.6D.30解析:解析 对长度为 n 的线性表进行冒泡排序,在最坏情况下需要 n(n-1)/2 次比较,现线性表的长度为 6,在最坏情况下需要比较的次数为 6(6-1)/2=15。32.下列说法正确的是(分数:2.00)A.一个关系可以有多个候选键(码)

    35、B.一个关系只有一个候选键(码)C.一个关系所有属性是候选键(码)D.一个关系所有属性都不是候选键(码)解析:解析 一个关系可以有多个候选键(码),但不能所有属性都是或都不是候选键(码)。33.对于常数据成员,下面描述正确的是(分数:2.00)A.常数据成员可以不初始化,并且不能更新B.常数据成员必须被初始化,并且不能更新 C.常数据成员可以不初始化,并且可以被更新D.常数据成员必须被初始化,并且可以被更新解析:解析 常数据成员不能被更新,因此可以排除选项 C 和 D。常数据成员所包含的值不能被更新,所以必须被初始化。34.设有以下类的定义:class Exint x;public:void

    36、setx(int t=0);若在类外定义成员函数 setx( ),以下定义形式中正确的是(分数:2.00)A.void setx(int t)B.void Ex:setx(int t) C.Ex:void setx(int t)D.void Ex:setx( )解析:解析 选项 A 可以排除,原因是类的成员函数的定义必须用域作用符:进行限定;选项 C 的限定位置不对,函数的类型应在最前面。根据上下文可以指导,setx 为单参成员函数,在定义时也必须指定参数,因此选项 D 也可以排除,正确答案为 B。35.下列各类函数中,不是类的成员函数的是(分数:2.00)A.构造函数B.析构函数C.友元函数

    37、 D.拷贝构造函数解析:解析 构造函数包括默认构造函数和拷贝构造函数等,析构函数和构造函数一样属于类的特殊的成员函数。而友元函数则是为了增加类的访问灵活行而允许其他类的成员函数或全局函数访问类的内部变量或成员函数的一种机制,其缺点是破坏了类的封装性。二、填空题(总题数:15,分数:30.00)36.设二叉树根结点的层次为 0,对含有 100 个结点的二叉树,可能的最大树深和最小树深分别是 1。(分数:2.00)填空项 1:_ (正确答案:99 和 6)解析:解析 要使二叉树在规定结点下有最大树深,这时二叉树退化成一个线性链表,如果对应二叉树的根结点的层次为 0,那么对应二叉树的树深为结点个数减

    38、 1,即 99;要使二叉树有最小树深,则此二叉树为满二叉树,当满二叉树的根结点的层次为 1 时,结点个数 n 和树深 h 之间的关系为:n=2 h-1,所以当二叉树的根结点层次为 0 时,对应关系为 n=2h+1。37.对象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为 1。(分数:2.00)填空项 1:_ (正确答案:多态性)解析:解析 对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行为,该现象称为多态性。38.数据流图采用 4 种符号表示 1、数据源点和终点、数据流向和数据加工。(分数:2.00)填空项 1:_

    39、(正确答案:数据存储)解析:解析 数据流图可以表达软件系统的数据存储、数据源点和终点、数据流向和数据加工。其中,用箭头表示数据流向,用圆或者椭圆表示数据加工,用双杠表示数据存储,用方框来表示数据源点和终点。39.类通过 1 与外界发生关系。(分数:2.00)填空项 1:_ (正确答案:接口)解析:解析 数据以及对数据的操作形成对象,对同类对象抽象出其共性,形成类。类是通过接口与外界发生关系的。40.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_ (正确答案:一对多(或 1:N))解析:解析 如果对于

    40、 A 中的每一个实体,实体集 B 中有 n 个实体(nO)与之联系,反之,对于实体集B 中的每一个实体,实体集 A 中至多只有一个实体与之联系,则称实体集 A 与实体集 B 有一对多联系,记为 1:n。41.执行”coutchar(A+2)endl;”语句后得到的输出结果为 1。(分数:2.00)填空项 1:_ (正确答案:C)解析:解析 本题考察强制类型转化,char-|_|-在这里作为一个强制类型转化函数存在,将整数转化为字符。42.下列函数的功能是_。#includeiostream.hint Func(int a,int b)if(aB)return 1;else if(a= =B)r

    41、eturn 0;else return -1;(分数:2.00)填空项 1:_ (正确答案:比较两个整数 a 和 b 的大小,若 ab 则返回 1,若 a 等于b,则返回 0,否则返回-1。)解析:43.根据三角形的基本定理完成填空,则表达式应为_。#includeiostream.h#includemath.hvoid main( )double a,b,e,s,area;cout“请输入三角形三边 a,b,e,“endl;cinabc;if(_)s=(a+b+c)/2;area=sqrt(s*(s- a)*(s- b)*(s- c);cout“三角形的面积为:“area;elsecout“

    42、不能构成三角形!“endl;(分数:2.00)填空项 1:_ (正确答案:a0for(i=1;i6;i+)if(i=3)break;cout“i=“iendl;(分数:2.00)填空项 1:_ (正确答案:i=3)解析:解析 本题考察考生的 for 语句和 if 语句综合使用能力。本题的情况适用于希望在满足指定值时停止循环的情况。45.下列程序编译错误,因为 add 函数返回值是一个引用,故对 return 返回值的要求是_。#includeiostream.hintvoid main( )int i=3,j=19;cout(add(i,j)+=20)endl;(分数:2.00)填空项 1:_

    43、 (正确答案:不能是表达式)解析:解析 引用是变量的别名,其实质是变量的地址。return 在返回值时,如果其后为表达式,则系统为该表达式生成一个临时变量用于存放该表达式的结果,函数执行完毕之后该变量被系统回收,因此,返回的该变量的地址对调用函数来说已经没有意义了。46.在下面的类定义中,this 指针的用途是_。#includeiostream.hclass Sampleint x,y;public:Sample(int i,int j)x=i;y=j;void assign(Sample sa);void Sample:assign(Sample p)if(this!=y=p.y;(分数:

    44、2.00)填空项 1:_ (正确答案:防止类对象自己给自己赋值)解析:解析 对象给自己赋值是一种自毁行为,这种行为如果不加以判断,可能造成无意识的破坏。47.参照函数模板的写法,完成非模板函数的定义,语句为_。#includeiostream.h#includestring.htemplateclass TT min(T a,T b)return(ab? a:b);char*rain(char*a,char*b)_void main( )double a=1.23,b=3.45;char s1=“abed“,s2=“efg“;coutmin(a,b)min(s1,s2)endl;(分数:2.0

    45、0)填空项 1:_ (正确答案:return(strcmp(a,b)0? a:b);)解析:解析 对于两个变量的比较来说,字符问的比较不同于整型或浮点型变量那样可以直接比较,而是要采用专用函数进行,因此不能采用同一个函数模板,所以本题采用的就是单独写成一个非模板函数。48.下列程序的输出结果是_。#includeiostreamusing namespace std;templatetypename TT fun(T a,T b)return(a=b)? a:b;int main( )coutfun(3,6),fun(3.14F,6.28F)endl;return 0;(分数:2.00)填空项

    46、 1:_ (正确答案:3,3,14)解析:解析 本题考核模板函数的使用。C+编译系统将根据实参表中的实参的类型来确定函数的形参列表中的类型。函数 fun 的功能是返回两者中较小的值,函数调用 fun(3,6)返回的值为 3,函数调用fun(3.14F,6.28F)返回的值为 3.14。49.下列程序的运行结果为_。#includeiostream.hclass myclassprivate:int a,b,c;public:void fun( )int a;a=10;this-a=5;b=6;this-c=7;cout“a=“a“, this-a=“this-aendl;void main( )myclass objl;obj1.fun( );(分数:2.00)填空项 1:_ (正确答案:a=10,this-a=5)解析:解析 本题考察


    注意事项

    本文(【计算机类职业资格】二级C++笔试-279及答案解析.doc)为本站会员(eveningprove235)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开