【计算机类职业资格】二级C++笔试-403及答案解析.doc
《【计算机类职业资格】二级C++笔试-403及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-403及答案解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-403 及答案解析(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:58.00)1.C+中运算符优先级由高到低排列正确的是A) :+ + | B) *| ,C) sizeof %+: D) ,void try(int,int,int,int);int main ( )int x,y,z,r;x=1;y=2;try(x,y,z,r);coutrend1;return 0;void try(int x,int y, int z,int r)z = x+y;x = X*X;y = y*y;r = z+x+y;A) 18 B) 9 C) 10 D) 不确定(分数
2、:1.00)A.B.C.D.3.下列对变量的引用中,错误的是A) int a; int TestClass () x=y=0;TestClass (int a,int b)x=a;y=b;void disp()cout“x=“x“,y=“yend1;void main()TestClass s1(2,3);s1.disp();A) x=2,y=2 B) x=2,y=3C) x=3,y=2 D) x=3,y=3(分数:2.00)A.B.C.D.6.在面向对象的程序设计中,下列叙述中错误的是A) 任何一个对象构成一个独立的模块B) 一个对象不是独立存在的实体,各个对象之间有关联,相互依赖C) 下一
3、层次的对象可以继承上一层次对象的某些属性D) 上述三种说法都正确(分数:1.00)A.B.C.D.7.有下列程序:#includeiostreamusing namespace std;class TestClassprotected:TestClass()coutx;TestClass(char c)coutc;class TestClassl:public TestClasspublic:TestClassl(char c)coutc;int main()TestClass1 d1(y);retum 0;执行这个程序屏幕上将显示输出( )。A) y B) yx C) xy D) yy(分数
4、:2.00)A.B.C.D.8.有如下程序: #includeiostream using namespace std; class Obj static int i; public: Obj( )i+ Obj( )i-; static int getVal( )return i; ; int Obj:i=0; void f( )Obj ob2;coutob2getVal( ); int main( ) Obj obl; f( ); Obj*ob3=new Obj;coutob3-getVal( ); delete ob3;coutObj:getVal( ); return 0; 程序的输出结
5、果是 A) 232 B) 231 C) 222 D) 221(分数:2.00)A.B.C.D.9.数据库管理系统是_。A操作系统的一部分 B在操作系统支持下的系统软件C一种编译系统 D一种操作系统(分数:2.00)A.B.C.D.10.下面关于构造函数和析构函数的描述中,错误的是( )。A析构函数可以声明为虚函数B对虚析构函数的调用可以采用动联编 C一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D构造函数可以声明为虚函数(分数:1.00)A.B.C.D.11.下面是关于派生类声明的开始部分,其中正确的是( )。Aclass virtual B:public A Bvirtua
6、l class B:public ACclass B:public A virtual Dclass B:virtual publicA(分数:2.00)A.B.C.D.12.以下有关类与结构体关系的叙述不正确的是A) 结构体中只包含数据;类中封装了数据和操作B) 结构体的成员对外界通常是开放的;类的成员可以被隐蔽C) 用 struct 不能声明一个类型名;而 class 可以声明一个类名D) 结构体成员默认为 Public;类成员默认为 private(分数:2.00)A.B.C.D.13.在表达式 x-y 中,“-”是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符“-”
7、,这个表达式还可表示为( )。Ax.operator-(y) Boperator-(y,x) Cy.operator-(x) Doperator-(x,y)(分数:2.00)A.B.C.D.14.执行下列语句序列:int i=0;while(i25)i+=3;couti;输出结果是( )。A24 B25 C27 D28(分数:2.00)A.B.C.D.15.下列关于线性链表的描述中正确的是( )。A) 存储空间不一定连续,且各元素的存储顺序是任意的B) 存储空间不一定连续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各
8、元素的存储顺序是任意的(分数:2.00)A.B.C.D.16.对建立良好的程序设计风格,下面描述正确的是A) 程序应简单、清晰、可读性好 B) 符号名的命名只要符合语法C) 充分考虑程序的执行效率 D) 程序的注释可有可无(分数:2.00)A.B.C.D.17.下列函数中,哪项是正确的递归函数( )。A int Fun(int n)if(n1) return 1;else return n*Fun(n+1);B) int Fun(ira n)if(abs(n)1) return 1;else return n*Fun(n/2);C) int Fun(int n)if(n1) return 1;
9、else return n*Fun(n*2)1D) int Fun(int n)if(n1) return 1;else retun n*Fun(n-1);(分数:1.00)A.B.C.D.18.下列程序的运行结果是( )。#includeiostream.hclassAint a;public:A()a=0;A()int aaa=aa;couta+;void main()A x,y(2),z(3);coutendl;A00 B23 C34 D25(分数:2.00)A.B.C.D.19.类模板 templateclass Tclass x(),其中,友元函数 f 成为从该类模板实例化的每个模板
10、类的友元,则其说明应为( )。Afriend void f();Bfriend void f(xT break:case/:*Z=X/y;break;以下合法的函数调用语句是( )。Asub(10,20,Ch,y);Bsub(1.2+3,2*2,+,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()
11、C demo;demo.show();return O;则主程序运行时将( )。A) 因为变量 i 的重复定义而报错B) 因为对象 demo 间接调用 display()函数时产生二义性而报错C) 因为类定义的语法错误而不能运行D) 没有语法错误,能够正常输出结果(分数:1.00)A.B.C.D.25.以下哪个特征不是面向对象思想中的主要特征?A) 多态 B) 继承 C) 封装 D) 垃圾回收(分数:2.00)A.B.C.D.26.树是结点的集合,它的根结点数目是( )。A) 有且只有 1 B) 1 或多于 1C) 0 或 1 D) 至少 2(分数:2.00)A.B.C.D.27.软件开发离不
12、开系统环境资源的支持,其中必要的测试数据属于( )。A硬件资源 B通信资源C支持软件 D辅助资源(分数:2.00)A.B.C.D.28.多态性指的是A)以任何方式调用一个虚函数B)以任何方式调用一个纯虚函数C)借助于指向对象的基类指针或引用调用一个虚函数D)借助于指向对象的基类指针或引用调用一个纯虚函数(分数:1.00)A.B.C.D.29.要利用 C+流进行文件操作,必须在程序中包含的头文件是 A) iostream B) fstream C) strstream D) iomanip(分数:2.00)A.B.C.D.30.已知:int n=10;那么下列语句中错误的是( )。Aint*p=
13、new longn; Bint pn;Cint*p=new long(n); Dint p10;(分数:2.00)A.B.C.D.31.下列有关类和对象的叙述不正确的是A) 任何一个对象都归属于一个具体的类B) 类与对象的关系和数据类型与变量的关系相似C) 类的数据成员不允许是另一个类的对象D) 一个类可以被实例化成多个对象(分数:2.00)A.B.C.D.32.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为A) log2n B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.33.下列表示引用的方法中,( )是正确的。已知:int m=10;Aint T
14、 stacksizeint top;public:Tsack():top(0)void push(const TT pop()if(top=O)exit(1);/栈空时终止运行retum 【15】 ;(分数:1.00)填空项 1:_44.在下面横线上填上适当的语句,完成程序。#includeiostreamusing namespace std;class Baseint x;public:Base(int i)x=i;Base();class Derived : public Basepublic:【10】 /完成类 Derive 构造函数的定义;int main ()Derived Obj
15、;return 0;(分数:2.00)填空项 1:_45.下列程序的运行结果是_。#includeiostream.hclass Basepublic:void f(int x)cout“Base:“xendl;class Derived:public Basepublic:void f(char *str)cout“Derived:“strendl;void main(void)Base *pd=new Base;pd=new Derived;pd-f(a);(分数:2.00)填空项 1:_46.下列程序的输出结果为 2,请将程序补充完整。#include iostreamusing nam
16、espace std;class Basepublic:【12】 void fun() cout1;class Derived: public Basepublic:void fun() cout2; ;int main()Base *p=new Derived;p-fun();delete p;return 0;(分数:2.00)填空项 1:_47.栈顶的位置是随着 【3】 操作而变化的。(分数:2.00)填空项 1:_48.函数 swap(arr,n)可完成对 arr 数组从第 1 个元素到第 n 个元素两两交换。在运行调用函数中的语句后,a0和 a1的值分别为 【7】 。a0=1;a1=
17、2;swap(a,2);(分数:2.00)填空项 1:_49.软件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:1.00)填空项 1:_50.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_二级 C+笔试-403 答案解析(总分:83.00,做题时间:90 分钟)一、选择题(总题数:35,分数:58.00)1.C+中运算符优先级由高到低排列正确的是A) :+ + | B) *| ,C) sizeof %+: D) ,void try(int,int,i
18、nt,int);int main ( )int x,y,z,r;x=1;y=2;try(x,y,z,r);coutrend1;return 0;void try(int x,int y, int z,int r)z = x+y;x = X*X;y = y*y;r = z+x+y;A) 18 B) 9 C) 10 D) 不确定(分数:1.00)A.B.C.D. 解析:解析 本题常见的错误解答是:把 x=1,y=2 代入到函数 try 中,逐步计算出 r=8。最后得到 r 的输出值是 8。下面是正确解答。根据程序逐步分析:程序中定义了一个名为 try 的 void 型函数,即函数 try()没有任
19、何返回值。而 try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量 r 的值。但在主函数中,并没有对变量 r 赋值。在 C+语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数 try()中,r 的值为 8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。3.下列对变量的引用中,错误的是A) int a; int TestClass () x=y=0;TestClass (int a,int b)x=a;y=b;void disp()cout“x=“x“,y=“yend1;vo
20、id main()TestClass s1(2,3);s1.disp();A) x=2,y=2 B) x=2,y=3C) x=3,y=2 D) x=3,y=3(分数:2.00)A.B. C.D.解析:解析 由主函数入手,定义了类 TestClass 的对象 s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应读是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yend1;”。即 x=2,y=3。6.在面向对象的程序设计中,下列叙述中错误的是A) 任何一个对象构成一个独立的模块B) 一
21、个对象不是独立存在的实体,各个对象之间有关联,相互依赖C) 下一层次的对象可以继承上一层次对象的某些属性D) 上述三种说法都正确(分数:1.00)A.B. C.D.解析:解析 在面向对象的程序设计中,一个对象是一个可以独立存在的实体。各个对象之间相对独立,相互依赖性小。所以,选项 B 错误,应为所选。7.有下列程序:#includeiostreamusing namespace std;class TestClassprotected:TestClass()coutx;TestClass(char c)coutc;class TestClassl:public TestClasspublic:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 403 答案 解析 DOC
