【计算机类职业资格】二级C++分类模拟285及答案解析.doc
《【计算机类职业资格】二级C++分类模拟285及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++分类模拟285及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
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
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 分类 模拟 285 答案 解析 DOC
