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

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

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

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

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

    1、二级 C+笔试 75 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator应该在类中声明为(分数:2.00)A.friend Myst operator-(Myst class Sample private: int n; public: Sample(int i) n=i; void setva

    2、lue(int i) n=i; void display() cout“n=“nend1; ; int main() const Sample a(l0); a.setvalue(5); a.display(); return 0; (分数:2.00)A.1B.2C.3D.43.若有以下程序: #include iostream using namespace std; int f() static int i = 0; ints= 1; s+=i; i+; return s; int main() int i,a = 0; for(i = 0;i5;i+) a+=f(); coutaendl

    3、; return 0; 程序运行后,输出的结果是(分数:2.00)A.20B.24C.25D.154.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数D.静态成员函数5.有以下程序 #include iostream using namespace std; class sample private: int x; public: sample(int a) x=a; friend double square(sample s); ; double square(sample s) r

    4、eturn s.x*s.x; int main() sample s1 (20),s2(30); coutsquare(s2)end1; return 0; 执行结果是(分数:2.00)A.20B.30C.900D.4006.有以下程序 #include iostream #include string using namespace std; class base private: char baseName10; public: base() strcpy(baseName,“Base“); virtual char *myName() return baseName; char *cla

    5、ssName() Return baseName; ; class Derived: public base private: char derivedName10; public: Derived() strcpy(derivedName,“Derived“ ); char *myName() return derivedName; char *className() return derivedName; ; void showPtr(base int main() base bb; Derived dd; showPtr(dd); return 0; 运行后的输出结果为(分数:2.00)

    6、A.Derived BaseB.Base BaseC.Derived DerivedD.Base Derived7.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是(分数:2.00)A.test(5);B.test(5,8);C.test(6,#;D.test(0,0,*);8.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D.并9.下列关于 E-R 图的描述中正确的是(分数:2.00)A.E-R 图只能表示实体之间的联系B.E-R 图只能表示实体和实体

    7、之间的联系C.E-R 图只能表示实体和属性D.E-R 图能表示实体、属性和实体之间的联系10.在关系模型中,(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表11.下列对变量的引用中,错误的是(分数:2.00)A.int a; int B.char a; char C.iht a; int p =a;D.float a; float 12.下列关于 new 运算符的描述中错误的是(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值B.使用运

    8、算符 new 创建对象时,会调用类的构造函数C.运算符 new 可以用来动态创建对象和对象数组D.使用 new 运算符创建的对象可以使用运算符 delete 删除13.若有以下程序: #include iostream using namespace std; class A private: int a; public: A(int i) a=i; void disp() cout a“,“; ; class B private: int b; public: B(int j) b=j; void disp() coutb“,“; ; class C: public B,public A p

    9、rivate: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp() A:disp(); B:disp(); coutcend1; ; int main() C obj (10); obj.disp(); return 0; 程序执行后的输出结果是(分数:2.00)A.10,10,10B.10, 12,14C.8,10,12D.8,12,1014.通过公有派生类的对象,只能访问基类成员中的(分数:2.00)A.公有成员B.私有成员C.保护成员D.公有成员和保护成员15.下面有关重载函数的说法中正确的是(分数:2.00)A.重载函数必须具有

    10、不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同16.有以下程序: class Date public: 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 month = d.month; day = a.day; void print() coutyear“.“month“.“dayend1; private: int year, month,day; ; Da

    11、te fun(Date d) Date temp; temp = d; return temp; int main() Date date 1 (2000,1,1),date2(0,0,0); Date date3(date 1); date2 = fun(date3); return 0; 程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3C.4D.517.考虑下面的函数原型: void f(int a,int b=7,char c=); 下面的函数调用中,不合法的是(分数:2.00)A.f(5)B.f(5,8)C.f(6,class T219.一棵二叉树中共

    12、有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为(分数:2.00)A.221B.219C.231D.22920.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对21.有以下程序: #include iostream using namespace std; int main() int x=15; while(x10 if(x/3) x+; break; coutxend1; return 0; 执行后的输出结果是(分数:2.00)A.15B.16

    13、C.17D.1822.以下非法的赋值表达式是(分数:2.00)A.n=(i=2,+;B.j+;C.+(i+1);D.x=j0;23.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good24.下面对对象概念描述错误的是(分数:2.00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态属性25.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00

    14、)A.2B.3C.4D.526.重载输入流运算符必须使用的原型为(分数:2.00)A.istreamB.istreamC.istream operator (istream,类名D.类名 operator (istream27.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示(分数:2.00)A.模块之间的调用关系B.程序的组成成份C.控制程序的执行顺序D.数据的流向28.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象29.下列叙述中正确的是(分数:2.00)A.线性链表中的各元素在存

    15、储空间中的位置必须是连续的B.线性链表中的表头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的30.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A31.设有 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、

    16、m=2、n=2,则逻辑表达式(m=ab)for(i=1 ;i5;i+) switch(i) case 0: case 3: a+=2; case 1: case 2: a+=3; default: a+=5; coutaend1; return; (分数:2.00)A.31B.13C.10D.2034.在下面的 4 个关键字中用来说明虚函数的是(分数:2.00)A.virtualB.publicC.protectedD.private35.下列关于栈的叙述正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表二、B填空题/B(总题

    17、数:15,分数:30.00)36.在深度为 5 的完全二叉树中,度为 2 的结点数最多为U 【1】 /U。(分数:2.00)填空项 1:_37.在面向对象方法中,允许作用于某个对象上的操作称为U 【2】 /U。(分数:2.00)填空项 1:_38.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期、软件维护期。编码和测试属于U 【3】 /U期。(分数:2.00)填空项 1:_39.在关系运算中,U 【4】 /U运算是对两个具有公共属性的关系所进行的运算。(分数:2.00)填空项 1:_40.实体之间的联系可以归结为一对一的联系,一对多的联系与多

    18、对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于U 【5】 /U的联系。(分数:2.00)填空项 1:_41.写出执行完下列代码段之后指定变量的值: bool x=true,y=false,z=false; x=x class Base int x; public: Base(int i) x=i; Base() ; class Derived: public Base public: _完成类 Derive 构造函数的定义 ; int main() Derived Obj; return 0; 在横线处应填入的语句是U 【9】 /U。(分

    19、数:2.00)填空项 1:_45.下列程序的输出结果是U 【10】 /U。 #include iostream using namespace std; int main() int data=1; int data+=5; r+=5; coutdataend 1; return 0; (分数:2.00)填空项 1:_46.有以下程序 #include iostream using namespace std; class MyClass public: MyClass(); MyClass(); static int s; void SetValue(int val); ; int MyCl

    20、ass:s=0; MyClass:MyClass() s+; void MyClass:SetValue(int val) ( s=val; int main() MyClass my3,*p; p=my; for(int k=0;k3;k+) p-SetValue(k+l); p+; coutMyClass:send1; return 0; 运行后的输出结果是U 【11】 /U。(分数:2.00)填空项 1:_47.有以下程序: #include iostream using namespace std; long fib( int n ) if(n2) return ( fib( n-1

    21、)+fib( n-2 ) ); else return 2; int main() coutfib(3)end1; return 0; 则该程序的输出结果应该是U 【12】 /U。(分数:2.00)填空项 1:_48.已知 int DBL(int n)return n+n;和 long DBL(long n)return n+n)是一个函数模板的两个实例,则该函数模板的定义是U 【13】 /U。(分数:2.00)填空项 1:_49.有以下程序 #include iostream using namespace std; class Base int a; public: Base(int x)

    22、 a=x; void show()couta; ; class Derived: public Base int b; public: Derived(int i):Base(i+1),b(i) void show() coutb; ; int main() Base b(5),*pb; Derived d(1); pb= pb-show(); return 0; 运行后的打印结果是U 【14】 /U。(分数:2.00)填空项 1:_50.有如下程序: #include iostream using namespace std; class AA public: virtual void f(

    23、) cout“AA“; ; class BB: public AA public: BB() cout“BB“; ; class CC: public BB public: virtual void f() BB:f(); cout“CC“; ; int main() AA aa,*p; BB bb; CC cc; p= P-f(); return 0; 运行后的输出结果U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 75 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.已知类 Myst 有一个只需要一个 doubl

    24、e 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator应该在类中声明为(分数:2.00)A.friend Myst operator-(Myst class Sample private: int n; public: Sample(int i) n=i; void setvalue(int i) n=i; void display() cout“n=“nend1; ; int main() const Sample a(l0); a.setvalu

    25、e(5); a.display(); return 0; (分数:2.00)A.1B.2 C.3D.4解析:解析 本题考核常对象、常数据成员和常成员函数。本程序中有两个错误:第 1 个错误是asetvalue(5);语句,由于对象 a 为常对象,所以对象 a 的私有数据成员 n 不能被更新;第 2 处错误是语句 adisplay();。由于对象 a 为常对象,所以通过对象 a 只能调用它的成员函数,而成员函数display()不是常成员函数。3.若有以下程序: #include iostream using namespace std; int f() static int i = 0; in

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

    27、量 s(它的初始值为 1),用来返回计算所得值。函数 f中所进行的数据加工是 s+=i 和 i+。即每调用一次函数 f,返回(i+1)的值后,i 的值增 1。再看主函数,在主函数 main 中,通过一个 for 语句连续调用 f 函数 5 次,并把每次调用 f 函数的返回值相加并存入a。最后输出 a 的值。在了解各函数功能以及调用关系后就可计算出 a 的值为 15。4.一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为(分数:2.00)A.虚析构函数B.虚构造函数C.纯虚函数 D.静态成员函数解析:解析 本题考核纯虚函数的定义。纯虚函数是一种特

    28、殊的虚函数,纯虚函数是在虚函数的后面加上“=0”,表示该虚函数无函数体,并非赋值运算。纯虚函数的一般格式如下: virtual类型函数名(参数表)=0; 在很多情况下,在基类中不能对虚函数给出有意义的实现,而把它说明为纯虚函数,它的实现留给该基类的派生类去做。 题目中描述的是纯虚函数的特点。5.有以下程序 #include iostream using namespace std; class sample private: int x; public: sample(int a) x=a; friend double square(sample s); ; double square(sam

    29、ple s) return s.x*s.x; int main() sample s1 (20),s2(30); coutsquare(s2)end1; return 0; 执行结果是(分数:2.00)A.20B.30C.900 D.400解析:解析 本题考核友元函数的应用。程序中函数 square 是类 sample 的一个友元函数,它可以直接访问类 sample 的所有成员。它的功能是返回类 sample 的私有数据成员 x 的平方。所以程序的执行结果是:900。 注意:友元函数不是类的成员函数,在类外定义时不要加上类名及其作用域运算符 (:)。友元函数的调用与一般函数的调用的方式和原理一

    30、致,可以在程序的任何地方调用它。6.有以下程序 #include iostream #include string using namespace std; class base private: char baseName10; public: base() strcpy(baseName,“Base“); virtual char *myName() return baseName; char *className() Return baseName; ; class Derived: public base private: char derivedName10; public: Der

    31、ived() strcpy(derivedName,“Derived“ ); char *myName() return derivedName; char *className() return derivedName; ; void showPtr(base int main() base bb; Derived dd; showPtr(dd); return 0; 运行后的输出结果为(分数:2.00)A.Derived Base B.Base BaseC.Derived DerivedD.Base Derived解析:解析 本题考核虚函数的应用。类 Derived 是从基类 Base 公

    32、有派生而来的。因此, Derived 是基类 Base 的子类型。main()函数中定义了一个基类对象比和一个派生类对象 dd。从程序中可看出派生类Derived 的对象 dd 交给了处理基类 Base 的对象的函数 showPtr 进行处理。由于在基类中函数 myName 被定义成虚函数。所以在函数 showPtr 中调用的 myName 函数为派生类的成员函数 myName,从而输出Derived。 然后输出 className,即基类名称 Base。7.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是(分数:2.00)

    33、A.test(5);B.test(5,8);C.test(6,#; D.test(0,0,*);解析:解析 本题考核函数的调用。题中函数声明带有默认参数,那么在 C 选项的调用中,将会把字符型实参#赋值给整型形参 b,这不符合参数传递规则。8.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接 C.投影D.并解析:解析 连接运算是对两个关系进行的运算,其意义是从两个关系的笛卡尔积中选出满足给定属性间一定条件的那些元组。而两个关系的笛卡尔积中的属性个数是两个原关系中的属性个数之和。即两个关系经连接运算后得到的新关系中属性个数多于原来关系

    34、中属性个数。正确答案是 B。9.下列关于 E-R 图的描述中正确的是(分数:2.00)A.E-R 图只能表示实体之间的联系B.E-R 图只能表示实体和实体之间的联系C.E-R 图只能表示实体和属性D.E-R 图能表示实体、属性和实体之间的联系 解析:解析 E-R 图中,用 3 种图框分别表示实体、属性和实体之间的联系:矩形框表示实体,框内标明实体名;椭圆状框表示实体的属性,框内标明属性名;菱形框表示实体间的联系,框内标明联系名;实体与其属性之间以无向边连接,菱形框与相关实体之间也用无向边连接,并在无向边旁标明联系的类型。 综上所述,用 E-R 图不仅可以简单明了地描述实体及其相互之间的联系,还

    35、可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的联系。选项 A、B、C 的说法都错误,本题的正确答案是 D。10.在关系模型中,(分数:2.00)A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式 D.一个关系可以包括多个二维表解析:解析 在关系模型中,不需要事先构造数据的逻辑关系,只要将数据按照一定的关系存入计算机,也就是建立关系,选项 A 错误。对于表示关系的二维表,其最基本的要求是,表中元组的每一个分量必须是不可分的数据项,即不允许表中再有表,选项 B 和 D 错误。本题的正确答案是 C

    36、。11.下列对变量的引用中,错误的是(分数:2.00)A.int a; int B.char a; char C.iht a; int p =a; D.float a; float 解析:解析 本题考核引用的定义和初始化。引用具有如下特点:引用能够使用任何合法变量名:引用不是变量,所以必须在定义时初始化,而且一旦初始化之后,就不能再成为其他变量的引用;引用不是值,不占存储空间,说明引用时, 目标的存储状态不会改变。所以,引用只有说明,没有定义;引用仅在说明时带有“ class A private: int a; public: A(int i) a=i; void disp() cout a“

    37、,“; ; class B private: int b; public: B(int j) b=j; void disp() coutb“,“; ; class C: public B,public A private: int c; public: C(int k):A(k-2),B(k+2) c=k; void disp() A:disp(); B:disp(); coutcend1; ; int main() C obj (10); obj.disp(); return 0; 程序执行后的输出结果是(分数:2.00)A.10,10,10B.10, 12,14C.8,10,12D.8,1

    38、2,10 解析:解析 本题考核派生类构造函数的使用。本题中,派生类 C 具有多重继承关系,所以在派生类 C的构造函数中应该包含基类 A 和 B 的成员初始化列表。14.通过公有派生类的对象,只能访问基类成员中的(分数:2.00)A.公有成员 B.私有成员C.保护成员D.公有成员和保护成员解析:解析 本题考核派生类的访问权限。派生类的继承方式有三种:公有继承 public、私有继承private 和保护继承 protected。当公有派生时,派生类成员函数只能访问基类的公有成员和保护成员,但是通过派生类的对象只能访问基类的公有成员。15.下面有关重载函数的说法中正确的是(分数:2.00)A.重载

    39、函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表 D.重载函数名可以不同解析:解析 函数重载允许用同一个函数名定义多个函数。被重载的函数必须要有不同的形参列表。不可以根据函数返回值类型来重载函数。16.有以下程序: class Date public: 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 month = d.month; day = a.day; void p

    40、rint() coutyear“.“month“.“dayend1; private: int year, month,day; ; Date fun(Date d) Date temp; temp = d; return temp; int main() Date date 1 (2000,1,1),date2(0,0,0); Date date3(date 1); date2 = fun(date3); return 0; 程序执行时,Date 类的拷贝构造函数被调用的次数是(分数:2.00)A.2B.3 C.4D.5解析:解析 本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了

    41、3 次:第一次是在执行语句 Date date3(date1);时,用已经建立的对象 date1 对正在建立的对象 date3 进行初始化;第二次是在调用 fun 函数时,由于是传值调用,因此实参对象 date3 要对形参对象 d 进行初始化;第三次是在执行fun 函数中的返回语句 return temp;时,系统用返回初始化一个匿名对象时使用了拷贝构造函数。17.考虑下面的函数原型: void f(int a,int b=7,char c=); 下面的函数调用中,不合法的是(分数:2.00)A.f(5)B.f(5,8)C.f(6,class T2解析:解析 本题考核模板的定义。模板定义的类型

    42、参数表中包含一个或多个由逗号分隔的类型参数项,每一项由关键字 class 后跟一个用户命名的标识符,此标识符为类 型参数,它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。19.一棵二叉树中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为(分数:2.00)A.221B.219 C.231D.229解析:解析 在任意一棵二叉树中,度为 0 的结点(也就是叶子结点)总比度为 2 的结点多一个。由于本题中的二叉树有 70 个叶子结点,所以有 69 个度为 2 的结点。该二叉树中总结点数为:度为 2 的结点数+度为

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

    44、 int x=15; while(x10 if(x/3) x+; break; coutxend1; return 0; 执行后的输出结果是(分数:2.00)A.15B.16C.17 D.18解析:解析 本题考核选择语句与循环语句的嵌套。由程序可知,当 x=16 时,满足 if 条件表达式,进入 if 分支,执行“x+;break;”,所以最后程序输出 x 的值为 17。22.以下非法的赋值表达式是(分数:2.00)A.n=(i=2,+;B.j+;C.+(i+1); D.x=j0;解析:解析 对于任何一种赋值运算,其赋值号或复合赋值号左边必须是一个左值。左值是指具有对应的可由用户访问的存储单元

    45、,并且能够由用户改变其值的量。而在 C 选项中赋值号对应的是表达式“i+l”,不是一个左值,因此是非法的赋值表达式。23.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eof C.badD.good解析:解析 本题考核 C+流的文件操作。C+中可以用文件流对象的下列成员函数来判别文件流的当前状态。函数 is_open():判定流对象是否与一个打开的文件相联系,若是,返回 true,否则返回 false:函数 good():刚进行的操作成功时返回 true,否则返回 false。函数 fail(

    46、):与 good()相反,刚进行的操作失败时返回 true,否则返回 false。函数 bad():如果进行了非法操作返回 true,否则返回 false。函数 eof():进行输入操作时,若到达文件尾返回 true,否则返回 false。其中,eof 函数只能用于输入流操作。24.下面对对象概念描述错误的是(分数:2.00)A.任何对象都必须有继承性 B.对象是属性和方法的封装体C.对象间的通讯靠消息传递D.操作是对象的动态属性解析:解析 继承是面向对象的方法的一个主要特征。继承是使用已有的类定义做为基础建立新类的定义技术。已有的类可当做基类来引用,则新类相应地可当做派生类来引用。但并不是所有的对象都必须有继承性。因此,选项 A 中的说法是错误的,应为所选。25.若有一个 MyClass 类,则执行语句 MyClass a,b(2),*p;后,自动调用该类的构造函数 ( )次。(分数:2.00)A.2 B.3C.4D.5解析:解析 本题考核构造函数的调用。C+在创建一个对象时,会自动调用类的构造函数,在构造函数中可以执行初始化成员变量的操作。语句 MyClas


    注意事项

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




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

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

    收起
    展开