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

上传人:李朗 文档编号:1324014 上传时间:2019-10-17 格式:DOC 页数:20 大小:78.50KB
下载 相关 举报
【计算机类职业资格】二级C++-190及答案解析.doc_第1页
第1页 / 共20页
【计算机类职业资格】二级C++-190及答案解析.doc_第2页
第2页 / 共20页
【计算机类职业资格】二级C++-190及答案解析.doc_第3页
第3页 / 共20页
【计算机类职业资格】二级C++-190及答案解析.doc_第4页
第4页 / 共20页
【计算机类职业资格】二级C++-190及答案解析.doc_第5页
第5页 / 共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+当

24、中函数的默认返回类型,这种类型与函数内部的局部变量的类型没有关系。如果不小心处理函数返回类型,可能造成数据丢失。本题答案为 A。10.下列叙述中正确的是_。(分数:1.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:解析 在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后关系。11.有如下类的定义。空格处的语句是(

25、 )。 class MyClass _ int x, y; public: MyClass(int a=0,int b=0) x=a; y=b; static void change() x-=10; y-=10; ;(分数:1.00)A.static B.constC.privateD.不需要填入内容解析:解析 类的静态成员函数只可以直接访问类中的静态成员,不能直接访问类中的非静态成员。对于上述类的定义,由于在静态成员函数 change()访问了类 MyClass 的数据成员 x 和 y,只能把 x 和 y 定义为静态数据成员。12.下列程序中横线处应填入的语句是 _ 。 Class Bas

26、e 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.Base.fun();C.Base:fun(); D.Base-fun();解析:解析 如果在于类,中要访问父类的函数应用”:”运算符。13.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是_。(分数:3.00)A.这是运算符-的

27、重载运算符函数B.这个函数所重载的运算符是一个一元运算符 C.这是一个成员函数D.这个函数不改变类的任何数据成员的值解析:解析 此题考查的是运算符的重载。运算符“-”有一元和二元两种,在本题中它作为一个二元运算符,所以它不能更新对象的数据成员,也不能调用该类中没有 const 修饰的成员函数。14.下面不属于软件设计原则的是 _ 。(分数:2.00)A.抽象B.模块化C.自底向上 D.信息隐蔽解析:15.执行下列语句段后,输出字符“*“的个数是_。 for(int i=50;i1;i-=2)cout“*“;(分数:2.00)A.24B.25 C.26D.50解析:16.关于 C+语言与 C 语

28、言关系描述中错误的是(分数:1.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言 解析:解析:C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言,C+语言是C 语言的超集,它包含了 C 语言的所有语言特性,并进行了扩充。17.有如下程序: #includeiostream using namespace std; class B public: virtual void show()cout“B“; ; class D:public B public: voi

29、d show()cout“D“; ; void fun1(B *ptr)ptr-show(); void fun2(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.DBB D.DBD解析:解析 此题考查的是虚函数与多态性。在成员函数的声明前面加上 virual 关键字,即可把函数声明为虚函数;在 C+中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所

30、指向的对象类的那个重定义版本。此题中,fun1()和 fun2()的形参分别是基类的指针和引用,给 fun1()传入的实参是指向派生类对象的指针 p,fun1()将调用 D 类中的 show()输出字符D;给 fun2()出入的实参是基类对象,fun2()调用类 B 中的 show()输出字符B;fun3()由于形参是基类对象,调用的始终都是基类的 show(),输出字符B。故最终输出结果是 DBB。18.在 C+语言中函数返回值的类型是由_决定的。(分数:1.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型解析

31、:解析 函数类型决定了函数返回值的类型。函数值返回类型可以由编译器自动完成类型转换。在函数有返回值的调用中,编译器将 return 后面的表达式的类型强制转换为该函数定义时指定的返回值类型。19.下列叙述中正确的是(分数:2.00)A.软件测试的主要目的是确定程序中错误的位置B.软件调试的主要目的是发现程序中错误的类型C.程序经调试后还应进行测试 D.软件的测试与调试工,作最好都由程序编制者来完成解析:解析 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。 测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷

32、。 由于测试的这一特征,一般应当避免由开发者测试自己的程序。 测试只能说明程序有错,而不能证明程序无错,希望通过有限次的测试就能发现程序中的所有错误是不可能的,即完全测试是不可能的。 因此,选项 A)与 D)中的说法都是错误的。 调试也称排错。 测试的目的是暴露错误,而调试的目的是发现错误的位置,并改正错误。 经测试发现错误后,可以立即进行调试并改正错误;经过调试后的程序还需进行回归测试:以检查调试的效果,同时也可防止在调试过程中引进新的错误。 因此,选项 B)中的说法也是错误的,而选项 C)中的说法是正确的。20.有如下语句序列: char str10;Cinstr; 当从键盘输入“I lo

