【计算机类职业资格】二级C++-190及答案解析.doc
《【计算机类职业资格】二级C++-190及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-190及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-190 及答案解析(总分:92.50,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.如果关系模式 R 为 1NF,且每个非主属性都完全函数依赖于 R 的候选码,则称 R 属于 _。(分数:2.00)A.2NFB.3NFC.BCNFD.4NF2.下列选项中正确的定义语句是_。(分数:2.50)A.double a;b;B.double a=b=7;C.double a=7,b=7;D.double,a,b;3.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_(分数:1.00)A.ios:inB.ios:outC.ios:i
2、n | ios:outD.以上都不对4.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x (3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator-应在类中声明为 _ 。(分数:1.00)A.friend Myst operator- (Myst int main() void function(double val); double val; function(val); coutval; return 0; void fimction(double
3、val) val=3; 编译运行这个程序将出现的情况是 _ 。(分数:2.00)A.编译出错,无法运行B.输出 3C.输出:3.0D.输出一个不确定的数6.有 3 个关系 R、S 和 T 如下: (分数:2.50)A.笛卡儿积B交C并D.自然连接7.下列关于派生类的说法中,错误的是_。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了其基类的成员D.派生类中继承的基类成员的访问权限在派生类中保持不变8.以下程序的输出结果是_。 int x=5; do cout-x: while(!x);(分数:2.00)A.43210
4、B.5C.4D.无任何输出9.以下函数值的类型是 fun(float x) float y; y=3*x-4; return y; (分数:2.00)A.intB.不确定C.voidD.float10.下列叙述中正确的是_。(分数:1.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的11.有如下类的定义。空格处的语句是( )。 class MyClass _ int x,
5、 y; public: MyClass(int a=0,int b=0) x=a; y=b; static void change() x-=10; y-=10; ;(分数:1.00)A.staticB.constC.privateD.不需要填入内容12.下列程序中横线处应填入的语句是 _ 。 Class Base public: roid fun()cout“Base of fun”endl;) ; class Derived:public Base void fun() /显示基类的成员函数 fun cout“Derived Of fun”endl; ;(分数:2.00)A.fun();B
6、.Base.fun();C.Base:fun();D.Base-fun();13.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:3.00)A.这是运算符-的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值14.下面不属于软件设计原则的是 _ 。(分数:2.00)A.抽象B.模块化C.自底向上D.信息隐蔽15.执行下列语句段后,输出字符“*“的个数是_。 for(int i=50;i1;i-=2)cout“*“;(分数:2.00)A.2
7、4B.25C.26D.5016.关于 C+语言与 C 语言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言17.有如下程序: #includeiostream using namespace std; class B public: virtual void show()cout“B“; ; class D:public B public: void show()cout“D“; ; void fun1(B *ptr)ptr-show(); void f
8、un2(B void fun3(B b)b.show(); int main() B b.*p=new D; D d; fun1(p); fun2(b); fun3(d); return 0; 程序的输出结果是_。(分数:2.00)A.BBBB.BBDC.DBBD.DBD18.在 C+语言中函数返回值的类型是由_决定的。(分数:1.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型19.下列叙述中正确的是(分数:2.00)A.软件测试的主要目的是确定程序中错误的位置B.软件调试的主要目的是发现程序中错误的类型C.程序
9、经调试后还应进行测试D.软件的测试与调试工,作最好都由程序编制者来完成20.有如下语句序列: char str10;Cinstr; 当从键盘输入“I love this game”时,str 中的字符串是_。(分数:2.00)A.“I love this game“B.“I love thi“C.“I love“D.“I“21.在深度为 5 的满二叉树中,叶子结点的个数为(分数:1.00)A.31B.32C.16D.1522.下面关于对象概念的描述中, _ 是错误的。(分数:2.00)A.对象就是 C 语言中的结构体变量B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)
10、的封装体D.对象之间的信息传递是通过消息进行的23.有如下类定义: class Point private: static int how_many; ; _how_many=0; 要初始化 Point 类的静态成员 how_many,下画线处应填入的内容是_。(分数:1.00)A.intB.static intC.int Point:D.static int Point:24.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thursday,Friday=2;表达式 Wednesday= =Friday 的值是 _ 。(分数:2.00)A.falseB.trueC
11、.2D.异常25.若 MyClass 是一个类名,且有如下语句序列 MyClass c1,*c2; MyClass *c3=new MyClass; MyClass 上面的语句序列所定义的类对象的个数是_。(分数:2.00)A.1B.2C.3D.426.下列叙述中正确的是(分数:1.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令27.下列叙述中错误的是 _ 。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相
12、关D.数据的存储结构在计算机中所占的空间不一定是连续的28.有下列程序: #include stdio.h void main() (int a=1,2,3,4),y,*p=a3; -p;y=*p;printf(“y=%d/n“,y); 程序的运行结果是 _ ,(分数:2.50)A.y=0B.y=1C.y=2D.y=329.下列关于运算符函数的叙述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 operator 为前缀B.重载类型转换运算符不需要声明返回值类型C.默认的赋值运算符实现了深层复制功能D.不能为重载运算符函数的参数设置默认值30.下列关于类模板的描述中,错误的是_。(
13、分数:2.50)A.类模板的成员函数都是模板函数B.可以为类模板参数设置默认值C.类模板描述了一组类D.类模板中只允许有一个类型参数31.下列语句段将输出字符“*“的个数为_。 int i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98 个B.99 个C.100 个D.101 个32.在 E-R 图中,用来表示实体联系的图形是_。(分数:1.00)A.椭圆形B.矩形C.菱形D.三角形33.设有定义 char str80;以下不能将输入数据 first/nsecond/nCR读取到数组 str 中的语句是_。(分数:1.00)A.c
14、in.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.cin.read(str,strlen(str);34.派生类构造函数的调用顺序是先调用 _ 。(分数:2.00)A.派生类的构造函数B.基类的构造函数C.派生类的析构函数D.基类的析构函数35.( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。(分数:2.00)A.模板B类C.对象D.函数二、填空题(总题数:15,分数:31.00)36.下面是复数类 complex 的定义,其中作为友元函数重载的运算符“-”的功能是将参数对象的实部减
15、1,然后返回对该对象的引用;请补充完整。 class complex private: int real; int imag; public: complex(int r0,int i0):real(r),imag(i) void show() cout(real(imag0?”-”:”+”)(imagi; 1; ; complex b=c=d=5; i=j=k=0; for(;ab;+b)i+; while(a+c) j+; do k+; while(ad+); (分数:2.50)42.下面程序的输出结果为 _ 1_ 。 #includeiostream.h f(int a) int b=0
16、; static int c=3; b+; c+; return(a+ b+ c); void main() int a=2,i; for(i=0;i3;i+) coutf(a)end1; (分数:2.00)43.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。 (分数:2.00)44.在模块化设计过程中, _ 1_ 用来衡量模块内部各个元素彼此结合的紧密程度。 (分数:2.00)45.软件开发环境是全面支持软件开发全过程的 1 集合。 (分数:2.00)46.将一个函数声明为一个类的友
17、元函数必须使用关键字 1。 (分数:2.00)47.在下面程序横线处填上适当内容,以使该程序执行结果为: The pair is(21,55) The pair is(21.7,85.4) #include iostream using namespace std; templateclass T class pair public: T x,y; void show() cout“The pair is(“x “,“ y“)“endl; ; int main() 1; c1. show(); 2 c2. show(); return 0; (分数:2.50)48.关系代数是关系操作语言的一种
18、传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为 1。 (分数:2.00)49.已知递归函数 f 的定义如下: int f(int n) if(n1)return 1; /递归结束情况 else return n*f(n-2);/递归) 则函数调用语句 f(5)的返回值是 1。 (分数:2.00)50.虚基类是含有 _ 1_ 函数的类。 (分数:2.00)二级 C+-190 答案解析(总分:92.50,做题时间:90 分钟)一、选择题(总题数:35,分数:61.50)1.如果关系模式 R 为 1NF,且每个非主属性都完全函数依赖于 R 的候选码,则称 R 属于 _。(分数:2.00
19、)A.2NF B.3NFC.BCNFD.4NF解析:2.下列选项中正确的定义语句是_。(分数:2.50)A.double a;b;B.double a=b=7;C.double a=7,b=7; D.double,a,b;解析:解析 本题考查变量昀定义。选项 A 是两条语句,用分号隔开,只定义了 a 为 double 型;选项 B中,不允许这种声明赋值方式,语法错误;选项 D 中,类型与变量名之间不加逗号;选项 C 为正确的。3.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_(分数:1.00)A.ios:inB.ios:outC.ios:in | ios
20、:outD.以上都不对 解析:解析 使用 fstream 类建立文件流必须定义打开方式,否则编译器无法判断该文件流是读还是写。4.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x (3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator-应在类中声明为 _ 。(分数:1.00)A.friend Myst operator- (Myst int main() void function(double val); double val; function(v
21、al); coutval; return 0; void fimction(double val) val=3; 编译运行这个程序将出现的情况是 _ 。(分数:2.00)A.编译出错,无法运行B.输出 3C.输出:3.0D.输出一个不确定的数 解析:解析 此题考查的是函数参数的传递。在 C+语言中,函数在传递参数时,总是将实参的值传递给被调用函数的形参,即传值调用。因此,在函数中对形参所作的任何操作都不会改变实参的值。6.有 3 个关系 R、S 和 T 如下: (分数:2.50)A.笛卡儿积B交C并D.自然连接 解析:解析 本题是对几种运算的使用进行考查。笛卡儿积是两个集合相乘的关系;交运算是
22、包含两集合的所有元素;并运算是取两集合公共的元素;自然连接满足的条件是两关系间有公共域,通过公共域的相等直接进行连接。通过观察 3 个关系 R、S、T 的结果可知,关系 T 是由关系 R 和 S 进行自然连接得到的。7.下列关于派生类的说法中,错误的是_。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了其基类的成员D.派生类中继承的基类成员的访问权限在派生类中保持不变 解析:解析 一个派生类可以从多个基类中继承,称为多继承。派生类中除了自己定义的成员外,还包含其基类继承的成员。派生类中基类成员的权限与继承方式息息相关
23、,私有继承改变基类成员权限为私有成员,保护继承改变基类成员权限为保护成员,而公有继承则不改变基类成员的权限。8.以下程序的输出结果是_。 int x=5; do cout-x: while(!x);(分数:2.00)A.43210B.5C.4 D.无任何输出解析:解析 先无条件执行一次循环体,前置“-”作用于 x,使得 x 先减 1,再输出;由于 x 非零,故!x为 false,不再执行循环语句。9.以下函数值的类型是 fun(float x) float y; y=3*x-4; return y; (分数:2.00)A.int B.不确定C.voidD.float解析:解析 本题考查 C+当
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C190 答案 解析 DOC
