【计算机类职业资格】二级C++-206及答案解析.doc
《【计算机类职业资格】二级C++-206及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-206及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-206 及答案解析(总分:80.50,做题时间:90 分钟)一、选择题(总题数:35,分数:55.50)1.下列字符串中可以用作 C+语言标识符的是_。(分数:2.50)A._1234B.foobarC.virtualD.34var2.有如下程序: #includeiostream usmg namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: void Display()/*函数体程序略*/) ; int main() In
2、strument s; Instrument *p=0; /.; return 0; 下列叙述中正确的是_。(分数:2.00)A.语句“Insturment *p=0;”编译时出错B.语句“Instrument s;”编译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrument 是一个虚基类3.有如下类定义: class Foo public: Foo(int v): value(v) / Foo() / private: Foo() / int value=0;/ ; 其中存在语法错误的行是_。(分数:1.00)A.B.C.D.4.有如下程序: #inclu
3、de iostream using namespace std; class Base public: void output() cout1; virtual void Print() cout“B“; ; class Derived:public Base public: void output() cout2; void Print() cout“D“; ; int main() Base *ptr=new Derived; ptr-output(); ptr-Print(); delete ptr; return(); 程序的输出结果是(分数:2.00)A.1BB.1DC.2BD.2D
4、5.以下程序的运行结是_。 #includeiostream using namespace std ; class Base char c; public : Base( char c0):c( c0) Base( )coutc; ; class Derived:public Base char c: public: Derived( char c0): Base(c0+1) ,c(c0) Derived()coute; ; int main() Derived obj(“x“); return 0: A) xy B) yx c)x D) y (分数:2.00)A.B.C.D.6.语句 in
5、t*p= class Point public: static int number; public: Point() number+; Point() number -; ; int Point:number=0; int main() Point *ptr; Point A, B; Point *ptr_point=new Point3; ptr=ptr_point; Point C; coutPoint:numberendl; deleteptr; return 0; 执行这个程序的输出结果是_。(分数:1.00)A.3B.4C.6D.78.下列有关类成员的叙述中,正确的是_。(分数:1
6、.00)A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员9.将运算符“+”重载为非成员函数,下列原型声明中,错误的是 _ 。(分数:2.00)A.MyClock operator+(MyClock,long);B.MyClock operator+(MyClock,MyClock);C.MyClock operator+(long,long);D.MyClock operator+(long,MyClock);10.下列关于函数的描述中,错误的是_。(分数:2.50)A.函数可以没有返回值B.函数可以没有参数C.函数可以是
7、一个类的成员D.函数不能被定义为模板11.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 _ 。(分数:2.00)A.选择B.连接C.投影D并12.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是(分数:1.00)A.acbedB.decabC.deabcD.cedba13.以下函数实现的功能是 void fun(char*s) char*p,*q,temp; p=s; q=s+strlen(s)-1; while(pq) temp=*p; *p=*q; *p=temp; p+; q-; (分数:1.00)A.将一个字符串首尾颠
8、倒B.计算字符串的长度C.统计字符串中的空格个数D.将字符串中的小写字母变成大写字母14.执行语句 for(i=1;i+4;);,后变量 i 的值是(分数:1.00)A.3B.4C.5D.不定15.为了使模块尽可能独立,要求_。(分数:1.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强16.下列关于派生类的描述中,错误的是 _ 。(分数:1.00)A.一个派生类可以作为另一个派生类的基类B.派生类至少有一个基类C
9、.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类中保持不变17.下面程序的输出结果是( )。 #include iostream using namespace std; void main() int s; for(int k=2;k6;k+=2) s=1; for(int j=k; j6;j+) s+=j; coutsend1;(分数:2.00)A.9B.1C.11D.1018.下面类的定义,有 _ 处错误。 class MyClass public: void MyClass(); MyClass(int value); private
10、: int i0;(分数:2.00)A.1B.2C.3D.419.有如下程序: #includeiostream using namespace std; int i=1; class Fun public: static int i; int value()return i-1; int value()constreturn i+1; ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; _ return 0; 若程序的输出结果是: 123 则程序中下画线处遗漏的语句是_。(分数:1.00)A.coutfun1.value(
11、)Fun:ifun2.value();B.coutFun:ifun1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();20.为了取代 C 中带参数的宏,在 C+中使用_。(分数:1.00)A.重载函数B.内联函数C.递归函数D.友元函数21.有如下程序: # include ioslreclm Using namespace std; class Base public: Base(int x=0):valB(x)coutvalB; Base()coutval
12、B; Private: int valB; ; class, Derived: public Base public: Dcrived(int x=0,int y=0):Base(x),valD(y) coutvalD; Derived()coutvalD; private: int valD; ; int main() Derived obj12(2,3); return 0; 运行时的输出结果是 _ ,(分数:2.50)A.2332B.2323C.3232D.322322.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课SC(学号,课号,
13、成绩),则表 SC 的关键字(键或码)为(分数:2.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩23.有如下程序: #includeiostream using namespace std; class TestClass public: virtual void funl() cout“fun1TestClass“; virtual void fun2() cout“fun2TestClass“;); class TestClassl:public TestClass void fun() cout“fun1TestClassl“; int main() Tc stC
14、lass obj1,*p; TestClass1 obj2; p=obj2; p-fun1(); p-fun2(); return 0; 该程序执行后的输出结果是_。(分数:1.00)A.fun1TestClass1 fun2TcstClassB.fun1TestClass1 fun2TestClass1C.fun1TestClass fun2TestClassD.fun1TestClass fun2TestClass124.有如下程序: #includeiostream using namespace std; class VAC public: int f()constreturn 3;
15、int f()return 5; ; int main() VAC v1; const VAC v2; coutv1.f()v2.f(); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.53B.35C.55D.3325.下列选项中不全是 C+语言关键字的是(分数:2.00)A.const,break,defaultB.long,void,usingC.virtual,exterm,includeD.try,throw,this26.有如下程序: #includeiostream using namespace std; class Test public: Test()
16、 n+=2; Test() n-=3; static int getNum()return n; private: static int n; ; int Test:n=1; int main() Test* p=new Test; delete p; cout“n=“Test:getNum()endl; return 0; 执行该程序的输出结果是_。(分数:1.00)A.n=0B.n=1C.n=2D.n=327.有如下程序: #includeiostream using namespace std; class Test public: Test() n+=2; Test() n-=3; s
17、tatic int getNum()return n; private: static int n; ; int Test:n=1; int main() Test* p=new Test; delete p; cout“n=“Test:getNum()endl; return 0; 执行该程序的输出结果是_。(分数:1.00)A.n=0B.n=1C.n=2D.n=328.对下面的程序,正确的说法是 _ 。 main() int a,b=1,c=2; a=b+c,a+b,c+3; c=(c)? a+:b-; cout a+b,c;(分数:2.00)A.无错误B.第三行有错误C.第四行有错误D.
18、第五行有错误29.有以下程序: #includeiostream using namespace std; class Complex public: Complex(double r=0,double i=0):re(r),im(i) double real() constreturn re; double imag() constreturn im; Complex operator+(Complex c)const return Complex(re+c.re,im+c.im); private: double re,im; ; int main() Complex a=Complex(
19、1,1)+Complex(5); couta.real()“+“a.imag()“i“endl; return 0; 程序执行后的输出结果是_。(分数:1.00)A.6+6iB.6+1iC.1+6iD.1+1i30.下列关于虚基类的描述中,错误的是 _ 。(分数:2.00)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B:virtual public A”说明类 B 为虚基类D.建立派生类对象时,首先调用虚基类的构造函数31.在对函数进行原型声明时,下列语法成分中不需要的是_。(分数:1.00)A.函数返回类型B.函数参数列表
20、C.函数名D.函数体32.下列对于软件测试的描述中正确的是_。(分数:2.50)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则33.有如下程序: #includeiostream using namespace std; class Base public: void fun1()cout“Baseha/n“; virtual void fun2()cout“Base/n“; ; class Derived:public Base public: void fun1()cout“D
21、erived/n“; void fun2()cout“Derived/n“; ; void f(Baseb.fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是_。(分数:2.00)A.BaseBaseB.BaseDerivedC.DerivedBaseD.DerivedDerived34.有如下程序: #includeiostream using namespace std; class CA public: virtual int f()return 1; ; class GB:public GA public: vi
22、rtual int f()return 2; ; void show(GA g)coutg.f(); void display(GA int main() GA a;show(a);display(a); CB b;show(b);display(b); return 0; 执行这个程序的输出结果是_。(分数:1.00)A.1111B.1211C.1112D.121235.下列叙述中错误的是_。(分数:2.50)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当
23、定义函数为 void 类型D.函数的 return 语句中可以没有表达式二、填空题(总题数:15,分数:25.00)36.执行下列语句序列: im x=1, coutx“-“yend1; 输出结果为 1。 (分数:2.00)37.标识虚函数的关键字是 1。 (分数:2.00)38.对象根据所接受的消息而做出动作,同样的消息被不同的对象所接受时可能导致完全不同的行为,这种现象称为 1。 (分数:2.00)39.以下程序输出的结果是 _ 1_ 。 #includeiostream.h void main( ) int a=5,b=4,c=3,d; d=(abC) ; coutd; (分数:1.00
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C206 答案 解析 DOC
