【计算机类职业资格】二级C++笔试-308及答案解析.doc
《【计算机类职业资格】二级C++笔试-308及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-308及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-308 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)1.有以下程序:#include iostream#include fstreamusing namespace std;int main ( )ofstream ofile;char ch;ofile.open (“abc.txt“);cinch;while (ch!=# )cinch;ofile.put(ch);ofile.close();return 0;当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt 中的内容为( )。(分数:2.00)A.程
2、序编译时出错B.abc#C.abcD.#2.下列关于虚函数的描述中,正确的是( )。(分数:2.00)A.如果在重定义函数时使用了保留字 virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态函数C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数3.有以下程序:#include iostream#include stringusing namespace std;class baseprivate:char baseName10;public:base ( )strcpy (baseName, “Base“);virtual char *myName()ret
3、urn baseName;char *className()return baseName;class Derived : public baseprivate:char derivedName10;public:Derived()strcpy(derivedName,“Derived“);char *myName()return derivedName;char *className()return derivedName;void showPtr(base int main ()base bb;Derived dd;showPtr(dd) ;return 0;(分数:2.00)A.Deri
4、vedBaseB.BaseBaseC.DerivedDerivedD.BaseDerived4.下面是类 MyClass 的定义,对定义中各语句描述正确的是( )。class MyClassprivate:int x,y, z;public:void MyClass(int(分数:2.00)A.x=a; /int f(int a, intB.int main()int x;for(int i=1;i=100;i+)x=i;if (+x%2=0)if (+x%3=0)if (+x%7=0)coutx“,“;coutend1;return 0;执行后输出结果是( )。(分数:2.00)A.39,8
5、1B.42,84C.26,68D.28,709.执行完 C+程序中的下列 3 条语句后,c 指向( )。int a, b,*c = class AApublic:virtual void f()cout “AA“;class BB : public AApublic:BB()cout “BB“;class CC : public BBpublic:virtual void f()BB:f();cout “CC“;int main ()AA aa,*p; BB bb; CC cc;p=p-f ();return 0;执行上面的程序将输出( )。(分数:2.00)A.AAB.AABBCCC.BBA
6、ABBCCD.BBBBAACC13.数据库设计包括两个方面的设计内容,它们是( )。(分数:2.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计14.数据库系统的核心是( )。(分数:2.00)A.数据库B.数据库管理系统C.数据模型D.软件工具15.下面关于对象概念的描述中错误的是( )。(分数:2.00)A.任何对象都必须有继承性B.对象是属性和方法的封装体C.对象间的通信靠消息传递D.操作是对象的动态属性16.软件测试方法中属于静态测试方法的是( )。(分数:2.00)A.黑盒法B.逻辑覆盖C.错误推测D.人工检测17.设有 n
7、元关系 R 及 m 元关系 S,它们分别有 p、q 个元组,则关系 R 与 S 经笛卡尔积记为 RS,该关系是一个 n+m 元关系,那么其元组个数是( )。(分数:2.00)A.n*mB.n+mC.p+qD.p*q18.有如下类的定义。那么空格处的语句是( )。class MyClass_int x,y;public:MyClass(int x1=0,int y1=0)x=x1;y=y1;static void change()x+=10;y+=10;(分数:2.00)A.staticB.constC.privateD.不需要填入内容19.下列不属于软件工程过程的基本活动的是( )。(分数:2
8、.00)A.软件规格说明B.软件开发C.软件确认D.软件需求分析20.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为( )(分数:2.00)A.2B.3C.4D.521.有以下程序:#include iostreamusing namespace std;int s=0;class samplestatic int n;public:sample (int i)n=i;static void add()s+=n;int sample:n=0;int main ()sample a(2) ,b(5);sample:ad
9、d();coutsend1;return 0;执行后的输出结果是( )。(分数:3.00)A.2B.5C.7D.322.设有 a、b、c、d、m、n 均为 int 型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=aB) flag=n-1;while (flagO)k=flag-1; flag=O;for (j=O; j=k; j+)if(LjLj+1)temp=Lj;Lj=Lj+1;Lj+1 =temp; flag=j;void main()int array4=2, 1,3,0;sort (array, 4);for (int i=O; i4; i+)cout
10、arrayi;cout end;程序执行后的输出结果是( )。(分数:3.00)A.0123B.3210C.2130D.123027.有以下程序:#includeiostreamusing namespace std;int main()int a=5, b=4, c=3,d=2;if(abc) coutdend1;else if(c-1=D) =1)coutd+1end1;elsecoutd+2end1;return O;执行后的输出结果是( )。(分数:3.00)A.2B.3C.4D.编译时有错,无结果28.C+语言是以( )语言为基础逐渐发展演变而成的一种程序设计语言。(分数:3.00)
11、A.PascalB.CC.BD.Simula 6729.以下程序的执行结果为( )。#includeiostream.hClass sampleint n;public:sample(int i)n=i; operator +() n+; void display() coutnend1; ;void main()sample obj(5);obj+;objdisplay();(分数:3.00)A.5B.6C.7D.830.有如下程序:#include iostreamusing namespace std;Class xprotected:int a;public:x()a=1;class
12、x1 : virtual public xpublic:x1()a+=1;couta;class x2 : virtual public xpublic:x2()a+=2;couta;class y : public xl,public x2public:Y()coutaend1;int main ()y obj;return 0;该程序运行后的输出结果是( )。(分数:3.00)A.1B.123C.242D.244二、填空题(总题数:13,分数:30.00)31.算法的空间复杂度是指 【1】 。(分数:2.00)填空项 1:_32.树 L 中,度为 1、2、3、4、5 和 6 的节点个数为
13、6、4、3、3、5、1,则 L 中叶子的个数是 【2】 。(分数:2.00)填空项 1:_33.程序设计中最基本、最常用的控制结构是 【3】 。(分数:2.00)填空项 1:_34.软件是程序、数据和 【4】 的集合。(分数:2.00)填空项 1:_35.一个工人可以加工多种零件,每一种零件可以由不同的工人来加工,工人和零件之间为 【5】 的联系。(分数:2.00)填空项 1:_36.写出执行完下列代码段之后指定变量的值:bool x=true ,y=false,z=false;x=x【8】 ;int k=0;dos+=d;k+;d=1.0/(k*k+1);while( 【9】 );(b) d
14、ouble s=1.0;for(int k=1;k=10;k+) s+=1.0/(k*(k+1);(分数:4.00)填空项 1:_38.下面语句段的输出结果是 【10】 。int x=0,y=2,z=3;switch(x)case 0 : switch(y) case 1 : cout*; break;case 2 : cout%; break;case 1 : switch(z)case 1 : cout$; break;case 2 : cout*; break;default : cout#;(分数:2.00)填空项 1:_39.若要把类 FriendClass 定义为类 MyClass
15、 的友元类,则应在类 MyClass 的定义中加入语句 【11】 。(分数:2.00)填空项 1:_40.有如下的类的模板定义:template class Tclass MyClassprivate:T number;public:MyClass(T k);其中构造函数 MyClass()用 k 的值初始化数据成员 n。因此在模板类体外,构造函数MyClass 应定义为 【12】 。(分数:2.00)填空项 1:_41.有以下程序:#include iostreamusing namespace std;class MyClasspublic:MyClass();MyClass();stat
16、ic int s;void SetValue(int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int val)s=val;int main()MyClass my3,*p;p=my;for(int k=0;k3;k+)p-SetValue(k+1);p+;coutMyClass:send1;return 0;运行后的输出结果是 【13】 。(分数:2.00)填空项 1:_42.有以下程序:#include iostreamusing namespace std;class Baseprivate:int a,
17、b;public:Base(int x, int y)a=x;b=y;void Show()couta , bend1;class Derived : public Baseprivate:int c;public:Derived(int x, int y, int z) : Base(x,y),c(z) void Show()coutcend1;int main()Base b(50,50),*pb;Derived d(10,20,30);pb=pb-Show();return 0;运行后的打印结果为 【14】 (分数:2.00)填空项 1:_43.设文件 temp.txt 已存在,则以下的
18、打印结果是 【15】 #include iostream#include fstreamusing namespace std;int main()ofstream outf (“temp.txt“,ios base: :trunC) ;outf“How you doing“;outf.close();ifstream inf(“temp.txt“);char str20;infstr;inf.close();coutstr;return 0;(分数:2.00)填空项 1:_二级 C+笔试-308 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:30,分数:70.00)
19、1.有以下程序:#include iostream#include fstreamusing namespace std;int main ( )ofstream ofile;char ch;ofile.open (“abc.txt“);cinch;while (ch!=# )cinch;ofile.put(ch);ofile.close();return 0;当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt 中的内容为( )。(分数:2.00)A.程序编译时出错B.abc#C.abc D.#解析:解析 本题程序的功能是将从键盘终端输入的内容存储到指定的文件中。2.下列关
20、于虚函数的描述中,正确的是( )。(分数:2.00)A.如果在重定义函数时使用了保留字 virtual,则该重定义函数仍然是虚函数B.虚函数不得声明为静态函数 C.虚函数不得声明为另一个类的友元函数D.派生类必须重新定义基类的虚函数解析:解析 被关键词 virtual 说明的函数称为虚函数。对于虚函数有以下限制:只有类的成员函数才能说明为虚函数。这是因为,虚函数仅适用于有继承关系的类对象,所以普通函数不能说明为虚函数。静态成员函数不能是虚函数,因为静态成员函数不受限于某个对象。内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置。即使虚函数在类的内部定义,编译时仍将其看作是非内联的。
21、构造函数不能是虚函数,因为构造时对象还是一片未定型的空间。只有在构造完成后,对象才能成为一个类的名副其实的实例。 、析构函数可以是虚函数,而且通常说明为虚函数。说明虚函数的目的在于:使用 delete 运算符删除一个对象时,能确保析构函数被正确地执行。这是因为设置虚析构函数后,可以利用动态联编方式选择析构函数。一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。3.有以下程序:#include iostream#include stringusing namespace s
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 308 答案 解析 DOC