33、ve 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.16 D.15解析:解析 二叉树的一个性质是,在二叉树的第 k 层上,最多有 2 k-1 (k1)”个结点。对于满二叉树,每一层上的结点数都达到最大值,即在满二叉树的第 k 层上有 2(上标)个结点。所以,在深度为 5 的满二叉树中,所有叶子结点在第 5 层上,即其结点数为 2 k-1 =2 5-1 =16。22.下面关于对象概念的

34、描述中, _ 是错误的。(分数:2.00)A.对象就是 C 语言中的结构体变量 B.对象代表着正在创建的系统中的一个实体C.对象是一个状态和操作(或方法)的封装体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:解析:解析 本题考查静态数据成员,静态数据成员可以初始化,但只

35、能在类体外进行初始化,其一般形式为:数据类型类名:静态数据成员名=初值。所以本题答案为 C。24.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thursday,Friday=2;表达式 Wednesday= =Friday 的值是 _ 。(分数:2.00)A.falseB.true C.2D.异常解析:解析 enum枚举类型名枚举元素表;其中关键词 enum”表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成本题中的枚举类型中的数据值Wednesday 为 2,而 Friday 的值赋值为 2,所以判断 Wednesday 等于

36、Friday 的表达式值为真,即 true。25.若 MyClass 是一个类名,且有如下语句序列 MyClass c1,*c2; MyClass *c3=new MyClass; MyClass 上面的语句序列所定义的类对象的个数是_。(分数:2.00)A.1B.2C.3 D.4解析:解析 C1、*C2、C3 是 3 个 MyClass 对象,C4 是 MyClass 对象的引用,它是对象 C1 的别名。26.下列叙述中正确的是(分数:1.00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析

37、:解析 软件生命周期分为软件定义、软件开发及软件运行维护 3 个阶段。维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段。27.下列叙述中错误的是 _ 。(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关 C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的解析:解析 数据的存储结构分为顺序结构和链式结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。28

38、.有下列程序: #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=3 解析:解析 本题定义一个一维数组和指针,接着将数组第 4 个元素的地址赋予*p 数组下标从 0 开始,进行-p 使指针 p 指向了数组的第 3 个元素,通过 y=*p 将数组第 3 个元素的值 3 赋予 y所以选项 D 正确。29.下列关于运算符函数的叙述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 operator

39、为前缀B.重载类型转换运算符不需要声明返回值类型C.默认的赋值运算符实现了深层复制功能 D.不能为重载运算符函数的参数设置默认值解析:解析 重载操作符是具有特殊名称的函数,保留字 operator 后加上需要定义的操作符符号,所以选项 A 是正确的;重载类型转换操作符必须是成员函数,其类型名就是返回值类型,故不需要返回值类型的声明,选项 B 是正确的;除了函数调用操作符 operator()之外,重载操作符时使用默认实参是非法的,选项 D 正确;运算符函数中,默认的赋值运算符实现的是浅复制功能,所以需要深复制时必须对赋值运算符进行重载。选项 C 错误。答案为 C 选项。30.下列关于类模板的描

40、述中,错误的是_。(分数:2.50)A.类模板的成员函数都是模板函数B.可以为类模板参数设置默认值C.类模板描述了一组类D.类模板中只允许有一个类型参数 解析:解析 类模板是一系列相关类的模板,类成员组成相同,成员函数的源代码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值。由此可知应选 D。31.下列语句段将输出字符“*“的个数为_。 int i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)

41、A.98 个B.99 个 C.100 个D.101 个解析:32.在 E-R 图中,用来表示实体联系的图形是_。(分数:1.00)A.椭圆形B.矩形C.菱形 D.三角形解析:解析 在 E-R 图中实体集用矩形,属性用椭圆,联系用菱形。33.设有定义 char str80;以下不能将输入数据 first/nsecond/nCR读取到数组 str 中的语句是_。(分数:1.00)A.cin.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.cin.read(str,strlen(str); 解析:解析 本题考查 cin 流对象

42、的几种成员函数 get,getline,read 及流提取符的使用规则。34.派生类构造函数的调用顺序是先调用 _ 。(分数:2.00)A.派生类的构造函数B.基类的构造函数 C.派生类的析构函数D.基类的析构函数解析:解析 派生类在构造时,先调用基类的构造函数。35.( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。(分数:2.00)A.模板 B类C.对象D.函数解析:解析 本题考核模板的概念。模板是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。二、填空题(总题数:15,分数:31.00)36.下面是复数类 complex 的定义,

43、其中作为友元函数重载的运算符“-”的功能是将参数对象的实部减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)解析:5、4、642.下面程序的输出结果为 _ 1_

44、 。 #includeiostream.h f(int a) int b=0; 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)解析:7 8 943.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。 (分数:2.00)解析:15解析 队列个数=rear-front+容量。44.在模块化设计过程中, _ 1_ 用来衡量模块内部各个元素彼

45、此结合的紧密程度。 (分数:2.00)解析:内聚解析 内聚是用来判断模块独立性的一个标准,用来衡量模块内部各个元素彼此结合的紧密程度。45.软件开发环境是全面支持软件开发全过程的 1 集合。 (分数:2.00)解析:软件工具解析 软件开发环境或称软件工程环境是全而支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。46.将一个函数声明为一个类的友元函数必须使用关键字 1。 (分数:2.00)解析:friend。 解析 定义友元函数的方式是在类定义中用关键宇 friend 说明该函数,其格式为: friend类型友元函数名(参

46、数表);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)解析:pairint c1; c1. x= 21; c1.y=25 pa

47、irdouble c2; c2.x=21.7; c2.y= 5.448.关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为 1。 (分数:2.00)解析:关系解析 关系代数是关系操纵语言的一种传统表示方式,它以集合代数为基础发展起来的,但它的运算对象和运算结果均是关系,这些新关系仍可以使用同样的代数运算进一步操作。关系代数也是一种抽象的查询语言,它通过对关系的运算来表达查询和修改处理的需求。49.已知递归函数 f 的定义如下: int f(int n) if(n1)return 1; /递归结束情况 else return n*f(n-2);/递归) 则函数调用语句 f(5)的返回值是 1。 (分数:2.00)解析:15解析 此题考查的是递归算法。本题中 f()函数在 n 小于等于 1 时返回值为 1,其余

