欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C++笔试-256及答案解析.doc

    • 资源ID:1324496       资源大小:86KB        全文页数:25页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C++笔试-256及答案解析.doc

    1、二级 C+笔试-256 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列函数中对调用它的函数没有起到任何作用的是( )。(分数:2.00)A.void f1(double B.double f2(double x)return x-1.5;C.void f3(double x)-x;D.double f4(double*x)-*x;return*x;2.有下列程序:#includeiostreamusing namespace std;classTestpublic:Test() n2;Test() n-3;static int get

    2、Num()return n;private:static int n;int Test:n1;int main()Test*pnew Test;delete p;cout“n“Test:getNum()endl;retum 0;执行后的输出结果是( )。(分数:2.00)A.n=0B.n=lC.n=2D.n=33.若有如下定义和语句:int s45,(*p)5;p=S;则指针对 s数组中第三个元素的正确引用形式是( )。(分数:2.00)A.p03B.p12C.p02D.p134.将 E-R图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域5

    3、.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int型一维数组 a的前 5个元素。由此可知,变量 P的定义及初始化语句是( )。(分数:2.00)A.int*p=a;B.int p=a;C.*p=a;D.p=a;6.关于运算符重载的表述中正确的是( )。(分数:2.00)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符重载来创建 C+中原来没有的运算符7.已知在函数 func()中语句 this-ff=0;与语句 fi=O;的效果完全相同。对于这一

    4、现象,下列表述中错误的是( )。(分数:2.00)A.ff是某个类的数据成员,func()是该类的友元函数B.ff是某个类的数据成员,func()是该类的成员函数C.this-ff 和 ff是同一个变量D.func不是一个静态成员函数8.下列程序的输出结果是( )。#includeiostreamusing namespace std;int main()char a=“Hello,Test“;char*p=a;while(*p)if(*p=aelse cout*p;p+;retum 0;(分数:2.00)A.hllo,testB.Hello,TestC.HELLO,TESTD.hELLO,t

    5、EST9.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据10.下列关于 getline()函数的描述中,错误的是( )。(分数:2.00)A.该函数可以用宋从键盘上读取字符串B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符时便停止D.该函数中所使用的终止符只能是换行符11.有如下的运算符重载函数定义:double operator+(inti,intk)return double(i+k);但定义有错误,对这个错误最准确的描述是( )。(分数:2.00)A

    6、.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int型参数的和也应该是 int型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int型数据之和的运算符+,不能再定义同样的运算符12.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计13.关于下列程序段的描述中,正确的是( )。#includeiostream.hint fun(int,int);void main()coutfun(1,2)endl;int fun(int x,int y)return X+y;

    7、(分数:2.00)A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误14.有下列的程序:#includecstring.h#includeiostream.husing namespace std;class MyStringpublic:MyString(const char*s);MyString()deletedata;protected:unsigned len;char*data;MyStringMyString(const char*s)len=strlen(S);data=new char1en

    8、+1);strcpy(data,s);int main()MyString a(“C+Programing“);MyString b((分数:2.00)A.;return 0;在运行上面的程序时出错,出错的原因是( )。A) 构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象 a时实参与形参类型不符D.系统不能生成默认的复制构造函数15.下列关于重载函数的描述中,( )是错误的。(分数:2.00)A.重载函数中不允许使用默认参数B.重载函数中编译是根据参数表进行选择C.不要使用重载函数来描述毫不相干的函数D.构造函数重载将会给初始化带来多种方式16.下

    9、列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public成员在派生类中仍是 public成员B.私有继承时基类中的 protected成员在派生类中仍是 protected成员C.私有继承时基类中的 public成员在派生类中仍是 private成员D.保护继承时基类中的 public成员在派生类中仍是 protected成员17.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参

    10、数表来区分函数的不同重载形式18.下列程序的执行结果是( )。#includeiostream.h#includestdlib.hclass TestClasspublic:intx,y;TestClass()x=y=0;TestClass(int a,int b)x=a;y=b;void disp()cout“X“=“X“,y=“yendl;void main()TestClass sl(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3D.x=3,y=219.有下列程序:#includeiostreamusing namespace st

    11、d;class Complexdouble re,im;public:Complex(double r,double i):re(r),im(i)double real()constretum re;double image()constreturn im;Complexim+=a.im;return*this;ostreamint main()Complex x(1,2),y(2,3);cout(x+=y)endl;return 0;执行这个程序的输出结果是( )。A) (1,-2)B.(2,3)C.(3,5)D.(3,1)20.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.

    12、00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表21.是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。(分数:2.00)A.模板B.类C.对象D.函数22.下列有关重载函数的描述中,正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同23.若有如下变量定义和函数调用语句:inta=5;fun(则执行下面函数后正确的输出结果是( )。void fun(int*x)cout+*xendl;A) 3B.4C.5D.624.有下列语句序

    13、列:int k=0; dok+=5;cout$; while(k19);while(k-0)cout*;执行上面的语句序列输出字符“$”和“*”的个数分别是( )。(分数:2.00)A.4和 20B.5和 20C.4和 21D.5和 2125.下列描述中正确的是( )。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合26.假定 MyClass为一个类,则执行 MyClass a b(2),*p;语句时,自动调用该类构造函数( )次。(分数:2.00)A.2B.3C.4D.527.假定 MyCIass为一个类

    14、,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int n);C.MyClass();D.MyClass();28.下列选项中合法的用户标识符是( )。(分数:2.00)A.10ngB.2TestC.3DmaxD.dat29.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护问题30.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间31.两个或两个以上模块之间联系的紧密程度

    15、称为( )。(分数:2.00)A.耦合性B.内聚性C.复杂性D.数据传输特性32.有下列程序:#includeiostream.husing namespace std;class Demopublic:Demo() cout“default constmctor/n“;Demo(const Demo ;Demo userCode(Demo b)Demo c(b);return c;int main()Demo a,d;cout“calling userCode()/n“;d=userCode((分数:2.00)A.;return 0;执行上面程序的过程中,构造函数 Demo()和 Demo(

    16、const Demo for(int i=l;in;i+)if(aim)_;return m;(分数:2.00)填空项 1:_43.重载的关系运算符和逻辑运算符的返回类型应当是 1。(分数:2.00)填空项 1:_44.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是_。#includeiostreamusing namespace std;class Basepublic:void print() coutB;class Derived:public Base public:void print() coutD

    17、;int main()Derived*pd=new Derived()“Base*pb=pd;pb-print();pd-print();delete pd;return 0;(分数:2.00)填空项 1:_45.对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分数:2.00)填空项 1:_46.执行下列程序的输出结果是_:#includeiostreamusing namespacestd;class TestClasslpublic:void funl()cout“TestClassl/n

    18、“;virtual void fun2() cout“TestClassl/n“;class TestClass2:public TestClass1public:void fun1() cout“,TestClass2/n“;void fun2()cout“,TestClass2/n“;void f(TestClass1b.fun2();int main()TestClass2 obj;f(obj);retum 0;(分数:2.00)填空项 1:_47.请定义一个函数名为 fun,返回值为 int,没有参数的纯虚函数的定义是 1。(分数:2.00)填空项 1:_48.重新定义标识符的作用域规

    19、定是外层变量被隐藏, 1 变量是可见的。(分数:2.00)填空项 1:_49.如果表达式 x=y*z中的“*”是作为成员函数重的运算符,采用运算符函数调用格式,该表达式还可以表示为 1。(分数:2.00)填空项 1:_50.有下列程序:#includeiostreamusing namespace std;class Conchar ID;public:Con():ID(A)cout1;Con(char ID) :D(ID) cout2;Con(Conchar getID()constreturn ID;void show(COn c)coutc.getID();int main()Con c

    20、1;show(c1);Con c2(B);show(c2);retum 0;执行上面程序的输出结果是_。(分数:2.00)填空项 1:_二级 C+笔试-256 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列函数中对调用它的函数没有起到任何作用的是( )。(分数:2.00)A.void f1(double B.double f2(double x)return x-1.5;C.void f3(double x)-x; D.double f4(double*x)-*x;return*x;解析:解析 此题考查的是函数的调用和函数参数值的传递。

    21、选项 C)中函数 S的调用采用按值传递的方式,函数中对形参的修改不能改变实参的值,并且 f3函数没有返回值,所以 f3对调用它的函数没有起到任何的作用。选项 A)采用的是引用传递方式;选项 B)中 f2有返回值;选项 D)中函数 f4是指针调用并且函数有返回值。2.有下列程序:#includeiostreamusing namespace std;classTestpublic:Test() n2;Test() n-3;static int getNum()return n;private:static int n;int Test:n1;int main()Test*pnew Test;de

    22、lete p;cout“n“Test:getNum()endl;retum 0;执行后的输出结果是( )。(分数:2.00)A.n=0 B.n=lC.n=2D.n=3解析:解析 语句 Test*p=new Test;会调用类的构造函数 Test() n+=2;,使 n的值由原来的 1变为3,然后 delete p调用类的析构函数Test() n-=3;,因为 n是 static型变量,所以会在 3的基础上减 3使得输出结果为 0。3.若有如下定义和语句:int s45,(*p)5;p=S;则指针对 s数组中第三个元素的正确引用形式是( )。(分数:2.00)A.p03B.p12C.p02 D.

    23、p13解析:解析 “p=s;”语句将指针 p指向数组 s。而数组为二维数组,下标标识由 0开始,所以第二个元素为下标为 0行的 2列,即 p02。4.将 E-R图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系 C.键D.域解析:解析 将 E-R图转换成指定 RDBMS中的关系模式是数据库逻辑设计的主要工作。从 E-R图到关系模式的转换是比较直接的,实体和联系都可以表示成关系。5.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int型一维数组 a的前 5个元素。由此可知,变量 P的定义及初始化语句是( )

    24、。(分数:2.00)A.int*p=a; B.int p=a;C.*p=a;D.p=a;解析:解析 从循环语句中可以看出,是在 04 的循环中输出数组 a中的前,5 个元素,输出的值为*(p+i),即为指针 p向后移动指向的元素。所以初始化要将指针 p指向数组 a,即 int*P=a;。6.关于运算符重载的表述中正确的是( )。(分数:2.00)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型 D.可以通过运算符重载来创建 C+中原来没有的运算符解析:解析 此题考查的是运算符的有关概念。运算符重载是针对 C+原有运算

    25、符进行的,不能通过重载创造新的运算符:除了“.”、“.*”、“-*”、“”、“?:”这 5个运算符之外,其他运算符都可以重载;在类型转换符函数的定义中不需要声明返回类型,所以选项 C)正确;运算符函数的返回值类型可以声明为基本数据类型。7.已知在函数 func()中语句 this-ff=0;与语句 fi=O;的效果完全相同。对于这一现象,下列表述中错误的是( )。(分数:2.00)A.ff是某个类的数据成员,func()是该类的友元函数 B.ff是某个类的数据成员,func()是该类的成员函数C.this-ff 和 ff是同一个变量D.func不是一个静态成员函数解析:解析 此题考查的是 th

    26、is指针的使用。类的每一个对象成员函数都有一个隐含的常量指针,即this指针。本题选项 A)中,若 func()是该类的友元函数,this 指针没有指向同一个对象的地址,语句this-ff=0;与 ff=0;的效果就不同了。8.下列程序的输出结果是( )。#includeiostreamusing namespace std;int main()char a=“Hello,Test“;char*p=a;while(*p)if(*p=aelse cout*p;p+;retum 0;(分数:2.00)A.hllo,testB.Hello,TestC.HELLO,TEST D.hELLO,tEST解

    27、析:解析 用一个指针变量 p指向字符数组 a,在 while循环中,当不指向数组尾时,将小写字母转换为大写字母,然后将其输出。9.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式 C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据解析:解析 数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。10.下列关于 getline()函数的描述中,错误的是( )。(分数:2.00)A.该函数可以用宋从键盘上读取字符串B.该函数读取的字符串长度是受限制的C.

    28、该函数读取字符串时,遇到终止符时便停止D.该函数中所使用的终止符只能是换行符 解析:解析 此题考查的是无格式输入输出流对象中的 getline()函数。该函数的功能是允许从输入流中读取多个字符,并且允许指定输入终止字符(默认是换行符),在读取完成后,从读取的内容中删除该终止字符。11.有如下的运算符重载函数定义:double operator+(inti,intk)return double(i+k);但定义有错误,对这个错误最准确的描述是( )。(分数:2.00)A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int型参数的和也应该是 int型,而这里将+的返回类型声明

    29、为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int型数据之和的运算符+,不能再定义同样的运算符 解析:解析 此题考查的是运算符的重载。C+语言规定,不能作为非成员函数重载的运算符有=、()、-以及所有的类型转换运算符,故选项 A)错误:运算符重载对返回值类型没有限制,故选项 B)错误;C+并不强制要求非成员重载的运算符一定是某个类的友元,所以选项 C)错误;题目中重载的“+”运算符的两个参数都是 int类型,而 C+已经提供了求两个 int型数据之和的运算符+,编译器无法区分应该调用哪一个,所以应该选择选项 D)。12.设计数据库的存储结构属于( )。(

    30、分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计 解析:解析 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。13.关于下列程序段的描述中,正确的是( )。#includeiostream.hint fun(int,int);void main()coutfun(1,2)endl;int fun(int x,int y)return X+y;(分数:2.00)A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确 D.该函数定义和调用方式都错误解析

    31、:解析 函数定义的一般形式:类型标识符函数名(形式参数列表)声明部分;语句。函数调用的一般格式:函数名(实参列表)。而“int fun(int,int)”为函数声明,可以不写形参名,只写形参的类型。所以,可以看出函数 fun的定义和调用都是正确的。14.有下列的程序:#includecstring.h#includeiostream.husing namespace std;class MyStringpublic:MyString(const char*s);MyString()deletedata;protected:unsigned len;char*data;MyStringMyStr

    32、ing(const char*s)len=strlen(S);data=new char1en+1);strcpy(data,s);int main()MyString a(“C+Programing“);MyString b((分数:2.00)A.;return 0;在运行上面的程序时出错,出错的原因是( )。A) 构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数 C.构造对象 a时实参与形参类型不符D.系统不能生成默认的复制构造函数解析:解析 此题考查的是类的构造函数。C+语言中当一个新对象被另一个已存在的同类型对象初始化时要调用复制构造函数。语句“My S

    33、tring b(a);”符合条件,将调用 My String的复制构造函数,但类My String未定义复制构造函数,所以会出错。15.下列关于重载函数的描述中,( )是错误的。(分数:2.00)A.重载函数中不允许使用默认参数 B.重载函数中编译是根据参数表进行选择C.不要使用重载函数来描述毫不相干的函数D.构造函数重载将会给初始化带来多种方式解析:解析 在选项 A)中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫不相干的函数;重载函数中编译是根据参数表进行选择,包括参数的个数和类型。16.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的

    34、public成员在派生类中仍是 public成员B.私有继承时基类中的 protected成员在派生类中仍是 protected成员 C.私有继承时基类中的 public成员在派生类中仍是 private成员D.保护继承时基类中的 public成员在派生类中仍是 protected成员解析:解析 此题考查的是派生类中的访问权限。继承方式包括公有、保护和私有派生。私有继承时基类中的 protected成员在派生类中变成了 private成员,所以选项 B)错误。17.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句

    35、必须是 return语句C.标准 C+要求在调用一个函数之前,必须先声明其原型 D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式解析:解析 选项 A)中,内联函数不是定义在另一个函数体内部的函数,而是将 incline放在函数定义中函数类型之前;函数题的最后一条语句可以是任意的语句,所以选项 B)错误;编译器不会根据函数返回值的类型宋区分重载形式,所以选项 D)错误。标准 C+要求在调用一个函数之前,必须先声明其原型,所以选项 C)正确。18.下列程序的执行结果是( )。#includeiostream.h#includestdlib.hclass TestClasspubli

    36、c:intx,y;TestClass()x=y=0;TestClass(int a,int b)x=a;y=b;void disp()cout“X“=“X“,y=“yendl;void main()TestClass sl(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3 D.x=3,y=2解析:解析 由主函数入手,定义了类 TestClass的对象 s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“co

    37、ut”x=“x”,y=“yendl;”。即 x=2,y=3。19.有下列程序:#includeiostreamusing namespace std;class Complexdouble re,im;public:Complex(double r,double i):re(r),im(i)double real()constretum re;double image()constreturn im;Complexim+=a.im;return*this;ostreamint main()Complex x(1,2),y(2,3);cout(x+=y)endl;return 0;执行这个程序的

    38、输出结果是( )。A) (1,-2)B.(2,3)C.(3,5) D.(3,1)解析:解析 此题考查的是“+”运算符的重载。重载后的“+”运算符的功能是对参数的两部分分别进行加法运算,然后返回复数值。所以 x+=y使得对象 x(1,2)与 y(2,3)的 re和 im分别相加,最后输出结果(3,5)。20.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接 C.关联、更新、排序D.显示、打印、制表解析:解析 关系数据库管理系统的专门关系运算包括选择运算、投影运算和连接运算。21.是以一种完全通用的方法来设计函数或类而不必预先说明将被使用

    39、的每个对象的类型。(分数:2.00)A.模板 B.类C.对象D.函数解析:解析 此题考查的是模板的特点。模板是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。22.下列有关重载函数的描述中,正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表 D.重载函数名可以不同解析:解析 所谓函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。但函数的返回类型不能作为判断重载的依据。23.若有如下变量定义和函数调用语句:inta=5;fun(则

    40、执行下面函数后正确的输出结果是( )。void fun(int*x)cout+*xendl;A) 3B.4C.5D.6 解析:解析 fun 函数中的 x参数为整型指针变量。调用 fun函数, dok+=5;cout$; while(k19);while(k-0)cout*;执行上面的语句序列输出字符“$”和“*”的个数分别是( )。(分数:2.00)A.4和 20 B.5和 20C.4和 21D.5和 21解析:解析 此题考查的是 dowhile语句和 while语句的使用。题目中 dowhile语句循环了 4次,while语句循环了 20次,故最后输出字符“$”4 个,字符“*”20 个。2

    41、5.下列描述中正确的是( )。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合 解析:解析 软件是运行在计算机硬件之上的逻辑实体,包括程序、数据和相关的文档,软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。26.假定 MyClass为一个类,则执行 MyClass a b(2),*p;语句时,自动调用该类构造函数( )次。(分数:2.00)A.2 B.3C.4D.5解析:解析 C+在创建一个对象时,会调用类的构造函数。语句 MyClass a b(2),*p;创建了两个对象a、b 和指针 p,在

    42、创建对象 a和 b后会调用构造函数,而创建指针 p时,由于 p本身不是对象,所以不调用类的构造函数。27.假定 MyCIass为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int n);C.MyClass();D.MyClass(); 解析:解析 C 抖语言中析构函数为符号“”加类名,且析构函数没有返回值和参数,故前不加 void关键字。所以正确的形式应该是-MyClass()。28.下列选项中合法的用户标识符是( )。(分数:2.00)A.10ngB.2Test C.3DmaxD.dat解析:解析 此题考查的是标

    43、识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过 31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。符合这些要求的只有选项 B)。29.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题B.共享问题 C.安全问题D.保护问题解析:解析 在数据库系统中,需要对数据进行集中、统一的管理,以达到被多个应用程序共享的目标。30.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需

    44、要的存储空间 解析:解析 一个算法的空间复杂度,一般是指执行这个算法所需的存储空间。一个算法所占用的存储空间包程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。31.两个或两个以上模块之间联系的紧密程度称为( )。(分数:2.00)A.耦合性 B.内聚性C.复杂性D.数据传输特性解析:解析 耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。32.有下列程序:#includeiostream.husing namespace std;class Demopublic:Demo() cout“default con

    45、stmctor/n“;Demo(const Demo ;Demo userCode(Demo b)Demo c(b);return c;int main()Demo a,d;cout“calling userCode()/n“;d=userCode((分数:2.00)A.;return 0;执行上面程序的过程中,构造函数 Demo()和 Demo(const Demo for(int i=l;in;i+)if(aim)_;return m;(分数:2.00)填空项 1:_ (正确答案:m=ai)解析:解析 此题考查的是函数模板、if 语句、for 循环等知识点。函数模板 max()的功能是返回

    46、数组a中最大元素的值,所以当 ai是最大值时,应将 ai的值赋给 m。43.重载的关系运算符和逻辑运算符的返回类型应当是 1。(分数:2.00)填空项 1:_ (正确答案:bool)解析:解析 关系运算符和逻辑运算符重载后只能是 true或者 false,即返回值为 bool型。44.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是_。#includeiostreamusing namespace std;class Basepublic:void print() coutB;class Derived:publ

    47、ic Base public:void print() coutD;int main()Derived*pd=new Derived()“Base*pb=pd;pb-print();pd-print();delete pd;return 0;(分数:2.00)填空项 1:_ (正确答案:BD)解析:解析 因为本题中的 print()函数不是虚函数,所以通过基类指针 pb调用的 print()函数是基类中的版本,而通过派生类指针 pb调用的 print()函数是派生类中的版本。因此,程序运行时会先输出一个字符B,然后输出字符D。45.对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分数:2.00)填空项 1:_ (正确答案:基类)解析:解析 对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用基类的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。所以本题填:基类。46.执行下列程序的输出结果是_


    注意事项

    本文(【计算机类职业资格】二级C++笔试-256及答案解析.doc)为本站会员(figureissue185)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开