【计算机类职业资格】二级C++-217及答案解析.doc
《【计算机类职业资格】二级C++-217及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-217及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-217及答案解析(总分:68.50,做题时间:90 分钟)一、选择题(总题数:40,分数:68.50)1.有如下程序: # includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name, _n);count+: Toy()count-; char*GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0; int ma
2、in() Toy t1(“snoopy“),t2(“Mickey“),t3(“Barbie“); toutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3D.运行时出错2.对于类定义: class A public: virtual void func1() void func2() ; class B:public A public: void func1()cout“class B fune 1“endl; virtual void func2()cout“class B func 2“endl; ; 下面正确的叙述是()
3、。(分数:1.00)A.A:func2()和 B:func1()都是虚函数B.A:func2()和 B:func1()都不是虚函数C.B:funcl()是虚函数,而 A:func2()不是虚函数D.B:func1()不是虚函数,而 A:func2()是虚函数3.信息隐蔽的概念与下述哪一种概念直接相关_。(分数:2.50)A.软件结构定义B.模块独立性C.模块类型划分D.模拟耦合度4.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin是一个输入流对象B.可以用 ifstream定义一个输出流对象C.执行语句序列 char *y=“PQMN“; couty;将输出字符串“PQMN“的地
4、址D.执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year则 x中的字符串是“Happy“5.有下列程序: #include stdio. h void fun(int a,int n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i; an-1-i=t; void main() int k10=1,2,3.4,5,6,7,8,(),10),i; fun(k,5); for(i=2,i8;i+)printf(“%d“,ki); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.3456
5、78B.876543C.1098765D.3216786.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: vold Display()/*函数体程序略*/ ; int main() Instrument s; Instrument*p=0; /.; return 0; 下列叙述中正确的是_。(分数:2.50)A.语句“Insturment*p=0;”编译时出错B.语句“In
6、strument s;”编译时出错C.类 Piano中的 Display函数不是虚函数D.类 Instrumen是一个虚基类7.以下程序的输出结果是_。 #includeiostream.h long fun(int n) long s; if(n=1|n=2)s=2; else s=n-fun(n-1); return S; void main() coutfun(3);(分数:1.00)A.1B.2C.3D.48.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:1.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由
7、小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件9.有如下程序: #inCludeiostream using namespace std; Class TestClass public: virtUal void furll() cout“funlTestclass”; virtual void fun2() cout“fun2TestClass”; class TestClassl:public TestClass void fun() cout“funlTestClass1”; int main() TestClass obj1,*p;
8、TestClassl obj2; p class D:public B protected:void fun4() ; 若 obj是类 D的对象,则下列语句中不违反访问控制权限的是_。(分数:1.00)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();11.支持子程序调用的数据结构是_。(分数:1.00)A栈B树C.队列D.二叉树12.语句 ofstream outf(“TEST.DAT“,ios_base:app);的功能是建立流对象 outf,并试图打开文件TEST.DAT与 outf关联,而且 _ 。(分数:2.00)A.如果文件存在
9、,打开失败:如果文件不存在,建立一个新文件B.如果文件存在,将文件指针定位于文件首;如果文件不存在,打开失败C.如果文件存在,将文件指针定位于文件尾:如果文件不存在,建立一个新文件D.如果文件存在,将其置为空文件;如果文件不存在,打开失败13.下列运算符函数中肯定不属于类 FunNumber的成员函数的是_。(分数:1.00)A.int operator-(FunNumber);B.FunNumber operator-();C.FunNumber operator-(int);D.int operator-(FunNumber, FunNumber);14.若 MyTemp是一个具有虚拟类型
10、参数的类模板,且 有如下语句序列: MyTempdoublep2; MyTemplongp32; 编译系统在处理上面的语句序列时,所生成的模板 MyTemp的实例的个数是_。(分数:2.50)A.1B.2C.3D.415.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的(分数:1.00)A.安全性B.一致性C.可理解性D.合理性16.下列关于 C+函数的说明中,正确的是_。(分数:1.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根
11、据函数的返回值类型和参数表来区分函数的不同重载形式17.有如下程序: #include iostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count; static int getCount()return count; private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getC
12、ount(); delete ptr; coutMyClass:getCount(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.121B.232C.221D.12218.将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr19.C源程序中不能表示的数制是_。(分数:2.50)A.二进制B.八进制C.十进制D.十六进制20.有如下程序: #includeiostream #include
13、iomanip US ing namespace std; int main() coutsetw(10)setfill(“x“) setprecision(8)left; cout12.345679_98765; return 0; 若程序的输出时 12.34567998765,则画线处缺失的部分是_。(分数:2.50)A.setw(10)B.setfill(“x“)C.setprecision(8)D.right21.当派生类继承一个基类时,默认的继承方式为_。(分数:2.50)A.pubncB.protectedC.privateD.不确定22.下列关于文件流的描述中,正确的是_。(分数
14、:2.50)A.文件流只能完成针对磁盘文件的输入、输出B.建立一个文件流对象时,必须同时打开一个文件C.若输入流要打开的文件不存在,将建立一个新文件D.若输出流要打开的文件不存在,将建立一个新文件23.有如下程序: #includeiostream using namespace std; class Con char ID; public; Con():ID(“A)cout1; Con(char ID):ID(ID)cout2; Con(Conc):ID(c.getID()cout3; char getID()constreturn ID; void show(Con c)coutc.get
15、ID(); int main() Con c1; sllow(c1); Con c2(“B“); show(c2); return 0; 执行上面程序的输出结果是_。(分数:2.50)A.13A23AB.23A13BC.13A23BD.13823A24.下列叙述中正确的是_。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率25.有如下程序: #includeiostream #includeio
16、manip using namespace std; int main() coutsetw(10)serfill(“x“)setprecision(8)left; cout12.3456793_98765; return 0; 若程序的输出是 12.345679x98765xxxxx,则划线处缺失的部分是_。(分数:2.50)A.setw(10)B.setfill(“x“)C.setprecision(8)D.right26.在软件开发中,需求分析阶段产生的主要文档是_。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书27.下面关于继承机制的描述
17、中,不正确的是 _ 。(分数:1.00)A.派生类不仅可以继承基类的成员,也可以添加自己的成员B.设置 protected成员是为派生类访问基类成员之用C.采用不同的继承方式,将限制派生类对基类成员的访问D.采用私有继承,派生类只能得到基类的公有成员28.假定 AB为一个类,则执行 AB x;语句时将自动调用该类的(分数:2.00)A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值重载函数29.有如下程序: #includeiostream using namespace std; intmain() int f,f1=0,f2=1; for(int i=3;i=6;i+) f=f1+f
18、2; f1=f2;f2=f; coutfendl; return 0; 运行时的输出结果是_。(分数:2.50)A.2B.3C.5D.830.数据处理的最小单位是_。(分数:1.00)A.数据B.数据元素C.数据项D.数据结构31.若 MyClass为一个类,执行“MyClass a4, *p5;”语句时会自动调用该类的构造函数的次数是_。(分数:2.50)A.2B.5C.4D.932.有如下说明: 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+833.包容类 Contain和
19、内嵌类 Embed定义如下: #includeiostream.h class Contain private: int X; protected: int z; public: class Embed private: int y; public: Embed()y=100; int Embed_Fun(); MyEmbed; int Contain_Fun(); ; 对上面的定义,正确的描述是 _ 。(分数:1.00)A.定义类 Embed对象的语句是:Contain? Embed embed;B.类 Contain的成员函数 Contain_Fun()中可以用 MyEmbe D.y的方式
20、访问类 Embed的私有成员 yC.类 Embed的成员函数 Embed_Fun()中可以直接访问 Contain的私有成员 xD.类 Embed的成员函数 Embed_Fun()中可以直接访问 Contain的保护成员 Z34.针对数组定义 int data10;,下列表述中错误的是(分数:1.00)A.用*data 可访问到数组的首元素B.用 data9可访问到数组的末元素C.用 data10访问数组元素会超出数组边界D.data共有 10个元素,其首元素是 data135.有函数模板声明和一些变量定义如下: templateclass T1, class T2, class T3T1 s
21、um(T2, T3); double d1, d2; 则下列调用中,错误的是_。(分数:2.50)A.sumdouble, double, double(d1, d2);B.sumdouble, double(d1, d2);C.sumdouble(d1, d2);D.sum(d1, d2);36.下列各组类型声明符中,含义相同的一组是_。(分数:1.00)A.unsigned long int和 longB.signed short int和 shortC.unsigned short和 shortD.short int和 int37.计算斐波那契数列第 n项的函数定义如下: int fib
22、(int n) if(n=0) return 1; else if(n=1) return 2; else return fib(n-1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib被调用的次数是_。(分数:2.50)A.1B.2C.3D.438.下列关于构造函数的描述中,错误的是_。(分数:1.00)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数39.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetw(10)set
23、fill(“x“)setprecision(8)left; cout12.3456793_98765; return 0; 若程序的输出是 12.345679x98765xxxxx,则划线处缺失的部分是_。(分数:2.00)A.setw(10)B.setfill(“x“)C.setprecision(8)D.right40.下列选项中,错误的 C+表达式是_。(分数:2.00)A.a+B.“b“=10C.double(3/5)D.x+!=3|y二级 C+-217答案解析(总分:68.50,做题时间:90 分钟)一、选择题(总题数:40,分数:68.50)1.有如下程序: # includeio
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C217 答案 解析 DOC