展开阅读全文
相关资源
猜你喜欢
  • ETSI TS 122 155-2006 Digital cellular telecommunications system (Phase 2+) Universal Mobile Telecommunications System (UMTS) Service aspects Charging and billing《数字蜂窝通信系统(第2+阶段) 全球_1.pdf ETSI TS 122 155-2006 Digital cellular telecommunications system (Phase 2+) Universal Mobile Telecommunications System (UMTS) Service aspects Charging and billing《数字蜂窝通信系统(第2+阶段) 全球_1.pdf
  • ETSI TS 122 168-2013 Digital cellular telecommunications system (Phase 2+) Universal Mobile Telecommunications System (UMTS) LTE Earthquake and Tsunami Warning System (ETWS) requir.pdf ETSI TS 122 168-2013 Digital cellular telecommunications system (Phase 2+) Universal Mobile Telecommunications System (UMTS) LTE Earthquake and Tsunami Warning System (ETWS) requir.pdf
  • ETSI TS 122 173-2016 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE IP Multimedia Core Network Subsystem (IMS) Mu.pdf ETSI TS 122 173-2016 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE IP Multimedia Core Network Subsystem (IMS) Mu.pdf
  • ETSI TS 122 173-2017 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE IP Multimedia Core Network Subsystem (IMS) Mu.pdf ETSI TS 122 173-2017 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE IP Multimedia Core Network Subsystem (IMS) Mu.pdf
  • ETSI TS 122 173-2018 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE IP Multimedia Core Network Subsystem (IMS) Mus.pdf ETSI TS 122 173-2018 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE IP Multimedia Core Network Subsystem (IMS) Mus.pdf
  • ETSI TS 122 174-2016 Digital cellular telecommunications system (Phase 2+) Universal Mobile Telecommunications System (UMTS) LTE Push Service Service aspects Stage 1 (V13 0 0 3GPP .pdf ETSI TS 122 174-2016 Digital cellular telecommunications system (Phase 2+) Universal Mobile Telecommunications System (UMTS) LTE Push Service Service aspects Stage 1 (V13 0 0 3GPP .pdf
  • ETSI TS 122 174-2017 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE Push Service Service aspects Stage 1 (V14 0 0.pdf ETSI TS 122 174-2017 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE Push Service Service aspects Stage 1 (V14 0 0.pdf
  • ETSI TS 122 174-2017 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE Push Service Service aspects Stage 1 (V14 0 0_1.pdf ETSI TS 122 174-2017 Digital cellular telecommunications system (Phase 2+) (GSM) Universal Mobile Telecommunications System (UMTS) LTE Push Service Service aspects Stage 1 (V14 0 0_1.pdf
  • ETSI TS 122 179-2016 Universal Mobile Telecommunications System (UMTS) LTE Mission Critical Push to Talk (MCPTT) over LTE Stage 1 (V13 3 0 3GPP TS 22 179 version 13 3 0 Release 13).pdf ETSI TS 122 179-2016 Universal Mobile Telecommunications System (UMTS) LTE Mission Critical Push to Talk (MCPTT) over LTE Stage 1 (V13 3 0 3GPP TS 22 179 version 13 3 0 Release 13).pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

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