【计算机类职业资格】二级C++笔试373及答案解析.doc
《【计算机类职业资格】二级C++笔试373及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试373及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 373 及答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.有如下程序: #include iostream.h using namespace std; class Base protected: int i: public: int j; ; class Derived: public Base int m: public: int n; int main() Derived d: d.i=0; /1 d.J=0; /2 d.m=0; /3 d.n=0: /4 return 0; 其中主函数中有两个赋值语句有错,这两个错
2、误的赋值语句是(分数:2.00)A.1和2B.1和3C.2和3D.2和42.函数定义为 Fun(int C.Fun(;D.Fun(&;3.C+流中重载的运算符是一个(分数:2.00)A.用于输出操作的非成员函数B.用于输入操作的非成员函数C.用于输出操作的成员函数D.用于输入操作的成员函数4.已知类 Myst 有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x3.2), y(5.5), z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数 operator-应该在类中声明为,(分数:2.00)A.friend M
3、yst operator-(MystB.friend Myst operator-(Myst,Mys;C.friend Myst operator-(Myst,MystD.friend Myst operator-(Myst5.有以下程序 #include iostream using namespace std; class Complex public: Complex (double r=0, double i =0 :re(r) ,im (i) double real() const return re; double imag() const return im; Complex o
4、perator + (Complex c const return Complex(re+c.re, im+c.im); privane: double re,im; ; int main Complex a =Complex(1,1)+Complex(5); couta.real()+a.imag() i endl return 0; 程序执行后的输出结果是(分数:2.00)A.6+6iB.6+1iC.1+6iD.1+1i6.下列关于栈的叙述正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表7.要定义一个具有 5 个元素的一
5、维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是(分数:2.00)A.int vect=30,50,-88;B.int vect=30,50,-88,0,0;C.int veer5=30,50,-88;D.int vect5=30,50,-88,0,0;8.有以下程序: #include iostream using namespace std; class sample private: int n: public: sample () sample(int m) n=m; sample add(sample s1, sample s2)
6、this-n=s1.n+s2.n; return (*this); void disp () cout “n=“nend1; ; int main() sample s1(1)0,s2(5),s3; s3.add(s1,s2); s3.disp(); return 0; 程序运行后,输出的结果是(分数:2.00)A.n=10B.n=5C.n=20D.n=159.设有 a、b、c、d、m、n 均为血型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=aB) int main () char a = “Hello,World“: char*ptr = a; while (
7、*ptr) if(*ptr= a else cout*ptr; ptr+; return 0; (分数:2.00)A.HELL WORLDB.Hello, WorldC.hELLO, wORLDD.hello, world15.有以下类定义 class Point public: Pointint x = 0, int y=0) _x = x; _y = y; void Move int xoff, int yoff) _x +=xoff;_y+=yoff; void Print() const cout(_x,_y) end1; private: int_x,_y; ; 下列语句中会发生编译
8、错误的是(分数:2.00)A.Point pt;pPrint();B.const Point pt;pPrint();C.Point pt;pMove(1, 2);D.const Point pt;pMove(1, 2)16.若执行语句:coutsetfill(*)setw(10)123“OK“end1 后将输出(分数:2.00)A.*123OKB.123*OKC.*123*OKD.123*OK*17.下列模式中,能够给出数据库物理存储结构与物理存取方法的是(分数:2.00)A.内模式B.外模式C.概念模式D.逻辑模式18.C+语言中 while 循环和 do-while 循环的主要区别是(分
9、数:2.00)A.do-while 的循环体至少无条件执行一次B.while 的循环控制条件比 do-while 的循环控制条件严格C.do-while 允许从外部转到循环体内D.do-while 的循环体不能是复合语句19.数据库设计的根本目标是要解决(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护20.下列对于软件测试的描述中正确的是(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则21.算法的空间复杂度是指(分数:2.00)
10、A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间22.下面描述中,符合结构化程序设计风格的是(分数:2.00)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用 goto 语句23.下列关于 new 运算符的描述中错误的是(分数:2.00)A.使用运算符 new 创建对象数组时必须定义初始值B.使用运算符 new 创建对象时,会调用类的构造函数C.运算符 new 可以用来动态创建对象和对象数组D.使用 new 运算符创建的对象可以使用运算符 delete
11、 删除24.下列叙述中正确的是(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致25.有以下程序 #include iostream int i = 0; void fun( ) static int i = 1; std:couti+,; std:couti,; int main() fun(); fun(); return 0; 程序执行后的输出结果是(分数:2.00)A.1,2,1,2,B.1,2,2,3,C.2,0,3,0,D.1,0,
12、2,0,26.有如下函数模板定义: templatetypename T1,typename T2 typename T3 T2 plus(T1 t1, T3 t3)return t1+t3; 则以下调用中正确是(分数:2.00)A.plus(3,5;B.plus(3,5;C.plusint(3,5;D.plusint, double(3,5;27.下列对派生类的描述中,错误的是(分数:2.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类中保持不变28.有以下程序 #in
13、clude iostream using namespace std; static int days =31,28.31,30,31,30,31,31,30,31,30,31; class date private: int month, day, year: public: date (int m, int d, int y month = m; day = d; year = y; date void disp ) cout year“ - “month “- “dayend1; date operator+(int day) date dt = *this: day += dt.day
14、; while day days dt.month - 1 ) day -= tays dt.month - 1 ; if ( +dt.month = 13 dt.month = 1; dt.yeare+; dr. day = day; return dt; ; int main() date d1( 6, 20, 2004 ), d2; d2.= d1 + 20; d2.disp (); return 0; 执行后的输出结果是(分数:2.00)A.2004-7-10B.2004-6-20C.2004-7-20D.程序编译时出错29.有如下函数模板定义: template class T T
15、func(T x, T y)return x*x*y*y;) 在下列对 func的调用中,错误的是(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5);30.关于面向对象的程序设计方法,下列说法正确的是(分数:2.00)A.“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B.“多态性”指的是对象的状态会根据运行时要求自动变化C.基类的私有成员在派生类的对象中不可访问,也不占内存空间D.在面向对象的程序设计中,结构化程序设计方法仍有着重要作用31.在进行任何 C+流的操作后,都可以用 C+流的有
16、关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是(分数:2.00)A.failB.eofC.badD.good32.派生类的构造函数的成员初始化列表中,不能包含(分数:2.00)A.基类的构造函数B.派生类中子对象的初始化C.基类的子对象初始化D.派生类中一般数据成员的初始化33.执行语句序列 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.1234.定义如下枚举类型:en
17、umMonday, Tuesday, Wednesday, Thrusday, Friday=2;则下列语句正确的是(分数:2.00)A.表达式 Wednesday=Friday 的值是 trueB.Day day; day=3;C.Day day; day=Monday+3;D.Day day; day=Tuesday+10;35.下面概念中,不属于面向对象方法的是(分数:2.00)A.对象B.继承C.类D.过程调用二、B填空题/B(总题数:12,分数:24.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项
18、1:_37.在面向对象方法中,允许作用于某个对象上的操作称为 1。(分数:2.00)填空项 1:_38.若按功能划分,软件测试的方法通常分为白盒测试方法和 1 测试方法。(分数:2.00)填空项 1:_39.在数据库的概念结构设计中,常用的描述工具是 1。(分数:2.00)填空项 1:_40.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_41.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在横线处填上适当内容,实现该函数。 bool fun(char *str) int i=0,j=0; while(str
19、j)_; for(j-;ij i+,j-); return i_j; (分数:2.00)填空项 1:_42.若有如下程序段: #include iostream using namespace std; int main() char *p=“abcdefgh“,*r; long *q; q=(long *)p;q+; r=(char *)q; coutrend1; return 0; 该程序的输出结果是_。(分数:2.00)填空项 1:_43.在下面程序的横线处填上适当的内容,使程序执行后的输出结果为 1/2005。 #include iostream.h using namespace s
20、td: class Date public: Date (int m=1,int y=0):month(m .year(y void Print() coutmonth“/“yearend1; _operator+(const Date private: int month year; ; _operaror+(const Date year=d1.year+d2.year; month=d1.month+d2.month; year+=(month-1)/12; month=(month-1)%12+l; return Datemonth, year: void main() Date d1
21、(3,2004),d2,d3(10); d2=d3+d1; d2.Print(); (分数:2.00)填空项 1:_44.在下面程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。 #include iostream.h using namespace std; class A public: A() coutA; ; class B:_ public: B() coutB; ; class C:_ public: C( coutC; ; class D:public B, public C public: D()coutD; ; void main()D obj;(分数:2.00
22、)填空项 1:_45.请将下列类定义补充完整 class Basepublic: void fun()cout“Base:fun“end1; class Derived:public Base public: void fun() _/显式调用基类的 fun 函数 cout“Derived:fun“end1; ;(分数:2.00)填空项 1:_46.与成员访问表达式 p-name 等价的表达式是_。(分数:2.00)填空项 1:_47.有如下程序: #include iostream using namespace std; class AA public: virtual void f()
23、cout“AA“; ; class BB : public AA public: BB() cout“BB“: ; class CC : public BB public: virtual void f() BB:f(): cout“CC“; ; int main ( ) AA aa,*p; BB bb; CC cc; p= p-f(); return 0; 运行后的输出结果_。(分数:2.00)填空项 1:_二级 C+笔试 373 答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.有如下程序: #include iostream.h us
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 373 答案 解析 DOC
