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

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

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

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

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

    1、二级 C+笔试-255 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在结构化设计方法中生成的结构图(SC) 中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系B.程序的组成成份C.控制程序的执行顺序D.数据的流向2.在关系模型中,(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表3.有以下程序:#inclydeiOStreamusing namespace std;int main()in

    2、t x=15;while(x10break;coutxendl;return 0;执行后的输出结果是(分数:2.00)A.15B.16C.17D.184.若有以下程序:#inclideiostreamusing nameSpace std;class Apricate:int a;public:A(int i)a=iVoid disp()couta“,“;clas Bprivate:int b;public:B(int j)b=j;Void disp()coutb“,“;class C:publicB,public Aprivate:int c;public:C(int k):A(k-2),B

    3、(k+2)c=k;void disp()A:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0;程序执行后的输出结果是(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,105.下列对变量的引用中,错误的是(分数:2.00)A.int a; int char *className()return baseName;class Derived: public baseprivate:char derivedName10;public:Derived()strcpy(derived

    4、Name,“Derived“);char *myName()return derivedName;char *className()return derivedName;void showPtr(base int main()base bb;Derived dd;showPtr(dD) ;retum 0;动行后的输出结果为(分数:2.00)A.Derived BaseB.Base BaseC.Derived DerivedD.Base Derived12.以下程序段共有错误( )处。#include iostreamusing namespaces std;class Sampleprivat

    5、e:int n;public:Sample(int i)n=i;void setvalue (int i)n=i;void display()cout”n=”nendl;int main()const Sample a(10);asetvalue(5);adisplay();return 0;(分数:2.00)A.1B.2C.3D.413.下列对模板的声明中,正确的是(分数:2.00)A.templateTB.templateclass T1,T2C.templateclassT1,class T2D.templateclassT1;class T214.通过公有派生类的对象,只能访问基类成员

    6、中的(分数:2.00)A.公有成员B.私有成员C.保护成员D.公有成员和保护成员15.以下程序的输出结果是#includeiostream.hvoid main()int a=0,i;for(i=1;i5;i+)swich (i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;coutaendl;return;(分数:2.00)A.31B.13C.10D.2016.在进行任何 C流的操作后,都可以用 C流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good17.

    7、下列关于 new 运算符的描述中错误的是(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值B.使用运算符 new 创建对象时,会调用类的构造函数C.运算符 new 可以用来动态创建对象和对象数组D.使用 new 运算符创建的对象可以使用运算符 delete 删除18.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00)A.2B.3C.4D.519.下列关于栈的叙述正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表20.有以下程

    8、序#includeiostreamusing namespace std;class sampleprivate:int x;public:sample (int(分数:2.00)A.x=a;friend double square (sample s);double square (sample s)return s.x*s.x;int main()sample s1(20),s2(30);coutsquare(s2)end1;return 0;执行结果是 A) 20B.30C.900D.40021.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B:public

    9、 AB.virtual class B:public AC.class B:public A virmalD.class B:virmal public A22.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数D.静态成员函数23.下面对对象概念描述错误的是(分数:2.00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态属性24.以下非法的赋值表达式是(分数:2.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j

    10、0;25.有以下程序:class Datepublic:Date(int y,int m,int D) ;year =y;month=m;day=d;Date(int y=2000)year=y;month=10;day=1;Date(Date p+;coutMyClass:sendl;return 0;运行后的输出结果是 【11】 。(分数:2.00)填空项 1:_47.有以下面程序:#includeiostreamusing namespace std;long fib(int n)if (n2)return(fib(n-1)+fib(n-2);elsereturn 2;int main(

    11、)coutfib(3)end1;rcturn 0;则该程序的输出结果应该是 【12】 。(分数:2.00)填空项 1:_48.已知 int DBL(int n)return n+n;和 long DBL(long n)return n+n)是一个函数模板的两个实例,则该函数模板的定义是 【13】 。(分数:2.00)填空项 1:_49.有以下程序#includeiostreamusing namespace std;class Baseint a;public:Base(int x) a=x;vuid show()couta;class DeriVed:public Baseint b;pub

    12、lic:Derived (int i):Base(i+1),b(i)void show()coutb;int main()Base b(5),*pb;Derived d(1);pb=break;coutxendl;return 0;执行后的输出结果是(分数:2.00)A.15B.16C.17 D.18解析:解析 本题考核选择语句与循环语句的嵌套。由程序可知,当 x=16 时,满足 if 条件表达式,进入 if 分支,执行“x+;break;”,所以最后程序输出 x 的值为 17。4.若有以下程序:#inclideiostreamusing nameSpace std;class Apricat

    13、e:int a;public:A(int i)a=iVoid disp()couta“,“;clas Bprivate:int b;public:B(int j)b=j;Void disp()coutb“,“;class C:publicB,public Aprivate:int c;public:C(int k):A(k-2),B(k+2)c=k;void disp()A:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0;程序执行后的输出结果是(分数:2.00)A.10,10,10B.10,12,14C.8,1

    14、0,12D.8,12,10 解析:解析 本题考核派生类构造函数的使用。本题中,派生 C 具有多重继承关系,所以在派生类 C 的构造函数中应该包含基类 A 和 B 的成员初始化列表。5.下列对变量的引用中,错误的是(分数:2.00)A.int a; int char *className()return baseName;class Derived: public baseprivate:char derivedName10;public:Derived()strcpy(derivedName,“Derived“);char *myName()return derivedName;char *c

    15、lassName()return derivedName;void showPtr(base int main()base bb;Derived dd;showPtr(dD) ;retum 0;动行后的输出结果为(分数:2.00)A.Derived Base B.Base BaseC.Derived DerivedD.Base Derived解析:解析 本题考核虚函数的应用。类 Derived 是从基类 Base 公有派生而来的。因此, Derived 是基类 Base 的子类型。main()函数中定义了一个基类对象 bb 和一个派生类对象 dd。从程序中可看出派生类 Derived 的对象

    16、dd 交给了处理基类 Base 的对象的函数 showPtr 进行处理。由于在基类中函数 myName被定义成虚函数。所以在函数 showPtr 中调用的 myName 函数为派生类的成员函数 myName,从而输出Derived。然后输出 className,即基类名称 Base。12.以下程序段共有错误( )处。#include iostreamusing namespaces std;class Sampleprivate:int n;public:Sample(int i)n=i;void setvalue (int i)n=i;void display()cout”n=”nendl;

    17、int main()const Sample a(10);asetvalue(5);adisplay();return 0;(分数:2.00)A.1B.2 C.3D.4解析:解析 本题考核常对象、常数据成员和常成员函数。本程序中有两个错误:第 1 个错误是a.setvalue(5);语句,由于对象 a 为常对象,所以对象 a 的私有数据成员 n 不能被更新;第 2 处错误是语句 a.display();。由于对象 a 为常对象,所以通过对象 a 只能调用它的成员函数,而成员函数display()不是常成员函数。13.下列对模板的声明中,正确的是(分数:2.00)A.templateTB.tem

    18、plateclass T1,T2C.templateclassT1,class T2 D.templateclassT1;class T2解析:分析本题考核模板的定义。模板定义的类型参数表中包含一个或多个由逗号分隔的类型参数项,每一项由关键字 class 后跟一个用户命名的标识符,此标识符为类型参数,它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。14.通过公有派生类的对象,只能访问基类成员中的(分数:2.00)A.公有成员 B.私有成员C.保护成员D.公有成员和保护成员解析:解析 本题考核派生类的访问权限。派生类的继承方式有三种:公

    19、有继承 public、私有继承private 和保护继承 protected。当公有派生时,派生类成员函数只能访问基类的公有成员和保护成员,但是通过派生类的对象只能访问基类的公有成员。15.以下程序的输出结果是#includeiostream.hvoid main()int a=0,i;for(i=1;i5;i+)swich (i)case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;coutaendl;return;(分数:2.00)A.31 B.13C.10D.20解析:解析 本题考核 for 语句和 switch 语句的综合运用。switc

    20、h 语句的执行过程是:在 switch 后面的表达式的值和 case 后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有 break 语句,则继续执行下一个 case,直到遇到 break 语句或switch 多分支的结束。在 switch 语句中,break 语句的作用是使流程跳出 switch 结构,终止 switch 语句的执行。因为每个 case 语句后面都没有 break 语句,所以,第 1 次循环(i=1)执行后,a 的值为 8。第2 次循环(i=2)执行过后,a 的值变为 16。第 3 次循环(i=3)执行过后,a 的值变为 26。第 4 次循环执行过后,a 的值

    21、变为 31。然后执行 i+,这时循环条件为假,结束循环。所以最后 a 的值为 31。16.在进行任何 C流的操作后,都可以用 C流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eof C.badD.good解析:解析 本题考核 C流的文件操作。C中可以用文件流对象的下列成员函数来判别文件流的当前状态。函数 is_open():判定流对象是否与一个打开的文件相联系,若是,返回 true,否则返回false:函数 good():刚进行的操作成功时返回 tree,否则返回 false。函数 fail():与 good()相反,刚进行的操作失败

    22、时返回 true,否则返回 false。函数 bad():如果进行了非法操作返回 true,否则返回false。函数 eof():进行输入操作时,若到达文件尾返回 true,否则返回 false。其中,eof 函数只能用于输入流操作。17.下列关于 new 运算符的描述中错误的是(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值 B.使用运算符 new 创建对象时,会调用类的构造函数C.运算符 new 可以用来动态创建对象和对象数组D.使用 new 运算符创建的对象可以使用运算符 delete 删除解析:解析 本题考核运算符 new。先来了解运算符 new:运算符 new

    23、返回指定类型的一个指针,如果分配失败(如没有足够的内存空间),则返回 0。它与 delete 运算符一起使用,以达到直接进行动态内存分配和释放的目的。对于 A) 选项,使用运算符 new 创建对象数组时只能指定分配内存的大小,不能为该数组指定初始值,其初始值为缺省值,因此类中必须定义缺省构造函数。所以 A) 选项的描述是错误的。B) 、C) 和 D) 选项的描述都是正确的。18.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00)A.2 B.3C.4D.5解析:解析 本题考核构造函数的调用。C在创建一个对象时,会

    24、自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。语句 MyClass a,b(2),*p;创建了两个对象 a、b 和一个对象指针。在创建 a 和 b 对象时系统会调用类的构造函数。但在创建对象指针 p 时,不调用类的构造函数,因为指针p 本身不定义类对象,而是定义了 p 可以指向一个 MyClass 的对象。19.下列关于栈的叙述正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表 解析:解析 栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。在这种线性表的结构中,一端封闭,不允许插入与删除元素;另一

    25、端开口,允许插入与删除元素。在栈中不仅能插入数据,也能删除数据,选项 A 与D 都错。栈是后进先出的线性表,而不是先进先出的线性表,选项 C 的说法错误,选项 D 正确。20.有以下程序#includeiostreamusing namespace std;class sampleprivate:int x;public:sample (int(分数:2.00)A.x=a;friend double square (sample s);double square (sample s)return s.x*s.x;int main()sample s1(20),s2(30);coutsquare

    26、(s2)end1;return 0;执行结果是 A) 20B.30C.900 D.400解析:解析 本题考核友元函数的应用。程序中函数 square 是类 sample 的一个友元函数,它可以直接访问类 sample 的所有成员。它的功能是返回类 sample 的私有数据成员 x 的平方。所以程序的执行结果是:900。注意:友元函数不是类的成员函数,在类外定义时不要加上类名及其作用域运算符 (:)。友元函数的调用与一般函数的调用的方式和原理一致,可以在程序的任何地方调用它。21.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B:public AB.virtual

    27、class B:public AC.class B:public A virmalD.class B:virmal public A 解析:解析 本题考核虚基类的声明方式。虚基类说明格式如下:Virtual继承方式基类名其中,virtual 是虚基类的关键词。虚基类的说明是用在定义派生类时,写在派生类名的后面。即:class派生类名:Virtual继承方式基类名。22.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数 D.静态成员函数解析:解析 本题考核纯虚函数的定义。纯虚函数是一种特

    28、殊的虚函数,纯虚函数是在虚函数的后面加上“=0”,表示该虚函数无函数体,并非赋值运算。纯虚函数的一般格式如下:virtual类型函数名(参数表)=0;在很多情况下,在基类中不能对虚函数给出有意义的实现,而把它说明为纯虚函数,它的实现留给该基类的派生类去做。题目中描述的是纯虚函数的特点。23.下面对对象概念描述错误的是(分数:2.00)A.任何对象都必须有继承性 B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态属性解析:解析 继承是面向对象的方法的一个主要特征。继承是使用已有的类定义做为基础建立新类的定义技术。已有的类可当做基类来引用,则新类相应地可当做派生类来引用。但

    29、并不是所有的对象都必须有继承性。因此,选项 A 中的说法是错误的,应为所选。24.以下非法的赋值表达式是(分数:2.00)A.n=(i=2,+i);B.j+;C.+(i+1); D.x=j0;解析:解析 对于任何一种赋值运算,其赋值号或复合赋值号左边必须是一个左值。左值是指具有对应的可由用户访问的存储单元,并且能够由用户改变其值的量。而在 C) 选项中赋值号对应的是表达式“i+1”,不是一个左值,因此是非法的赋值表达式。25.有以下程序:class Datepublic:Date(int y,int m,int D) ;year =y;month=m;day=d;Date(int y=2000

    30、)year=y;month=10;day=1;Date(Date &D) year=d.year;month=d.month;day=d.day;void print ()coutyear“month“.“dayend1;private:int year,month,day;Date fun(Date D) Date temp;temp=d;return temp;int main()Date date1(2000,1,1),date2(0,0,0);Date date3(date1);date2=fun(date3);return 0;程序执行时,Date 类的拷贝构造函数被调用的次数是(分

    31、数:2.00)A.2B.3 C.4D.5解析:解析 本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了 3 次:第一次是在执行语句 Date date3 (date1);时,用已经建立的对象 date1 对正在建立的对象 date3 进行初始化:第二次是在调用 fun 函数时,由于是传值调用,因此实参对象 date3 要对形参对象 d 进行初始化;第三次是在执行 fun 函数中的返回语句 return temp;时,系统用返回初始化一个匿名对象时使用了拷贝构造函数。26.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接 C.

    32、投影D.并解析:解析 连接运算是对两个关系进行的运算,其意义是从两个关系的笛卡尔积中选出满足给定属性间一定条件的那些元组。而两个关系的笛卡尔积中的属性个数是两个原关系中的属性个数之和。即两个关系经连接运算后得到的新关系中属性个数多于原来关系中属性个数。正确答案是 B。27.重载输入流运算符必须使用的原型为(分数:2.00)A.istream& operator (istream&,类名&); B.istream& operator (istream,类名);C.istream operator(istream,类名&);D.类名operator (istream &,类名&);解析:解析 本题

    33、考核运算符的重载。C中重载输入流运算符和输出流运算符只能作为非类成员函数重载,且必须使用如下原形:istream& operator (istream&, 类名 &);ostream& operator (ostream&, 类名);28.下列关于 E-R 图的描述中正确的是(分数:2.00)A.E-R 图只能表示实体之间的联系B.E-R 图只能表示实体和实体之间的联系C.E-R 图只能表示实体和属性D.E-R 图能表示实体、属性和实体之间的联系 解析:解析 E-R 图中,用 3 种图框分别表示实体、属性和实体之间的联系:矩形框表示实体,框内标明实体名:椭圆状框表示实体的属性,框内标明属性名:

    34、菱形框表示实体间的联系,框内标明联系名;实体与其属性之间以无向边连接,菱形框与相关实体之间也用无向边连接,并在无向边旁标明联系的类型。综上所述,用 E-R 图不仅可以简单明了地描述实体及其相互之间的联系,还可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的联系。选项 A、B、C 的说法都错误,本题的正确答案是 D。29.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作 B.信息C.数据隐藏D.数据抽象解析:解析 面向对象语言包含 3 个要素,即对象、类和继承。这 3 个要素反映了面向对象的传统观念。面向对象程序设计的本质

    35、是把数据和对数据的操作当成一个整体即对象。30.在下面的 4 个关键字中用来说明虚函数的是(分数:2.00)A.virtual B.publicC.protectedD.private解析:解析 C中说明虚函数的方法为:virtual类型说明符函数名(参数表);。其中,被关键词 virtual 说明的函数称为虚函数。31.一棵二叉树中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数(分数:2.00)A.221B.219 C.231D.229解析:解析 在任意一棵二叉树中,度为 0 的结点(也就是叶子结点)总比度为 2 的结点多一个。由于本题中的二叉树有 70 个叶子结

    36、点,所以有 69 个度为 2 的结点。该二叉树中总结点数为:度为 2 的结点数十度为 1 的结点数+度为 0 的结点数 =69+80+70=219。32.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高 D.上述三种说法都不对解析:解析 影响模块之间耦合的主要因素有两个:模块之间的连接形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的的模块强,所以选项 A 的说法错误;耦合程度弱的模块,其内聚程度一定高,选项 B 错误;选项 C 正确。33.下列叙述中正确的是(分数:2.

    37、00)A.线性链表中的各元素在存储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中位置不一定的连续的,但表头元素定存储D.线性链表中的各元素在存储空间的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:解析 在线性表的链式存储结构中,各数据结点的存储序号不连续,且各结点在存储空间中的位置关系与逻辑关系也不一致。在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的。所以,选项 D 正确。34.若有以下程序:#includeiostreamusing namespace std;int f()static int i=O

    38、;int s=1;s+=i;i+;return s;int main()int i,a=0;for(i=0;i5;i+)a+=f();coutaendl;retrun 0;程序运行后,输出的结果是(分数:2.00)A.20B.24C.25D.15 解析:解析 本题考核静态局部变量在函数中的使用。静态局部变量就是将局部变量说明为静态的。静态局部变量既有在局部域作用的特性(即变量只能在变量的作用范围内被访问),又可以永久存在(变量的值得以保留,并可继续使用)。静态局部变量只在第一次执行时初始化一次。在函数 f 中定义了一个静态局部变量 i,它的初始值为 0,还定义了一个局部变量 s(它的初始值为

    39、1),用来返回计算所得值。函数 f中所进行的数据加工是 s+=i 和 i+。即每调用一次函数 f,返回(i+1)的值后,i 的值增 1。再看主函数,在主函数 main 中,通过一个 for 语句连续调用 f 函数 5 次,并把每次调用 f 函数的返回值相加并存入a。最后输出 a 的值。在了解各函数功能以及调用关系后就可计算出 a 的值为 15。35.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“”重载为友元函数。要使语句序列Myst x(3.2),y(5.5),z(0.0);z=8.9-y;y=x-6.3;能够正常运行,运算符函数 operator-应该在类中

    40、声明为(分数:2.00)A.friend Myst operator-(Myst&,Myst&);B.friend Myst operator-(Myst,Myst); C.friend Myst operator-(Myst,Myst&);D.friend Myst operator-(Myst&,Myst);解析:解析 本题考核运算符的重载。题中将运算符“”重载为友元函数,其声明格式如 B 选项所描述的。二、填空题(总题数:15,分数:30.00)36.在深度为 5 的完全二叉树中,度为 2 的结点数最多为 【1】 。(分数:2.00)填空项 1:_ (正确答案:15)解析:解析 在深度为

    41、 5 的完全二叉树中,度为 2 的结点数最多的是深度为 5 的满二叉树。在深度为 5的满二叉树中,前 4 层中所有结点的度为 2。即在深度为 5 的完全二叉树中,度为 2 的结点数最多相当于深度为 4 的满二叉树中的结点数。深度为 4 的满二叉树中的结点数为 24-1=15。37.在面向对象方法中,允许作用于某个对象上的操作称为 【2】 。(分数:2.00)填空项 1:_ (正确答案:方法在面向对象方法中;方法是指允许作用于某个对象上的各种操作。允许作用于某个对象上的操作称为方法。)解析:38.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期

    42、、软件维护期。编码和测试属于 【3】 期。(分数:2.00)填空项 1:_ (正确答案:软件开发)解析:解析 软件生命周期包括 8 个阶段:问题定义、可行性研究、需求分析、系统设计、详细设计、编码、测试、运行维护。为了使各时期的任务更明确,又可以分为 3 个时期:软件定义期,包括问题定义、可行性研究和需求分析 3 个阶段:软件开发期,包括系统设计、详细设计、编码和测试 4 个阶段:软件维护期,即运行维护阶段。可知,编码和测试属于软件开发阶段。39.在关系运算中, 【4】 运算是对两个具有公共属性的关系所进行的运算。(分数:2.00)填空项 1:_ (正确答案:自然连接)解析:解析 在关系运算中

    43、,自然连接运算是对两个具有公共属性的关系所进行的运算。40.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于 【5】 的联系。(分数:2.00)填空项 1:_ (正确答案:一对多)解析:解析 实体之间的联系可以归结为一对一、一对多与多对多。如果一个学校有许多学生,而一个教师只归属于一个学生,则实体集学校与实体集学生之间的联系属于一对多的联系。41.写出执行完下列代码段之后指定变量的值:bool x=true,y=false,z=false;x=x&y|z;y=x|y&z;z=!(x!=y

    44、)|(y=z);则 x=false,y=false,z= 【6】 。(分数:2.00)填空项 1:_ (正确答案:true)解析:解析 本题考核 C运算符运算优先级和结合性。执行语句“x&y|z;”后,x 的值变为false。执行“x|y&z”后,y 的值变为 false,执行“!(x!=y)|y=z);”后,z 的值变为 true42.多态性分为两类:编译时的多态性和 【7】 。(分数:2.00)填空项 1:_ (正确答案:运行时的多态性)解析:解析 本题考核 C的多态性。在 C语言中,多态性可分为两类:编译时的多态性和运行时的多态性。43.非成员函数只有在声明为类的 【8】 才能访问这个类

    45、的所有 private 成员。(分数:2.00)填空项 1:_ (正确答案:友元函数)解析:解析 本题考核友元函数。C规定,一个类的私有成员和保护成员,只能由其本身的成员来访问,不能被其他函数访问,这样形成了封装的概念,也保护了类本身的数据不致于受到破坏。但是,如果想让类中的成员数据可以被其他函数访问,可以通过友元函数声明,来分享类中的资源。类的友元函数可以直接访问该类的所有成员,包括私有成员。44.在下面横线上填上适当的语句,完成程序。#includeiostreamusing namespace std;class Baseint x;public:Base(int i)x=i;Base(

    46、);class Derived:public Basepublic:_/完成类 Derive 构造函数的定义;int main()Derived Obj;return 0;在横线处应填入的语句是 【9】 。(分数:2.00)填空项 1:_ (正确答案:Derived(int i):Base(i))解析:解析 本题考核派生类中构造函数。程序中,类 Derived 是基类 Base 的公有派生。在类 Derived的构造函数应该包括调用基类构造函数使基类的数据成员得以初始化。45.下列程序的输出结果是 【10】 。#includeiostreamusing nameSpace std;int main()int data=1;int &r=data;data+=5;r+=5;


    注意事项

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




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

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

    收起
    展开