【计算机类职业资格】二级C++笔试40及答案解析.doc
《【计算机类职业资格】二级C++笔试40及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试40及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 40及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列叙述中正确的是_ .(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致2.有以下程序: # include iostream int i=0; void fun() static iht i=1; std:couti+,; std: couti,; int main() fun(); fun(); return 0
2、; 程序执行后的输出结果是_。(分数:2.00)A.1,2,1,2,B.1,2,2,3,C.2,0,3,0,D.1,0,2,0,3.有以下类定义: class Point public: Point(int x=0,int y=0)_x=x; _y=y; void Move(int x Off, int y Off) _x+=x Off; _y+=y Off; void Print() const cout ( _x , _y ) end 1; private: int _x,_y; 下列语句中会发生编译错误的是_。(分数:2.00)A.Point pt; p Print();B.const
3、Point pt; p Print();C.Point pt; p Move(1,2);D.const Point pt; p Move(1,2);4.在一个类体的下列声明中,正确的纯虚函数声明是_ 。(分数:2.00)A.virtual void vF()=0;B.void vf (in=0;C.virtual int vf (in;D.virtual void vf (in”5.下面描述中,符合结构化程序设计风格的是_ .(分数:2.00)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的效率D.不使用 goto语句6.
4、执行语句序列: int n; cinn; switch(n) case 1: case 2:cout1; case 3: case 4:cout2;break; default:cout3; 时,若从键盘输入 1,则屏幕显示_ 。(分数:2.00)A.1B.2C.3D.127.下面叙述正确的是_ .(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对8.关于面向对象的程序设计方法,下列说法正确的是_ .(分数:2.00)A.“封装性”指的是将不同类型的相关数据组
5、合在一起,作为一个整体进行处理B.“多态性”指的是对象的状态会根据运行时要求自动变化C.基类的私有成员在派生类的对象中不可访问,也不占内存空间D.在面向对象的程序设计中,结构化程序设计方法仍有重要作用9.有以下程序 #include iostream using namespace std; class MyClass public: MyClass(int n) number=n; / 拷贝构造函数 MyClass(MyClass -MyClass() private: int number; ; MyClass fun(MyClass p) MyClass temp(p); return
6、temp; int main() MyClass obj1(10), obj2(0); MyClass obj3(obj 1); obj2=fun(obj3); return 0; 程序执行时,MyClass 类的拷贝构造函数被调用的次数是_ 次。(分数:2.00)A.5B.4C.3D.210.在下面的运算符重载函数的原型中,错误的是_ 。(分数:2.00)A.Volume operator-(double,doubl;B.double Volume: operator-(doubl;C.Volume Volume: operator-(Volum;D.Volume operator-(Vol
7、ume,Volum;11.已知下列语句中的 x和 y都是 int型变量,其中错误的语句是_ .(分数:2.00)A.x=y+;B.x=+y;C.(x+ +;D.+x=y;12.C+流中重载的运算符“是一个_ 。(分数:2.00)A.用于输出操作的非成员函数B.用于输入操作的非成员函数C.用于输出操作的成员函数D.用于输入操作的成员函数13.在一棵二叉树上第 5层的结点数最多是_ .(分数:2.00)A.8B.16C.32D.1514.已知程序中已经定义了函数 test,其原型是 int test(int,int,int);,则下列重载形式中正确的是_ 。(分数:2.00)A.char test
8、 (int,int,in;B.double test(int,int,doubl;C.int test (int,int,int=0);D.float test(int,int,float=3.5;15.一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是_ 。(分数:2.00)A.每个派生类的构造函数都要为虚基类构造函数提供实参B.多继承时有可能出现对基类成员访问的二义性问题C.使用虚基类可以解决二义性问题并实现运行时的多态性D.建立派生类对象时,虚基类的构造函数会首先被调用16.关于友元,下列说法错误的是_。(分数:2.00)A.如果类 A是类 B的友元,那么类
9、B也是类 A的友元B.如果函数 fun()被说明为类 A的友元,那么在 fun()中可以访问类 A的私有成员C.友元关系不能被继承D.如果类 A是类 B的友元,那么类 A的所有成员函数都是类 B的友元17.下列函数原型声明中错误的是_。(分数:2.00)A.void Fun (int x=O,int y=;B.void Fun(int x,int ;C.void Fun(int x,int y=0);D.void Fun(int x=0,int ;18.在 C+中用来实现运行时多态性的是_ 。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数19.判断字符型变量 ch是否为大写英
10、文字母,应使用表达式_ .(分数:2.00)A.ch=A else cout *ptr; ptr+; return 0; (分数:2.00)A.HELLO,WORLDB.Hello,WorldC.hELLO, wORLDD.hello,world21.下列是模板声明的开始部分,其中正确的是_ 。(分数:2.00)A.templateTB.template class T1,T2C.template class T1,class T2D.template class T1;class T222.下面概念中,不属于面向对象方法的是_ .(分数:2.00)A.对象B.继承C.类D.过程调用23.以下
11、数据结构中不属于线性数据结构的是_ .(分数:2.00)A.队列B.线性表C.二叉树D.栈24.在公有派生的情况下,派生类中定义的成员函数只能访问原基类的_ 。(分数:2.00)A.公有成员和私有成员B.私有成员和保护成员C.公有成员和保护成员D.私有成员、保护成员和公有成员25.关于动态存储分配,下列说法正确的是_。(分数:2.00)A.new 和 delete 是 C+语言中专门用于动态内存分配和释放的函数B.动态分配的内存空间也可以被初始化C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用 delete释放内存空间D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用
12、 new26.下列模式中,能够给出数据库物理存储结构与物理存取方法的是_ .(分数:2.00)A.内模式B.外模式C.概念模式D.逻辑模式27.有以下类定义: class MyClass public: MyClass()cout1; ; 则执行语句 MyClass a,b 2,*p 2;后,程序的输出结果是_。(分数:2.00)A.11B.111C.1111D.1111128.已知函数 f的原型是:void f(int *a,long b);,变量 v1、v2 的定义是:int v1;long v2;,正确的调用语句是_。(分数:2.00)A.f(v1, class Complex publ
13、ic: Complex(double r=0,double i=0):re(r),im(i) double zeal() const return re; double imag() const return im; Complex operator+(Complex c) const return Complex(re+c.re,im+c.im); private: double re,im; ; int main() Complex a=Complex(1,1)+Complex(5); couta.real()+a.imag()iend 1; return 0; 程序执行后的输出结果是_。
14、(分数:2.00)A.6+6iB.6+1iC.1+6iD.1+1i31.在软件开发中,下面的任务不属于设计阶段的是_ .(分数:2.00)A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型32.执行语句序列 ofstream outfile (“DATA. DAT“); if(.)cout “OK“;else cout “FAIL“;后,如果文件打开成功,显示“OK“,否则就显示“FAIL“。由此可知,上面 if语句的.处的表达式应是_ 。(分数:2.00)A.outfilfail ()或 outfileB.outfil good() 或 outfileC.outf
15、ilgood ()或!outfileD.outfilfail()或!outfile33.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是_ .(分数:2.00)A.可行性分析B.需求分析C.详细设计D.程序编码34.已知:int m=10;在下列定义引用的语句中,正确的是_。(分数:2.00)A.int char gender; char *phone; public: MyClass():id(0),gender(#),phone(NULL) MyClass(int no,char ge=#,char *ph=NULL) id=no;gender=ge;phone=ph;
16、 ;下列类对象定义语句中错误的是_。(分数:2.00)A.MyClass myObj;B.MyClass myObj(11,“13301111155“);C.MyClass my0bj(12,m);D.MyClass myObj(12);二、B填空题/B(总题数:15,分数:30.00)36.算法的复杂度主要包括U 【1】 /U复杂度和空间复杂度。(分数:2.00)填空项 1:_37.数据的逻辑结构在计算机存储空间中的存放形式称为数据的U 【2】 /U。(分数:2.00)填空项 1:_38.若按功能划分,软件测试的方法通常分为白盒测试方法和U 【3】 /U测试方法。(分数:2.00)填空项 1
17、:_39.如果一个工人可以管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在U 【4】 /U的联系。(分数:2.00)填空项 1:_40.关系数据库管理系统能实现的专门关系运算包括选择、连接和U 【5】 /U。(分数:2.00)填空项 1:_41.设有定义语句:int a=12;,则表达式 a*=2+3的运算结果是U 【6】 /U。(分数:2.00)填空项 1:_42.从实现的角度划分,c+所支持的两种多态性分别是U 【7】 /U时的多态性和运行时的多态性。(分数:2.00)填空项 1:_43.将一个函数声明为一个类的友元函数必须使用关键字U 【8】 /U。(分数:
18、2.00)填空项 1:_44.请按下面注释的提示将类 B的构造函数定义补充完整。 class A int a; public: A (int aa=0)a=aa; ; class B: public A int b; A c; public: / 用 aa 初始化基类 A, 用 aa+1 初始他类对象成员 c B(int aa):U 【9】 /Ub=aa+2; ;(分数:2.00)填空项 1:_45.下列程序的输出结果是U 【10】 /U。 #include iostream using namespace std; int main() int i=5; iht r=7; coutiend
19、1; return 0; (分数:2.00)填空项 1:_46.下列程序的输出结果是U 【11】 /U。 #include iostream using namespace std; class Test public: Test() cnt+; Test() cnt-; static int Count() (return cnt; private: static int cnt; ; int Test:cnt=0; int main() coutTest:Count(); Test t1, t2; Test *pT3=new Test; Test *pT4=new Test; coutTe
20、st:Count(); delete pT4; delete pT3; coutTest:Count()end 1; return 0; (分数:2.00)填空项 1:_47.下面是用来计算 n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是 n!cn*(n-1)*.*2*1) unsigned fact(unsigned n) if (n=1) return 1; returnU 【12】 /U; (分数:2.00)填空项 1:_48.下列程序输出结果是U 【13】 /U。 include iostream using namespace std; template typen
21、ame T T fun(T a, T b) return (a=b)?a:b; int main() coutfun(3,6),fim(3.14F, 6.28F)end 1; return 0; (分数:2.00)填空项 1:_49.与成员访问表达式 pname 等价的表达式是U 【14】 /U。(分数:2.00)填空项 1:_50.下列程序的输出结果是U 【15】 /U。 #include iostream using namespace std; class base public: int n; base(iht x) n=x; virtual void set(int m) n=m;c
22、outn; ;class deriveA: public base public: deriveA(int x):base(x) void set(int m)n+=m;coutn; : class deriveB:public base public: deriveB(int x):base(x) void set(int m) n+=m;coutn; ; int main() deriveA d1(1); deriveB d2(3); base *pbase; pbase= pbase-set(1); pbase= pbase-set(2); return 0;(分数:2.00)填空项 1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 40 答案 解析 DOC
