【计算机类职业资格】二级C++笔试10及答案解析.doc
《【计算机类职业资格】二级C++笔试10及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试10及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 10及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:30,分数:60.00)1.下列关于继承的描述中,错误的是( )。(分数:2.00)A.析构函数不能被继承B.派生类是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生保持不变2.有以下程序: #include iostream using namespace std; class Base public: Base() virtual void f1() cout“f1 of base“end1; Base() ; class Deri
2、ve: public Base public: void fl(int x) cout“f1 of derive“end1; ; int main ( ) Base *p; Derive obj1; p= p-f1 ( ); return 0; (分数:2.00)A.编译时出错B.f1 of deriveC.f1 of baseD.以上答案都不对3.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送( )。(分数:2.00)A.调用语句B.命令C.口令D.消息4.堆栈 s进行下列操作:push(1);push(2);pop();pop();后,此时的栈顶元素为( )。(分数:2.0
3、0)A.1B.2C.0D.不确定5.有以下程序: #includeiostream using namespace std; int main () int a=1,2,3, 4,5, 6, 7,8,9, 10, 11, 12; int *p=a+5, *q=0; *q=* (p+5); cout*p“ “*qend1; return 0; (分数:2.00)A.运行后报错B.66C.6 12D.5 56.以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句组的选项是 ( )。(分数:2.00)A.ofstream cfile; cfilopen( “d : ofiltxt“ );B.of
4、stream * cfile = new ofstream; cfile - open( “d : ofiltxt );C.ofstream cfile( “d: ofiltxt“ );D.ofstream * cfile = new( “d : ofiltxt“ )7.有如下程序: class Base1 public: int a; void b() return; void c(float) a=float; ; class Base2 public: void b() void c() private: int a; ; class Derived:public Basel,publi
5、c Base2 public: void b() ; void main() Derived obj; obj.a=1; / obj.b(); / obj.c(10); / 下面各项对语句的描述中,正确的是( )。(分数:2.00)A.语句都有二义性B.语句有二义性,没有二义性C.语句有二义性,没有二义性D.语句有二义性,没有二义性8.对于 switch(C) 中的变量 c不能定义为的类型是( )。(分数:2.00)A.unsignedB.intC.charD.float9.若 x、a、b 和 c均是 int型变量,则执行表达式“x=(a=1,b=2)”后的结果是( )。(分数:2.00)A.
6、1B.2C.3D.x无确定值10.在待排序的元素序列基本有序的前提下,效率最高的排序方法是( )。(分数:2.00)A.插入排序B.选择排序C.快速排序D.堆排序11.下列关于 swith语句的描述中,正确的是( )。(分数:2.00)A.switch语句中 default字句可以没有,也可有一个B.switch语句中每个语句序列中必须有 break语句C.switch语句中 default字句只能放在最后D.switch语句中 case子句后面的表达式可以是整型表达式12.以下特点中不属于线性表的顺序存储结构的是( )。(分数:2.00)A.线性表中所有元素所占的存储空间是连续的B.线性表的
7、数据元素在存储空间中是按逻辑顺序依次存放的C.线性表中所有元素所占的存储空间是连续的D.前后件两个元素在存储空间是紧邻的13.有以下程序: #include iostream using namespace std; class sample private: int n; public: sample() sample (int m) n=m; sample add(sample s1,sample s2) this-n=s1.n+s2.n; return (*this); void disp() cout“n=“nend1; ; int main () sample s1(10) ,s2(
8、5),s3; s3.add(s1,s2); s3.disp(); return 0; 程序运行后,输出的结果是( )。(分数:2.00)A.n=10B.n=5C.n=20D.n=1514.定义如下一维数组: inta5,*p=a; 则下面描述中,错误的是( )。(分数:2.00)A.表达式 p=p+1是合法的B.表达式 a=a+1是合法的C.表达式 p-a是合法的D.表达式 a+2是合法的15.有如下函数模板的定义: templateclass T T func(T x,T y)return x*x+y*y; 在下列对func()的调用中,不正确的是( )。(分数:2.00)A.func(3,
9、5);B.func(3,5);C.func(3,5.5);D.funcint(3,5.5);16.若有以下程序: #include iostream using namespace std; class A private: int a; public: void seta(int x) a=x; void showa,( ) couta“, “; ; class B private: int b; public: void setb(int x) b=x; void showb () coutb“, “; ; class C : public A, private B private: in
10、t c; public: void setc(int x,int y, int z) c=z; sera (x); seth (y); void showc() showa(); showb(); coutcend1; ; int main () C c; c.setc(1,2,3); c.showc(); return 0; 程序执行后的输出结果是( )。(分数:2.00)A.1,2,3B.1,1,1C.2,2,2D.3,3,317.一个向量第 1个元素的存储地址是 100,每个元素的长度为 2,则第 5个元素的地址是( )。(分数:2.00)A.110B.108C.100D.12018.以
11、下各项排序技术中属于交换类排序法的是( )。(分数:2.00)A.冒泡排序B.希尔排序C.堆排序D.简单选择排序19.数据流图用于描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名称标识的图符不属于数据流图合法图符的是( )。(分数:2.00)A.控制流B.加工C.贮存文件D.源和潭20.应在下列程序画线处填入的正确语句是 ( )。 #include iostream using namespace std; clas Base public: void fun() cout“Base:fun“end1; ; class Derived : public Base void fu
12、n() _/显示调用基类的函数 fun() cout“Derived:fun“end1; ;(分数:2.00)A.fun();B.Basfun();C.Base:fun();D.Base-fun();21.程序流程图中的箭头代表的是( )。(分数:2.00)A.数据流B.控制流C.调用关系D.组成关系22.下面内容不属于使用软件开发工具好处的是( )。(分数:2.00)A.减少编程工作量B.保证软件开发的质量和进度C.节约软件开发人员的时间和精力D.使软件开发人员将时间和精力花费在程序的编制和调试上23.下列关于常数据成员的描述中,错误的是( )。(分数:2.00)A.常数据成员必须进行初始化
13、,并且不能更新B.使用 const说明的数据成员称为常数据成员C.可以在类体外面定义常数据成员D.常数据成员的初始化只能通过构造函数的成员初始化列表进行24.一个 C+程序的执行总是从( )。(分数:2.00)A.本程序的第 1个函数开始,到本程序文件的最后一个函数结束B.本程序的第 1个函数开始,到本程序的 main()函数结束C.本程序的 main()函数开始,到 main()函数结束D.本程序的 main()函数开始,到本程序的最后一个函数结束25.若有以下程序段; #includeiostream using namespace std; int main() int a=1,4,5;
14、int *p= class point private: int x, y; public: point ( ) x=0; y=0; void setpoint(int x1,int y1) x=x1; y=y1; void dispoint () cout“x=“x“ , “y=“yend1; ; int main ( ) point *p=new point; p-setpoint (5, 12); p-dispoint (); return 0; 程序运行后的输出结果是( )。(分数:2.00)A.x=12,y=12B.x=5,y=5C.x=12,y=5D.x=5,y=1227.下列关于
15、纯虚函数的描述中,正确的是( )。(分数:2.00)A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0;”结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不能是派生类28.在下面的类定义中,错误的语句是( )。 class Sample public: Sample(int val); / Sample(): / private: int a=2.5; / Sample(); / ;(分数:2.00)A.B.C.D.29.有以下程序: #include iostream #include string using namespace std; int
16、 main ( ) char b18 = “abcdefg“; char b28,*pb=b1+3; while (-pb=b1) strcpy (b2, Pb) ; coutstrlen (b2) end1; return 0; 程序运行后的输出结果是( )。(分数:2.00)A.8B.3C.1D.730.关系数据库的数据及更新操作必须遵循的完整性规则是( )。(分数:2.00)A.实体完整性和参照完整性B.参照完整性和用户定义的完整性C.实体完整性和用户定义的完整性D.实体完整性、参照完整性和用户定义的完整性二、B填空题/B(总题数:14,分数:28.00)31.算法的复杂度包括时间复杂度
17、和U 【1】 /U。(分数:2.00)填空项 1:_32.若按层次顺序将一棵有 n个节点的完全二叉树的所有节点从 1到 n编号,那么当 i为偶数且小于 n时,节点 i的右兄弟是节点U 【2】 /U,否则节点 i没有右兄弟。(分数:2.00)填空项 1:_33.面向对象程序设计支持的 3大特性为:封装性、继承性和U 【3】 /U。(分数:2.00)填空项 1:_34.关系代数运算是以集合运算为基础的运算,它的基本操作是U 【4】 /U、并、差。(分数:2.00)填空项 1:_35.软件测试是为了U 【5】 /U而执行程序的过程。(分数:2.00)填空项 1:_36.以下程序的输出结果是U 【6】
18、 /U。 #include iostream using namespace std; int main() int s,i; for(s=0,i=1;i3;i+) s+=i; coutsend1; return 0; (分数:2.00)填空项 1:_37.有如下程序: #include iostream using namespace std; int strle(char a,char b) int num=O,n=O; while (* (a+num) !=/0) num+; while (b n ) * (a+num)=b n; num+; n+; return(num); int m
19、ain () char strl80,str280,*p1=str1,*p2=str2; cinp1; cinp2; coutstrle(p1,p2)end1; return 0; 运行上述程序,如果从键盘输入字符串 qwerty和字符串abcd,则程序的输出结果是U 【7】 /U。(分数:2.00)填空项 1:_38.下面程序的输出结果是U 【8】 /U。 #include iostream using namespace std; int x; void funA(int void funB(int,int int main ( ) int first; int second=5; x=6
20、; funA(first,second) ; funB(first,second) ; coutfirst“ “second“ “xend1; return 0; void funA(int first=a+b; a=2*b; b=first+4; void funB(int u, int second=x; v=second+4; x=u+v; (分数:2.00)填空项 1:_39.在类中定义和实现的函数可以称为U 【9】 /U。(分数:2.00)填空项 1:_40.在 C+中,打开一个文件,就是将这个文件与一个U 【10】 /U建立关联,关闭一个文件,就是取消这种关联。(分数:2.00)填
21、空项 1:_41.下面是“二维向量”vector2D 的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量 x和 y对应相加,然后返回作为相加结果的新对象。请填空补充完整。 class vector2D double x; x 分量 double y; y 分量 public: vector2D(double x0=0,double y0=0) :x(x0),y(y0) void show(cout (,y) ; vector2D operator + (vector2D) ; ; U【11】 /Uoperator + (vector2D a) return vector2D(U
22、【12】 /U); (分数:2.00)填空项 1:_42.若有以下程序: #include iostream using namespace std; class sample int x; public: sample() void setx(int i) x=i; friend iht fun(sample B,int n) int m=0; forint i=0;in;i+) if(Bi.xm) m=Bi.x; return.m; ; int main ( ) sample A10; int arr=90,87,42,78,97,84,60,55,78,65; for(int i=O;i
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 10 答案 解析 DOC