【计算机类职业资格】二级C++笔试-374及答案解析.doc
《【计算机类职业资格】二级C++笔试-374及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-374及答案解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-374 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.常用的关系运算是关系代数和( )。(分数:2.00)A.集合代数B.逻辑演算C.关系演算D.字段2.在 C+语言中,函数形参的默认存储类型是( )。(分数:2.00)A.autoB.registerC.staticD.extem3.为使下列程序的正确输出结果为:Now is 2004-7-6 12:12:12那么应该在程序划线处填入的语句是( )。#include iostreamusing namespace std;class TIME;class DATEpubl
2、ic:DATE(int y=2004,int m=1,int d=1)year=y;month=m;day=d;void DateTime(TIME private:int year,month, day;class TIMEpublic:TIME(int h=0,int m=0,int s=0)hour=h;minute=m;second=s;_; /将类 DATE 中成员函数 DateTime 声明为类 TIME 的友元函数private:int hour,minute, second;void DATE: :DateTime(TIME int main ( )DATE d(2004,7,
3、6);TIME t (12, 12, 12);d. DateTime (t);return 0;(分数:2.00)A.friend void DateTime(TIME B.friend void DATE:DateTime(TIME C.void DateTime(TIME D.friend void DateTime(TIME 4.定义如下枚举类型:enumMonday,Tuesday,Wednesday,Thursday,Friday=2;则下列语句正确的是( )。(分数:2.00)A.表达式 Wednesday=Friday的值是 trueB.Dayday;day=3;C.Dayday
4、;day=Monday+3;D.Dayday;day=Tuesday+10;5.以下选项中,合法的字符常量是( )。(分数:2.00)A.“N“B./010C.68D.D6.已知二叉树的前序序列为 ABDCEFG,中序序列为 DBCAFEG,则其后序序列为( )。(分数:2.00)A.DCBAFGEB.DCBFGEAC.DCBFEGAD.DCBGFEA7.一组记录的排序码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。(分数:2.00)A.38,40,46,56,79,84B.40,38,46,79,56,84C.40,38,46,
5、56,79,84D.40,38,46,84,56,798.设有如下程序:#include iostreamusing namespace std;class Apublic:int i;display()cout“class A/n“;class Bpublic:int i;display()cout“class B/n“;class C : public A, public Bint j;public:int i;show ( )j = i * i;display();int main()C demo;demo.show();return O;则主程序运行时将( )。(分数:2.00)A.因
6、为变量 i的重复定义而报错B.因为对象 demo间接调用 display()函数时产生二义性而报错C.因为类定义的语法错误而不能运行D.没有语法错误,能够正常输出结果9.在一个长度为 n的线性表中删除一个元素,最坏情况下需要移动的数据元素数目为 ( )。(分数:2.00)A.1B.n-1C.n+1D.n210.规范化理论中消除其中多余的数据相关性是靠分解( )。(分数:2.00)A.关系运算B.内模式C.外模式D.视图11.有如下程序:#includeiostreamusing namespace std;class basepublic:virtual void f1()cout“F1Bas
7、e“;virtual void f2()cout“F2Base “;class derive : public basevoid f1 ( )cout“F1Derive“;void f2( int x )cout“F2 Derive“;int main ()base objl, * p;derive obj2;p = p - f1();p - f2();return 0;执行后的输出结果是( )。(分数:2.00)A.F1Derive F2BaseB.F1Derive F2DeriveC.F1Base F2BaseD.F1Base F2Derive12.下列关于多继承二义性的描述中,错误的是(
8、 )。(分数:2.00)A.一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性。B.解决二义性的最常用的方法是对成员名的限定法C.基类和派生类中同时出现的同名函数,也存在二义性问题D.一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,可能出现二义性13.下面不属于软件设计原则的是( )。(分数:2.00)A.抽象B.模块化C.自底向上D.信息隐蔽14.在一个单链表 HL中,若要向表头插入一个由指针 p指向的节点,则需要执行语句序列( )。(分数:2.00)A.HL=p;p-next=HL;B.p-next=HL;HL=p;C
9、.p-next=HL;p=HL;D.p-next=HL-next;HL-next=p15.源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和( )。(分数:2.00)A.程序的视觉组织B.尽量不用或少用 GOTO语句C.检查输入数据的有效性D.设计良好的输出报表16.下列关于 goto语句的描述中,正确的是( )。(分数:2.00)A.goto语句可在一个文件中随意转向B.goto语句后面要跟一个它所转向的语句C.goto语句可以同时转向多条语句D.goto语句可以从一个循环体内转到循环体外17.下列关于 getline() 函数的描述中,不正
10、确的是( )。(分数:2.00)A.getline()函数是用来从键盘上读取字符串的B.getline()函数读取字符串长度是受限制的C.getline()函数读取字符串时,遇到终止符时就停止D.getline()函数中所使用的终止符只能是换行符18.下列关于严格控制 goto语句使用的理解中,错误的是( )。(分数:2.00)A.用一个非结构化的程序设计语言实现一个结构化的构造B.若不使用 goto语句会使功能模糊C.在某种可以改善而不是损害程序可读性的情况下D.goto语句可以完全不用19.有以下程序:#include iostreamusing namespace std;char *x
11、=“First“, “Second“, “Third“ ;void f(char *z )cout*z+end1;int main ( )char *y;y=x;f(y);return 0;(分数:2.00)A.产生语法错误B.FirstC.SecpndD.Third20.下面类的定义,有( )处错误。class MyClasspublic:void MyClass();MyClass(int Value);private:int i=0;(分数:2.00)A.1B.2C.3D.421.下列叙述中,正确的是( )。(分数:3.00)A.入栈运算只需将新元素插到栈顶指针指向的位置B.出栈运算只需
12、将栈顶元素赋给一个指定变量C.出栈运算与读栈顶元素是相同的操作D.读栈顶元素不删除栈顶元素22.要把高级语言编写的源程序转换为目标程序,需要使用( )。(分数:3.00)A.编辑程序B.驱动程序C.调试程序D.编译程序23.以下程序的功能是:按顺序读入 10名学生 4门课程的成绩,计算出每个学生的平均分数并输出,程序如下:#includeiostreamusing namespace std;int main( )int n,k;float score,sum,ave;sum = 0.0;for(n = 1;n =10; n+)for(k =1;k=4;k+)cinscore;sum += s
13、core;ave=sum/4.0;cout“NO“n“ave:“aveend1;return 0;上述程序运行后结果不正确,调式中发现有一条语句出现在程序中的位置不正确。这条语句是非曲直( )。(分数:3.00)A.sum=0.0;B.sum+=score;C.ave= sum/4.0D.cout“NO.“n“ave:“aveend1;24.有如下程序:#include iostream.hclass xprotected:int a;public:x()a=1;class x1 : virtual public xpublic:x1()a+=1;couta;class x2 : virtua
14、l public xpublic:x2()a+=2;couta;class y : public xl,public x2public:y()coutaend1;int main()y obj;return O;该程序运行后的输出结果是( )。(分数:3.00)A.1B.123C.242D.24425.下列 for循环执行的次数为( )。for(int i=0,j=10;i=j=10;i+,j-)(分数:3.00)A.0B.11C.10D.无数次26.有以下程序:#include iostreamusing namespace std;class MyClassint m;publ i c:s
15、tatic int n;MyClass ( )m = 0;void setvalue()m+;n+;void output ()cout“m=“m , n=“nend1;int MyClass : n=0;int main()MyClass obj1, obj2;obj1.setvalue();objl.output();obj2.setvalue();obj2.output();return 0;(分数:3.00)A.m= 1 ,n= 1 换行m= 1 ,n=1B.m= 1 ,n= 1 换行m=1 ,n=2C.m=1,n=1换行m=2,n=1D.m=1,n=1换行m=2,n=227.若有定义
16、:int*p;则下列各选项中,不同于表达式“*p=*p+1;”的是( )。(分数:3.00)A.*p+;B.+*p;C.*p+=1;D.+(*p);28.下列数组的定义中,会产生错误的是( )。(分数:3.00)A.int a=0,1,2,3,4,5,6;B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“;D.char a5=h,e,1,1,o;29.有以下程序:#include iostreamusing namespace std;class Pointpublic:void SetPoint(int x,int y);void Move(int xOff,
17、int yOff);int GetX()return X;int GetY()return Y;private:int X,Y;void Point:SetPoint(int x, int y)X=x;Y=y;void Point: :Move(int xOff, int yOff)X+=xOff;Y+=yOff;int main ()Point p1;p1.SetPoint(1,2);p1.Move (5, 6);cout“Point1 is (“p1.GetX(),p1.GetY()“)“end1;return 0;执行后的输出结果是( )。(分数:3.00)A.Point1 is (6,
18、8)B.Point1 is (1,2)C.Point1 is (5,6)D.Point1 is (4,4)30.以下程序的输出结果是 ( )。#include iostreamusing namespace std;int f(int b,int m, int n)int i,s = O;for(i = m;in;i+=2)s+=b i;return s;int main ( )int x a = 1,2,3,4,5,6,7,8,9;x = f(a,3,7);coutxend1;return 0;(分数:3.00)A.10B.18C.8D.15二、填空题(总题数:14,分数:30.00)31.
19、对待排序文件的初始状态作要求的排序方法是 【1】 。(分数:2.00)填空项 1:_32.Jackson方法是一种面向 【2】 的结构化方法。(分数:2.00)填空项 1:_33.软件工程的 3个要素是工具、过程和 【3】 。(分数:2.00)填空项 1:_34.数据的物理独立性是指当数据的 【4】 改变时,通过系统内部的自动映象或转换功能,保持了数据的逻辑结构不变。(分数:2.00)填空项 1:_35.软件测试的常用方法通常可分为白盒测试和 【5】 。前者是根据程序的内部逻辑来设计测试用例,后者是根据软件的规格说明来设计测试用例。(分数:2.00)填空项 1:_36.假定输入的 10个整数为
20、:32,64,53,87,54,32,98,56,98,83。那么下列程序的运行结果是 【6】 。#include iostreamusing namespace std;int main()int a,b,C,X;a = b = C = 0;for(int i = 0;i10;i+)cinx;switch(x%3)case 0 :a+=x; break;case 1 :b+=x; break;case 2 : C+=x; break;couta“,“b“,“Cend1;return 0;(分数:2.00)填空项 1:_37.以下程序中的 select()函数功能是:在 N行 M列的二维数组中
21、选出一个最大值作为函数值返回,并通过形参传回此最大值的行下标。请填空完成此程序。#includeiostream#define N 3#define M 3using namespace std;int select(int aNM,int *n)int i,j,row=0,colum=0;for(i=0;iN;i+)for(i=0;jM;j+)if(aijarowcolum)row=i;colum=j;*n= 【7】 ;return 【8】 ;int main()int aNM=9,11,23,6,1,15,9,17,20;int max,n;max=select(a,templatecla
22、ss Tvoid f( 【12】 )T t;for (int i=0;in/2;i+)t=a Ii;a i=an-1-i;a n-1-i=t;int main ( )int x=6,7,8,9;f(x,4);for (int i=0;i4;i+)coutxi;coutend1;return 0;(分数:2.00)填空项 1:_42.有以下程序:#include iostreamusing namespace std;class Apublic:virtual void show()cout“A“;class B : public Apublic:void show()cout “B“;void
23、 display( A * obj )obj- show();int main ( )A demol;B demo2;display( display( return 0;执行后的输出结果为 【13】 。(分数:2.00)填空项 1:_43.如下程序执行后的输出结果是 【14】 。#include iostreamusing namespace std;class Basepublic:Base(int x,int y)a=x;b=y;void Show()cout“Base: “a , b“ “;private:int a,b;class Derived : public Basepubli
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 374 答案 解析 DOC
