【计算机类职业资格】二级C++笔试-372及答案解析.doc
《【计算机类职业资格】二级C++笔试-372及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-372及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-372 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.有以下程序:#include iostream#include mathusing namespace std;class pointprivate:double x;double y;public:point(double a,double b) x=a;y=b;friend double distance(point a,point b) ;double distance(point a,point b) return sqrt (a.x-b.x)* (a.x-b.
2、x)+(a.y-b.y)*(a.y-b.y);int main ( )point pl(1,2);point p2 (5, 2);coutdistance (pl,p2) end1;return 0;程序运行后的输出结果是( )。(分数:2.00)A.1B.5C.4D.62.若有以下程序:#include iostreamusing namespace std;class Baseprivate:int a,b;public:Base(int x, int y)a=x;b=y;void show()couta“, “bend1;class Derive : public Baseprivate
3、:int c, d;public:Derive(int x, int y, int z,int m):Base(x,y)c=z;d=m;void show()coutc“, “dend1;int main ( )Base b(50,50) ,*pb;Derive d(10,20,30,40);pb=pb-show );return 0;(分数:2.00)A.10,20B.30,40C.20,30D.50,503.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据4.若有以下程序:#incl
4、ude iostreamusing namespaces std;class Apublic:A ()A (int i)x1=i;void dispa()cout“xl=“xl“ , “;private:int x1;class B : public Apublic:B ()B (int i):A(i+10)x2=i;void dispb()dispa ();cout “x2=“x2end1;private:int x2;int main ()B b(2);b.dispb ():return 0;程序运行后的输出结果是( )。(分数:2.00)A.x1=10,x2=2B.x1=12,x2=10
5、C.x1=12,x2=2D.x1=2,x2=25.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的6.假定 MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int n);C.MyClass();D.MyClass();7.下列关于派生类的描述中,错误的是( )。(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它
6、的基类的成员D.派生类中继承的基类成员的访问权限到派生类中保持不变8.如下图所示的 4棵二叉树中,不是完全二叉树的是( )。(分数:2.00)A.B.C.D.9.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性10.下列关于纯虚函数与抽象类的描述中,错误的是( )。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是指具有纯虚函数的类C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来用,其纯虚函数的实现由派生类给出11.有如下程序:#include iostrea
7、musing namespace std;class shapesprotected:int x, y;public:void setvalue(int d, int w=O)x=d;y=w;virtual void disp()=O;class square : public shapespublic:void disp ()coutx*yend1;int main ( )shapes *ptr;square s1;ptr=ptr-setvalue (10, 5) ;ptr-disp();return 0;执行上面的程序将输出( )。(分数:2.00)A.50B.5C.10D.1512.对于
8、建立良好的程序设计风格,下面有关数据说明描述错误的是( )。(分数:2.00)A.数据说明的次序规范化B.说明语句中变量安排有序化C.使用注释来说明复杂数据的结构D.数据说明次序可以任意排列13.下列关于 C+与 C语言的关系的描述中,( )是错误的。(分数:2.00)A.C语言是 C+语言的一个子集B.C+与 C语言是兼容的C.C+对 C语言进行了一些改造D.C+和 C语言都是面向对象的14.若有以下程序:#include iostreamusing namespace std;void sub(int x,int y, int *z)*z = y+x;int main()int a,b,
9、c;sub (8,4,sub (6, a, sub(a,b,couta“,15.下面程序的功能是( )。#include iostream#include stringusing namespace std;int main ()int i=1, n=0;char s80,*p;p=s;strcpy(p,“It is a book“);for (; *p != /0 ;p+)if(*p=)i=0;else if (i=0)n+; i=1; cout“n=“ nend1;return 0;(分数:2.00)A.统计字符串中的单词个数B.统计字符串中的空格个数C.统计字符串中的字母个数D.统计字符
10、串中的全部字符个数16.请选出以下程序段的输出结果 ( )。#include iostreamusing namespace std;#define MIN(x,y) (x)(y) ?(x) : (y)int main ()int i,j,k;i=10; j=15;k=10*MIN(i,j);coutkend1;return 0;(分数:2.00)A.15B.100C.10D.15017.以下内容不属于算法程序所占的存储空间的是( )。(分数:2.00)A.算法程序所占的空间B.输入的初始数据所占的存储空间C.算法程序执行过程中所需要的额外空间D.算法执行过程中所需要的存储空间18.以下 4个
11、选项中,属于浮点数常量的是( )。(分数:2.00)A.0x12B.-12345e-3C.le0.5D.e-519.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表20.C+语言中,while 循环和 do-while循环的主要区别是( )。(分数:2.00)A.do-while的循环体至少无条件执行一次B.while的循环控制条件比 do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句21.下列运算符中,( )运算符不能在 C+
12、中重载。(分数:3.00)A.?:B.+C.-D.=22.需求分析最终结果是产生( )。(分数:3.00)A.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告23.设有以下语句,对 a数组元素的引用中(其中 0=i10),不正确的是( )。int a10=0,1,2,3,4,5,6,7,8,9),*p=a;(分数:3.00)A.ap-aB.*(class myClassprivate:int var;public:myClass(int i)var=i;void add()s+=var;static int s;void display()coutsend1;int myClas
13、s:s=0;int main ( )myClass a(1),b(2),c(3);a.add();b.add();c.dislay();return O;程序执行后的输出结果是( )。(分数:3.00)A.1B.4C.3D.725.在一个长度为 n的线性表中插入一个元素,最坏情况下需要移动的数据元素数目( )。(分数:3.00)A.1B.nC.n+1D.n/226.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是( )。(分数:3.00)A.failB.eofC.badD.good27.在 C+语言中,对函数参数默认值描述正
14、确的是( )。(分数:3.00)A.函数参数的默认值只能设定一个B.一个函数的参数若有多个,则参数默认值的设定可以不连续C.函数参数必须设定默认值D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值28.以于下面定义的类 MyClass, 在函数 f()中将对象成员 n的值修改为 50的语句应该是( )。class MyClasspublic:MyClass (int x)n=x;void SetValue(int n1)n=n1;private:int n;int f()MyClass *ptr = new MyClass(45);_;(分数:3.00)A.MyClass(50
15、)B.SetValue (50)C.ptr-SetValue(50)D.ptr-n=5029.数据库设计有两种方法,它们是( )。(分数:3.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.面向数据的方法和面向过程的方法D.结构特性设计和行为特性设计30.下列叙述中,正确的是( )。(分数:3.00)A.数据库的库结构包括数据库中各个记录的数据B.数据库中的数据不仅仅是数值型数据C.数据库管理系统的主要功能是建立数据D.数据库文件的结构不能由系统自动生成二、填空题(总题数:13,分数:30.00)31.从逻辑结构看,线性表是典型的 【1】 ,树是典型的 【2】 。(分数:4.00)填空
16、项 1:_32.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是 【3】 。(分数:2.00)填空项 1:_33.软件测试的目的是尽可能发现软件中错误,通常 【4】 是在代码编写阶段可进行的测试,它是整个测试工作的基础。(分数:2.00)填空项 1:_34.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 【5】 的联系。(分数:2.00)填空项 1:_35.假定 w、x、y、z、m 均为血型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(WX)?w:X;m=(my)?m:y;m=(mz)?m:z;则该程序运行后,m 的值是
17、【6】 。(分数:2.00)填空项 1:_36.函数 sstrcmp()的功能是对两个字符串进行比较。当 s所指字符串和 t所指字符串相等时,返回值为0:当 s所指字符串大于 t所指字符串时,返回值大于 0;当 s所指字符串大于 t所指字符串时,返回值大于 0(功能等同于 strcmp()。请填空。int Sstrcmp(char *S,char *t)while(*sreturn 【7】 ;(分数:2.00)填空项 1:_37.若有以下程序:#include iostreamusing namespace std;int f(int x, int y)return (y-x)*x;int m
18、ain()int a=3,b=4,c=5,d;d=f(f(a,b) ,f(a,c) );coutdend1;return 0;执行后的输出结果是 【8】 。(分数:2.00)填空项 1:_38.如果一个数组中的每个元素都是同一类的对象,则该数组被称为 【9】 。(分数:2.00)填空项 1:_39.表达式 c3=c1.operator+(c2)或 c3=operator+(c1,c2)还可以表示为 【10】 (分数:2.00)填空项 1:_40.下面程序的打印结果是 【11】 。#include iostreamusing namespace std;class Basepublic:Base
19、(int x)a=x;void show()couta;private:int a;class Derived : public Basepublic:Derived(int i) :Base(i+1) ,b(i) void show()coutb;private:int b;int main ( )Base b(5) , *pb;Derived d(1);pb=pb-show();return 0;(分数:2.00)填空项 1:_41.下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。class MyClassint *x;public:MyClass(int a) :
20、MyClass();MyClass:MyClass(int a) 【12】 ;MyClass:MyClass()【13】 ;(分数:4.00)填空项 1:_42.有如下程序:#include iostreamusing namespace std;class AApublic:virtual void f()cout “AA“;class BB : public AApublic:BB()cout“BB“;class CC : public BBpublic:virtual void f()BB:f();cout “CC“;int main()AA aa,*p; BB bb; CC cc;p=
21、p-f();return O;运行后的输出结果 【14】 (分数:2.00)填空项 1:_43.若有以下程序:#include iostreamusing namespace std;int main()char str10;cinstr;cout strend1;return 0;当输入为:This is a program!那么执行程序后的输出结果是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-372 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.有以下程序:#include iostream#include mathu
22、sing namespace std;class pointprivate:double x;double y;public:point(double a,double b) x=a;y=b;friend double distance(point a,point b) ;double distance(point a,point b) return sqrt (a.x-b.x)* (a.x-b.x)+(a.y-b.y)*(a.y-b.y);int main ( )point pl(1,2);point p2 (5, 2);coutdistance (pl,p2) end1;return 0;
23、程序运行后的输出结果是( )。(分数:2.00)A.1B.5C.4 D.6解析:解析 本题考核友元函数的应用。分析程序:类 point中定义了两个私有成员 x和 y,以及一个友元函数 distance()。从而,函数 distance可以访问类 point中的任何成员。在函数 distance()中,返回值为 sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)。由此可知,函数distance()的功能是计算 a、b 两点之间的距离。在主函数中,先定义两点:p1(1,2)和 p2(5,2)。然后调用函数 distance()计算两点之间的距离为4,所以程序最后
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 372 答案 解析 DOC
