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

    【计算机类职业资格】二级C++分类模拟285及答案解析.doc

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

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

    【计算机类职业资格】二级C++分类模拟285及答案解析.doc

    1、二级 C+分类模拟 285 及答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.在 C+中,cin 是一个_。(分数:2.50)A类B.对象C.模板D.函数2.将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr3.下列关于赋值运算符“=”重载的叙述中,正确的是_。(分数:2.00)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算符实现了“深层复制”功能C.重

    2、载的赋值运算符函数有两个本类对象作为形参D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符4.下列控制格式输入输出的操作符中,能够设置浮点数精度的是_。(分数:2.50)A.setprecisionB.setwC.setfillD.showpoint5.有下列程序: #include stdio.h #include“string.h“ tyoedef structchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“,“m“,85.0,90.0;int i;strcpy(a.name,b.name); a.s

    3、ex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c.name,c.sex, c.score0,c.score1); 程序的运行结果是_。(分数:2.50)A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,906.在下面的定义语句中,画线处应填入的内容是 class Fred public: void print( )coutdataendl; vo

    4、id setData(double D) data=d; static int count; private: double data; ; _count=0;/静态数据成员的定义(分数:2.00)A.intB.static intC.int Fred:D.static int Fred:7.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值8.要定义一个引用变量

    5、 p,使之引用类 MyClass 的一个对象,正确的定义语句是_。(分数:2.50)A.MyClass p=MyClass;B.MyClass p=new MyClass;C.MyClassD.MyClass a, 9.对虚函数的调用 _ 。(分数:1.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编10.有如下程序: #include iostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()ret

    6、urn count; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.121B.232C.221D.12211.在数据库系统中,把具有以下特征中之 _ 两个特征的数据模型称为网状模型。(分数:2.00)A.允许有一个以上

    7、的结点没有双亲B.有且仅有一个结点无双亲C.根以外的结点有且仅有一个双亲D.一个结点可以有多个双亲12.语句 ofstream outf(“TEST.DAT“,ios_base:app);的功能是建立流对象 outf,并试图打开文件TEST.DAT 与 outf 关联,而且 _ 。(分数:2.00)A.如果文件存在,打开失败:如果文件不存在,建立一个新文件B.如果文件存在,将文件指针定位于文件首;如果文件不存在,打开失败C.如果文件存在,将文件指针定位于文件尾:如果文件不存在,建立一个新文件D.如果文件存在,将其置为空文件;如果文件不存在,打开失败13.下列关于虚基类的描述,错误的是_。(分数

    8、:1.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数14.派生类的成员函数不能访问基类的(分数:2.00)A.公有成员和保护成员B.公有成员C.私有成员D.保护成员15.下列程序的输出结果是_。 #includeiostream.h void main() char*str=“12123434“; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;stri!=“/0“;i+) switch (

    9、stril) case“1“:x4+; case“2“:x3+; case“3“:x2+; case“4“:x1+; coutx1“,“x2“,“x3“,“x4; (分数:1.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,216.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值17.已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,

    10、正确的是_。(分数:1.00)A.Value operator+(Value v,int i);B.Value operator+(Value v=value,int i);C.Value operator+(Value vint i=0);D.Value operator+(Value v=value,int i=0);18.有如下类定义: class A char *a; public: A():a(0) A(char *aa) /把 aa 所指字符串复制到 a 所指向的存储空间 a=_; strcpy(a, aa); strcpy(a, aa); A()deletea; ; 横线处应填写

    11、的表达式是_。(分数:2.50)A.new charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-119.下面关于运算符重载的描述错误的是(分数:1.00)A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operatorD.在 C+语言中不可通过运算符重载创造出新的运算符20.字符串“a+b=12/n/t”的长度为_。(分数:2.50)A.12B.10C.8D.621.数据库技术的根本目标是_。(分数:

    12、2.50)A.数据存储B.数据共享C.数据查询D.数据管理22.有如下程序: class Base public: int data; ; class Derivedl: public Base ; class Derived2: protected Base ; int main() Derivedl d1; Derived2 d2; d1. data=0;/ d2. data=0;/ return 0; 下列关于程序编译结果的描述中,正确的是_。(分数:1.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误D.皆有编译错误23.有如下四个语句: cout“A“set

    13、fIll(“*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)rightsetw(7)“A“B“endl; 其中能显示 A*B 的是_。(分数:1.00)A.和B.和C.和D.和24.关系数据库管理系统能实现的专门关系运算包括_。(分数:2.50)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表25.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(

    14、分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0;D.if(aB) n=1; else if(b=C) n=1; else if(bC) n=1; else n=0;26.已知一程序运行后执行的第一个输出操作是_。 coutsetw(10)setfill(*)1234 则此操作的输出结构是(分数:2.50)A.1234B.*1234C.*1234D.1234*27.下列关于子类型的描述中,错误的是_。(分数:2.50)A.子类型关系是可逆的B.公有派生类的对象可以

    15、初始化基类的引用C.只有在公有继承下,派生类是基类的子类型D.子类型关系是可传递的28.下列关于构造函数的说法中,正确的是_。(分数:2.50)A.构造函数不能重载B.构造函数的返回值为 voidC.构造函数中可以使用 this 指针D.用户必须为定义的类提供构造函数29.为完成下面的程序,应在划线处填入的语句是 #includeiostream using namespace std; class Base private: int x; public: Base(int i) x=i; Base() ; class Derived:public Base public: _ /完成类 De

    16、rive 构造函数的定义 ; int main() Derived obj; return 0; (分数:2.00)A.Derived(int i):Base(i)B.Derived()C.Void Derived (int i):Base(i)D.Denved(int i)Base(i);30.有如下说明: int a10=1, 2, 3, 4,5,6, 7, 8, 9, 10, *p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+831.对于模板定义关键字 class 和 typename 说法不正确的是 _ 。(分数:2.00)A.

    17、程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename32.有如下程序: #includeiostream using namespace std; int main() void function(double val): double val; function(val); coutval; retum0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:1.00)A.编

    18、译出错,无法运行B.输出:3C.输出:3.0D.输出一个不确定的数33.以下叙述正确的是_。(分数:1.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义34.已知类 Base 和类 Derived 的定义如下: class Base int n; public: Base(int d):n(d) ; class Derived: public Base public: _ ; 其中横线处应为类 Derived 的构造函数的定义。在下列构造函数的定义中,正确的是(分数:2.50)A.Deriv

    19、ed(int i)Base(i);B.Derived(int i):Base(i)C.Derived(int i)n=i;D.Derived(int i):n(i)35.若要向一个文件的末尾添加数据,则需使用的打开方式是(分数:2.50)A.ios_base:inB.ios_base:outC.ios_base:appD.ios_base:trunc36.对下面的程序,正确的说法是 _ 。 main() int a,b=1,c=2; a=b+c,a+b,c+3; c=(c)? a+:b-; cout a+b,c;(分数:2.00)A.无错误B.第三行有错误C.第四行有错误D.第五行有错误37.

    20、有下列程序: #include stdio.h void main() char*s=“ABC“; do printf(“%d“,*s%1();s+; while(*s); 注意:字母 A 的 ASCII 码值为 65。程序运行后的输出结果是_。(分数:2.50)A.5670B.656667C.567D.ABC38.下列数据结构中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.循环队列B栈C.队列D.二叉树39.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是_。(分数:3.00)A.void fun(int a=

    21、90,double b=0.0);B.int fun(int a,double );C.void fun(double a,int );D.bool fun(int a,double b=0.0);40.设有以下定义和程序: #include iostream.h class A1 public: void showl() cout“class A1“end1; ; Class A2 : public A1 public: void show2() cout“Class A2“end1; ; Class A3 : protected A2 public: void show3() cout”C

    22、lass A 土”end1; ; void main() A1 obj1; A2 obj2; A3 obj3; 则以下不合语法的调用语句是 _ 。(分数:1.00)A.obj1show1();B.obj2show1();C.obj3show1();D.obj2show2();二级 C+分类模拟 285 答案解析(总分:73.50,做题时间:90 分钟)一、选择题(总题数:40,分数:73.50)1.在 C+中,cin 是一个_。(分数:2.50)A类B.对象 C.模板D.函数解析:解析 C+提供了一套输入、输出流类的对象,它们是 cin、cout 和 cerr,对应 C 语言中的 3 个文件指

    23、针 stdin、stdout、stderr,分别指向终端输入、终端输出和标准出错输出(也从终端输出)。cin与一起完成输入操作,cout、cerr 与一起完成输出与标准错误输出。2.将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr 解析:解析 非成员函数重载用友元函数的形式实现,“- -”运算符重载分为前置和后置两种重载方式。用友元函数来实现“- -”运算符的重载时,前置“- -”运算符的重载的一般格式为:fr

    24、iendtypeoperator- -(ClassNamechar sex;float score2;STU; void f(STU a) STU b=“Zhao“,“m“,85.0,90.0;int i;strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+)a.scorei=b.scorei; void main() STU c=(“Qian“,“f“,g5.0,92.0); f(c); printf(“%s,%c,%2.of,%2.of/n“,c.name,c.sex, c.score0,c.score1); 程序的运行结果是_。(分数:2.5

    25、0)A.Qian,f,95,92 B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90解析:解析 本题考查在结构体中函数的调用,主函数调用 f(c)后,实参传向形参,但程序中没有返回语句,故形参不能将值传回实参,实参之间值的传递具有不可逆性,所以 printf 输出的还是 c 中实参的值。6.在下面的定义语句中,画线处应填入的内容是 class Fred public: void print( )coutdataendl; void setData(double D) data=d; static int count; private: double data;

    26、 ; _count=0;/静态数据成员的定义(分数:2.00)A.intB.static intC.int Fred: D.static int Fred:解析:解析 静态数据成员在类中声明,对它的访问可通过类名进行。7.已知在一个类体中包含如下函数原型:VOLUMEOPER ATOR-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:1.00)A.这是运算符一的重载运算符函数B.这个函数所重载的运算符是一个一元运算符 C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 本题考核运算符的重载。题中语句为运算符一这是一个二元运算符,且是作为常成员函数来

    27、重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用 const 修饰的成员函数。8.要定义一个引用变量 p,使之引用类 MyClass 的一个对象,正确的定义语句是_。(分数:2.50)A.MyClass p=MyClass;B.MyClass p=new MyClass;C.MyClass D.MyClass a, 解析:解析 C 项是动态创建引用 p 使它指向 MyClass 类的对象。引用的格式类型名 class MyClass public: MyClass()+count; MyClass()-count; static int getCount()return count

    28、; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.121 B.232C.221D.122解析:解析 本题考查静态数据成员。静态数据成员在内存中只占一份空间,静态数据成员属于类,即使不定义对象,也会给静态数据成员分配空间

    29、,可以被引用。本题中先是定义了一个对象 obj,执行构造函数使得静态数据成员 count 变为了 1,然后又定义了指针对象,执行构造函数后,count 变为了 2,释放指针后,执行析构函数,使得 count 变为了 1。所以本题答案为 A。11.在数据库系统中,把具有以下特征中之 _ 两个特征的数据模型称为网状模型。(分数:2.00)A.允许有一个以上的结点没有双亲B.有且仅有一个结点无双亲 C.根以外的结点有且仅有一个双亲D.一个结点可以有多个双亲解析:12.语句 ofstream outf(“TEST.DAT“,ios_base:app);的功能是建立流对象 outf,并试图打开文件TES

    30、T.DAT 与 outf 关联,而且 _ 。(分数:2.00)A.如果文件存在,打开失败:如果文件不存在,建立一个新文件B.如果文件存在,将文件指针定位于文件首;如果文件不存在,打开失败C.如果文件存在,将文件指针定位于文件尾:如果文件不存在,建立一个新文件 D.如果文件存在,将其置为空文件;如果文件不存在,打开失败解析:解析 ofstream outf(“TEST.DAT“,ios_base:app);是以 ios_base:app 疗式打开文件,若文件存在,将文件指针定位于文件尾。若文件不存在,建立一个新文件。13.下列关于虚基类的描述,错误的是_。(分数:1.00)A.设置虚基类的目的是

    31、为了消除二义性B.虚基类的构造函数在非虚基类之后调用 C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数解析:解析 虚基类的引入就是为了消除二义性,其构造函数的调用仍然是按照继承的顺序进行的,对于多个虚基类则按它们说明的次序调用,虚基类的构造函数先于非虚基类的构造函数执行。14.派生类的成员函数不能访问基类的(分数:2.00)A.公有成员和保护成员B.公有成员C.私有成员 D.保护成员解析:解析 本题考查的知识点是:派生类对基类成员的访问。派生类对基类中各成员的访问能力与继承方式无关,其成员不能

    32、访问基类中的私有成员,可以访问基类中的公有成员和保护成员。15.下列程序的输出结果是_。 #includeiostream.h void main() char*str=“12123434“; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;stri!=“/0“;i+) switch (stril) case“1“:x4+; case“2“:x3+; case“3“:x2+; case“4“:x1+; coutx1“,“x2“,“x3“,“x4; (分数:1.00)A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,2 解析:解析 本题考查循环的嵌套,f

    33、or 和 switch 语句的应用,C+中各种条件判断、循环语句的用法。只要注意在 C+语言中,系统在字符指针的最后位置会增加一个字符串结束符“/0“,执行 8 次 for 循环,再根据 switch 语句中的条件易知答案。16.模板对类型的参数化提供了很好的支持,因此_。(分数:1.00)A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类 C.在类模板中的数据成员都具有同样类型D.类模板中的成员函数都没有返回值解析:解析 本题考查类模板的基本概念。类模板的定义和声明都以关键字 template 开头。关键字后面是一个用逗号分隔的模板参数表,用尖括号“”括

    34、起来,这个表被称为类模板的模板参数表。类模板是类的抽象,类是类模板的实例。类模板使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。所以 B 选项正确。17.已知 Value 是一个类,Value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是_。(分数:1.00)A.Value operator+(Value v,int i);B.Value operator+(Value v=value,int i); C.Value operator+(Value vint i=0);D.Value operator+(Value v=value,int

    35、i=0);解析:解析 非成员函数的重载运算符函数的格式为 operator+(),是运算符十重载函数。18.有如下类定义: class A char *a; public: A():a(0) A(char *aa) /把 aa 所指字符串复制到 a 所指向的存储空间 a=_; strcpy(a, aa); strcpy(a, aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.new charstrlen(aa)+1 B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-1解析:解析 用 new 来动态创

    36、建空间,数组长度应该为将要复制的字符串长度+1。19.下面关于运算符重载的描述错误的是(分数:1.00)A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operator D.在 C+语言中不可通过运算符重载创造出新的运算符解析:解析 例如“”运算符就不能被重载;通过重载可以创造新的运算方式,但是不能臆造新的运算符;定义的时候必须使用关键字 operator,而调用时可直接使用运算符。20.字符串“a+b=12/n/t”的长度为_。(分数:2.50)A.12B.10C.8 D.6解析:解析

    37、本题考查的知识点是字符串的长度,a+b=12/n/t 中/n 表示换行,/t 代表制表符,总长度为 8。21.数据库技术的根本目标是_。(分数:2.50)A.数据存储B.数据共享 C.数据查询D.数据管理解析:解析 数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享,所以数据库技术的根本目标是解决数据共享问题。22.有如下程序: class Base public: int data; ; class Derivedl: public Base ; class Derived2: prote

    38、cted Base ; int main() Derivedl d1; Derived2 d2; d1. data=0;/ d2. data=0;/ return 0; 下列关于程序编译结果的描述中,正确的是_。(分数:1.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误 D.皆有编译错误解析:解析 本题考查公用继承和保护继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有。在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。本题中 Dezived1 公用继承。Base,

    39、所以编译正确,Derived2 保护继承 Base,所以编译不正确。23.有如下四个语句: cout“A“setfIll(“*“)leftsetw(7)“B“endl; coutsetfill(“*“)leftsetw(7)“A“B“endl; cout“A“serfill(“*“)rightsetw(7)“B“endl; coutsetfill(“*“)rightsetw(7)“A“B“endl; 其中能显示 A*B 的是_。(分数:1.00)A.和B.和C.和 D.和解析:解析 本题考查 C+流的使用。setfill()的作用是设置填充字符;left 的作用是使输出数据在指定宽度内左对齐;

    40、right 的作用是使输出数据在指定宽度内右对齐。24.关系数据库管理系统能实现的专门关系运算包括_。(分数:2.50)A.排序、索引、统计B.选择、投影、连接 C.关联、更新、排序D.显示、打印、制表解析:解析 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。25.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是 _ 。(分数:2.00)A.if(a=B) n=0;B.if(aB) |(bC) )n=1; else n=0;C.if(aB) if(bC) n=h else n=0; else n=0; D.if(aB) n=1; else if(b=

    41、C) n=1; else if(bC) n=1; else n=0;解析:解析 条件表达式(ab?(bc?1:0):0)的含义是,如果 ab 成立,则此表达式的值等于条件表达式(bc?1:0)的值,否则其值等于 0。而条件表达式(bc?1:0)的含义是,如果 bc 成立,其值等于1,否则其值等于 0。26.已知一程序运行后执行的第一个输出操作是_。 coutsetw(10)setfill(*)1234 则此操作的输出结构是(分数:2.50)A.1234B.*1234 C.*1234D.1234*解析:解析 setw 用于宽度设置,输出数据靠右排列。当实际数据宽度小于指定宽度时。多余位置用填充字

    42、符(通常是空格)填满;当实际数据宽度大于设置宽度时,仍按实际宽度输出。初始宽度值为 0,表示按实际宽度输出。setfill 用来设置填充字符。初始填充字符为空格,可以将别的字符设置为填充字符。设置的填充字符一直有效,直到再次设置为止。题中,输出 1234,占 10 个宽度且为右对齐方式,不足 10个,用*填充,故答案选 B。27.下列关于子类型的描述中,错误的是_。(分数:2.50)A.子类型关系是可逆的 B.公有派生类的对象可以初始化基类的引用C.只有在公有继承下,派生类是基类的子类型D.子类型关系是可传递的解析:28.下列关于构造函数的说法中,正确的是_。(分数:2.50)A.构造函数不能

    43、重载B.构造函数的返回值为 voidC.构造函数中可以使用 this 指针 D.用户必须为定义的类提供构造函数解析:解析 本题考查的是构造函数的相关知识。构造函数是类成员函数,它除了具有一般成员函数的特性之外,还具有一些特殊的性质:(1)构造函数的名字必须与类名相同;故选项 A 错误;(2)构造函数不指定返回类型,它隐含有返回值,由系统内部使用;故选项 B 错误;(3)构造函数可以有一个或多个参数,因此构造函数可以重载;(4)在创建对象时,系统会自动调用构造函数,故选项 D 错误。故选择 C。29.为完成下面的程序,应在划线处填入的语句是 #includeiostream using name

    44、space std; class Base private: int x; public: Base(int i) x=i; Base() ; class Derived:public Base public: _ /完成类 Derive 构造函数的定义 ; int main() Derived obj; return 0; (分数:2.00)A.Derived(int i):Base(i) B.Derived()C.Void Derived (int i):Base(i)D.Denved(int i)Base(i);解析:解析 本题考核派生类中的构造函数。程序中,类 Derived 是基类

    45、Base 的公有派生。在类Derived 的构造函数应该包括调用基类构造函数使基类的数据成员得以初始化。30.有如下说明: int a10=1, 2, 3, 4,5,6, 7, 8, 9, 10, *p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8) C.*p+=9D.p+8解析:解析 本题考查指向数组的指针,本题中指针变量 p 指向数组 a,那么*p 的值就是 1,即表示数组的第一个元素,那么数值为 9 的表达式就是将指针向后移动 8 个地址,即 p+8 指向的是数组元素值为9,所以数值为 9 的表达式是*(p+8)。31.对于模板定义关键字 class 和

    46、 typename 说法不正确的是 _ 。(分数:2.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换 C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename解析:解析 在 C+程序中的 typename 是都可以替换为 class 的,但 clgss 不能都替换为 typename。32.有如下程序: #includeiostream using namespace std; int main() void function(double val): double val; function(val); coutval; retum0; void function(double val) val=3; 编译运行这个程序将出现的情况是_。(分数:1.00)A.编译出错,无法运行B.输出:3C.输出:3.0D.输出


    注意事项

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




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

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

    收起
    展开