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

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

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

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

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

    1、二级 C+笔试-47 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.已知一函数的形参说明为 int arr56,则与此等效的形参说明为( )。(分数:2.00)A.int arrB.int5C.int *a6D.int(*a)62.下列说法正确的是( )。(分数:2.00)A.内联函数在运行时将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义3.下列关于虚基类的描述,错误的是( )。(分数:2.

    2、00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数4.下面程序的输出结果是( )。#includeiostreamUsing namespace std:Class Basepublic:Base(int x=0)countx;Class Derived:public Basepublic:Derved(int x=0countx;private:Base val;int mina()Derived d(1);ret

    3、urn 0;(分数:2.00)A.0B.1C.01D.0015.执行语句:coutsetfill(*)setw(10)setfill(#)left123“OK“endl;后将输出( )。(分数:2.00)A.123*OKB.123#OKC.123*OK*D.123#OK#6.下列关于多态性的描述,错误的是( )。(分数:2.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定7.下面有关重载函数的描述中正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型

    4、B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同8.语句 ofstream f(“DATA.DAT“,ios_base:app|ios_base:binary);的功能是建立流对象 f,试图打开文件 DATA.DAT 并与之连接,而且( )。(分数:2.00)A.若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件B.若文件存在,将其截为空文件,若文件不存在,打开失败C.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件9.有如下类定义:class Foopublic:Foo(i

    5、nt v):value(v) /Foo() /private:Foo() /int value=0; /;其中存在语法错误的行是( )。(分数:2.00)A.B.C.D.10.下列函数的运行结果是( )。#includeiostream.hint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int add(int a,int b)int s=a+b;return s;(分数:2.00)A.25B.30C.20D.1511.有下列二叉树,对此二叉树前序遍历的结果是( )。(分数:2.00)A

    6、.B.C.D.12.树是结点的集合,它的根结点的数目是( )。(分数:2.00)A.有且只有 1 个B.1 或多于 1C.0 或 1D.至少有 2 个13.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间14.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率15.下列程序

    7、的运行结果是( )。#includeiostream.hclassAint a;public:A()a=0;A()int aaa=aa;couta+;void main()A x,y(2),z(3);coutendl;(分数:2.00)A.00B.23C.34D.2516.设有定义:class Cpublic:int value;int x,*p;则以下引用形式中,正确的是( )。(分数:2.00)A.x=value;B.x=C:valueC.p=valueD.p=C:value17.有以下程序:#includeiostreamusing namespace std;#define PI 3.

    8、14class Pointprivate:int x,y;public:Point(int a,int b)x=a;y=b;int getx()return x;int gety()return y;class Circle:public Pointprivate:int r;public:Circle(int a,int b,int c):Point(a,b)r=c;int getr()return r;double area()return PI *r *r;int main()Circle c1(5,7,10);coutc1.area()endl;return 0;程序执行后的输出结果是

    9、( )。(分数:2.00)A.314B.157C.78.5D.153.8618.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.NSD.DFD19.下列关于虚函数的描述中,正确的是( )。(分数:2.00)A.虚函数是一个 static 类型的成员函数B.虚函数是一个非成员函数C.基类中采用 virtual 说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual 说明D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型20.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n

    10、/2C.nD.n+121.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段22.设 R 是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。(分数:2.00)A.RSB.RSC.RSD.RS23.有如下程序:#includeiostreamusing namespace std;int main()int *p;*p=9;cout“The value at p:“*p;return 0;编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行

    11、时一定输出 The value at p:9C.运行时一定输出 The value at p:*9D.运行时有可能出错24.实现运行时的多态性要使用( )。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数25.已知 char a;int b;float c;double d;则表达式 a*b+c-d 的结果为( )。(分数:2.00)A.doubleB.intC.floatD.char26.下面程序的运行结果为( )。#includeiostream.hClass Apublic:A()cout“1“;A()cout“2“;Class B:public:Apublic:B()c

    12、out“3“;B()tout“4“;Void main()B b;(分数:2.00)A.1234B.1324C.1342D.314227.下面关于数组的初始化正确的是( )。(分数:2.00)A.charstr=a,b,cB.charstr2=a,b,cC.charstr23=a,b,b,c,e,fD.charstr()=a,b,c28.类模板 templateclass Tclass x(),其中友元函数 f 对特定类型 T(如 int),使函数f(xint)成为 xint模板类的友元,则其说明为( )。(分数:2.00)A.friend voidf();B.friend voidf(xT)

    13、;C.friend voidA:f();D.friend void CT:f(xT);29.使用白盒测试法时,确定测试数据应该根据( )和指定的覆盖标准。(分数:2.00)A.程序的内部逻辑B.程序的复杂结构C.使用说明书D.程序的功能30.下面是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A31.下列是重载为非成员函数的运算符函数原型,其中错误的是( )。(分数:2.0

    14、0)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fractionoperator=(Fraction,Fraction);D.Fractionoperator+=(Fraction,Fraction);32.结构化程序设计的三种基本结构是( )。(分数:2.00)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移33.有以下程序:#includeiostreamusing namespace std;class sampleprivate:int x;publ

    15、ic:sample(int a)x=a;friend double square(sample s);double square(sample s)return s.x*s.x;int main()sample s1(20),s2(30);coutsquare(s2)endl;return 0;执行结果是( )。(分数:2.00)A.20B.30C.900D.40034.下列字符串中,正确的 C+标识符是( )。(分数:2.00)A.foo-1B.2bC.newD._25635.有以下程序:#includediostreamusing namespace std;class MyClasspu

    16、blic:MyClass(int n)number=n;/拷贝构造函数MyClass(MyClass other) number=other.number;MyClass() private:int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10),obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;程序执行时,MyClass 类的拷贝构造函数被调用的次数是( )。(分数:2.00)A.5B.4C.3D.2二、填空题(总题数:1

    17、5,分数:30.00)36.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,继而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_37.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是 1。(分数:2.00)填空项 1:_38.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_39.常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表示传递数据。(分数:2.00)填空项 1:_40.数据库系统其内部分为三级模式,即概念模式、内模式和

    18、外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_41.将一个函数声明为一个类的友元函数必须使用关键字 1。(分数:2.00)填空项 1:_42.若有函数 fun(x,y),并且已经使函数指针变量 p 指向函数 fun,则使用 p 调用函数 fun 的方法是 1。(分数:2.00)填空项 1:_43.C+语句 const char *const p=“hello“;,所定义的指针 p 和它所指的内容都不能被 1。(分数:2.00)填空项 1:_44.类中包含了一个静态成员函数,则 main 函数中和 P.f1(P);语句具有同样功能的语句为_。#

    19、includeiostream.hclass Mpublic:M(int A)A=a;B+=a;static void f1(M m);private:int A;static int B;void M:f1(M m)cout“A=“m.Aendl;cout“B=“m.Bendl;int M:B=10;void main()M P(5);P.f1(P);(分数:2.00)填空项 1:_45.下面是一个栈类的模板,其中 push 函数将元素 i 压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top 值为 0,栈项元素在 stacktop-中,在下面横线处填上适当语句,完成栈类模板的定义。tem

    20、plateclass Tclass Tstack enumsize=1000;T stacksize;int top;public:Tstack():top(0)void push(const T i)if(topsize)stacktop+=i;Tpop()if(top=0)exit(1);/栈空时终止运行return_;(分数:2.00)填空项 1:_46.对于下面定义的类 MyClass,请在函数 f()中添加对象成员,把 n 的值修改为 50。Class MyClassPublic:MyClass(int x)n=x;Void SetNum(int n1)n=n1;private:in

    21、t n;int f()MyClass *ptr=new MyClass(45);(分数:2.00)填空项 1:_47.在下列程序的横线处填上适当的语句,使该程序的输出为 12。#includediostream.husing namespace std;class Basepublic:int a,b;Base(int i)a=i;class Derived:public Baseint a;public:Derived(int x):Base(x),b(x+1);void show()_;/输出基类数据成员 a 的值。coutbendl;void main()Derived d(1);d.s

    22、how();return 0;(分数:2.00)填空项 1:_48.在 MyClass 类的定义中,对赋值运算符一进行重载。请将横线处缺失的部分补充完整。_MyClass:operator=(const MyClassrhs)if(this=rhs)return *this;value=rhs.value;return *this;(分数:2.00)填空项 1:_49.下列程序的输出结果是_。#includeiostreamusing namespace std;class Testpublic:Test()cnt+;Test()cnt-;static int Count()return cn

    23、t;private:static int cnt;int Test:cnt=0;int main()coutTest:Count();Test t1,t2;Test *pT3=new Test;Test *pT4=new Test;eoutTest:Count();delete pT4;delete pT3;coutTest:Count()endl;return 0;(分数:2.00)填空项 1:_50.有以下程序:#includeiostreamusing namespace std;class Basepublic:Base()x=0;int x;class Derived1:virtua

    24、l public Basepublic:Derived1()x=10;class Derived2:virtual public Basepublic:Derived2()x=20;class Derived:public Derived1,protected Derived2;int main()Derived obj;coutobj.xendl;return 0;该程序运行后的输出结果是_。(分数:2.00)填空项 1:_二级 C+笔试-47 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.已知一函数的形参说明为 int arr56,则与

    25、此等效的形参说明为( )。(分数:2.00)A.int arrB.int5C.int *a6D.int(*a)6 解析:解析 二维数组可以看做是一维数组的扩展。选项 D 表示的是一个一维数组,里面每个元素是一个指针,而指针肯定指向某个地址,从而完成二维数组的扩展。考生要了解*和的运算优先级。2.下列说法正确的是( )。(分数:2.00)A.内联函数在运行时将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时将该函数的目标代码插入每个调用该函数的地方 C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义解析:解析 本题考查的是内联函数的定义,引入

    26、内联函数是为了解决程序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如果不加 inline 关键字,则编译器会将在类说明部。分定义的任何函数都被认定为内联函数。3.下列关于虚基类的描述,错误的是( )。(分数:2.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用 C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数解析:解析 虚基类的引入就是为了消除二义性,其构造函数的调用仍然是按照继承的顺

    27、序进行的,对于多个虚基类则按它们说明的次序调用,虚基类的构造函数先于非虚基类的构造函数执行。4.下面程序的输出结果是( )。#includeiostreamUsing namespace std:Class Basepublic:Base(int x=0)countx;Class Derived:public Basepublic:Derved(int x=0countx;private:Base val;int mina()Derived d(1);return 0;(分数:2.00)A.0B.1C.01 D.001解析:解析 +是右结合的,所以先赋值为 3,最后输出 3+1;常成员函数只有

    28、常对象才能调用,所以输出 2。5.执行语句:coutsetfill(*)setw(10)setfill(#)left123“OK“endl;后将输出( )。(分数:2.00)A.123*OKB.123#OK C.123*OK*D.123#OK#解析:解析 函数 setfill(char c)用于设置填充字符,在输出数据时,如果数据宽度小于设置的宽度,则空闲位置要用填充字符填满,设置的填充符一直有效,直到再次填充字符为止,如题中调用函数setfill(*)将填充字符设置为*,后又调用函数 setfill(#)将填充字符设置为#。函数set。w(int n)用于设置输入/输出宽度,宽度设置的效果只

    29、对一次输入或输出有效,在完成一次数据的输出/输入后,宽度设置自动恢复为 0,如题中语句以宽度 10 输出数据“123”后,字符串“OK”的输出宽度就自动恢复为 0 了。而且题中输出的对齐方式为在输出宽度内左对齐。本题结果为 123#OK。6.下列关于多态性的描述,错误的是( )。(分数:2.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现 D.实现运行时多态性的机制称为动态绑定解析:解析 编译时的多态性是通过函数重载和模板体现的,运行时的多态性是通过虚函数体现的。7.下面有关重载函数的描述中正确的是( )

    30、。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表 D.重载函数名可以不同解析:解析 所谓函数重载,是指同一个函数名可以对应多个函数的实现,进行函数重载时,要求同名函数的参数个数不同,或者参数类型不同。8.语句 ofstream f(“DATA.DAT“,ios_base:app|ios_base:binary);的功能是建立流对象 f,试图打开文件 DATA.DAT 并与之连接,而且( )。(分数:2.00)A.若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件B.若文件存在,将其截为空文件,若文件不存在,打开

    31、失败C.若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件 D.若文件存在,打开失败;若文件不存在,建立一个新文件解析:解析 C+中可以在定义文件流对象的同时打开文件,也可以在定义文件流对象以后用 open 函数打开文件。可以通过构造函数或 open 函数的第二个参数,确定文件的打开模式。9.有如下类定义:class Foopublic:Foo(int v):value(v) /Foo() /private:Foo() /int value=0; /;其中存在语法错误的行是( )。(分数:2.00)A.B.C.D. 解析:解析 本题考查类的定义。C+语言规定,在类体内不允许对所定

    32、义的数据成员进行初始化。10.下列函数的运行结果是( )。#includeiostream.hint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int add(int a,int b)int s=a+b;return s;(分数:2.00)A.25 B.30C.20D.15解析:解析 由主函数 main 入手,定义外部变量 x 和 y,调用函数 add。因为 x,y 为外部变量,所以“int x(20),y(5);”的赋值在 add 也是有效的,即 add 函数的运算结果为 25。11.

    33、有下列二叉树,对此二叉树前序遍历的结果是( )。(分数:2.00)A.B. C.D.解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树。并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。12.树是结点的集合,它的根结点的数目是( )。(分数:2.00)A.有且只有 1 个B.1 或多于 1C.0 或 1 D.至少有 2 个解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。13.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.

    34、算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间 解析:解析 一个算法的空间复杂度一般是指执行这个算法所需的存储空间。一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存储空间及算法执行过程中所需要的额外空间。14.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 解析:解析 数据的存储结构是指数据的逻辑结构在计算机

    35、存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。15.下列程序的运行结果是( )。#includeiostream.hclassAint a;public:A()a=0;A()int aaa=aa;couta+;void main()A x,y(2),z(3);coutendl;(分数:2.00)A.00B.23 C.34D.25解析:解析 本题考查的是对构造函数的掌握,另外+运算符是右结合的,所以在进行输出的时候都是先把原来的输出后再自加 1。16.设有定义:class Cpublic:int val

    36、ue;int x,*p;则以下引用形式中,正确的是( )。(分数:2.00)A.x=value;B.x=C:value C.p=valueD.p=C:value解析:解析 value 作为类的数据成员在引用时可以通过对象来引用,也可以通过域操作符引入类名来限定。由于选项 D 中 p 是指针,它对指针变量的赋值方式是错误的。17.有以下程序:#includeiostreamusing namespace std;#define PI 3.14class Pointprivate:int x,y;public:Point(int a,int b)x=a;y=b;int getx()return x

    37、;int gety()return y;class Circle:public Pointprivate:int r;public:Circle(int a,int b,int c):Point(a,b)r=c;int getr()return r;double area()return PI *r *r;int main()Circle c1(5,7,10);coutc1.area()endl;return 0;程序执行后的输出结果是( )。(分数:2.00)A.314 B.157C.78.5D.153.86解析:解析 本程序设计了一个点类 Point,包含了横、纵两个坐标数据 x 和 y,

    38、由它派生出了圆类Circle,并加入了新的数据成员,即一个半径 r 和一个求圆面积的函数成员 area。在主函数 main 中,首先定义了一个圆 Circle 类的对象 c1,并通过它的构造函数初始化其数据成员。由此可知,其半径 r 的值为 10,所以其面积为 PI *10 *10=314,即对象 c1 的函数成员 area 的返回值为 314。18.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.NSD.DFD 解析:解析 需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、NS(盒式图)都是

    39、详细设计的常用工具,不是需求分析的工具。19.下列关于虚函数的描述中,正确的是( )。(分数:2.00)A.虚函数是一个 static 类型的成员函数B.虚函数是一个非成员函数C.基类中采用 virtual 说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual 说明 D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型解析:解析 在成员函数声明的前面加上 virtual 关键字即把该函数声明为虚函数。虚函数可以是另一个类的友元函数,但不是静态成员函数。在派生类中可以重新定义从基类继承下来的虚函数,在派生类中重新定义虚函数时,函数名、形参表和返回值类型必须保持不

    40、变。20.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:2.00)A.125B.n/2C.n D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。21.在数据库设计中,将 E-R 图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 数据库设计阶段主要包括需求分析

    41、、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将 ER 图转换为关系模式。22.设 R 是一个二元关系,S 是一个三元关系,则下列运算中正确的是( )。(分数:2.00)A.RSB.RS C.RSD.RS解析:解析 关系的交()、并()和差()运算要求两个关系是同元的,显然作为二元的 R 和三元的S 只能做笛卡儿积运算。23.有如下程序:#includeiostreamusing namespace std;int main()int *p;*p=9;cout“The value at p:“*p;return 0;编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语

    42、法错误,不能生成可执行文件B.运行时一定输出 The value at p:9C.运行时一定输出 The value at p:*9D.运行时有可能出错 解析:解析 本题考查指针的使用。在给*p 赋值前,指针 p 并没有指向一个具体的对象。此时可以通过编译,但运行时由于 p 中为随机值,该赋值可能会破坏内存中某个重要的地址空间的内容,导致程序出错。24.实现运行时的多态性要使用( )。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数 解析:解析 C+中函数重载和运算符重载实现的多态性属于静态多态性,在程序编译时系统就能决定调用的是哪个函数。动态多态性是在程序运行过程中才动态确定

    43、操作所针对的对象。动态多态性是通过虚函数实现的。25.已知 char a;int b;float c;double d;则表达式 a*b+c-d 的结果为( )。(分数:2.00)A.double B.intC.floatD.char解析:解析 本题考查混合运算表达式类型,由表达式中具有最高优先级的类型所确定,所以答案为A。26.下面程序的运行结果为( )。#includeiostream.hClass Apublic:A()cout“1“;A()cout“2“;Class B:public:Apublic:B()cout“3“;B()tout“4“;Void main()B b;(分数:2.

    44、00)A.1234B.1324C.1342 D.3142解析:解析 本题考查在继承中构造函数和析构函数的调用顺序,应该是先调用基类的构造函数,再调用派生类的构造函数,调用析构函数时的顺序是先调用派生类的析构函数,后调用基类的析构函数。27.下面关于数组的初始化正确的是( )。(分数:2.00)A.charstr=a,b,c B.charstr2=a,b,cC.charstr23=a,b,b,c,e,fD.charstr()=a,b,c解析:解析 本题考查的是字符数组的初始化。选项 B 中用三个元素初始化大小为 2 的数组,越界了;选项 C 中应该是 2 行 3 列的数组,题中使用 3 行 2

    45、列初始化;选项 D 中数组应用方括号。28.类模板 templateclass Tclass x(),其中友元函数 f 对特定类型 T(如 int),使函数f(xint)成为 xint模板类的友元,则其说明为( )。(分数:2.00)A.friend voidf();B.friend voidf(xT); C.friend voidA:f();D.friend void CT:f(xT);解析:解析 声明一个函数模板的格式 template模板形参表声明函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。29.使用白盒测试法

    46、时,确定测试数据应该根据( )和指定的覆盖标准。(分数:2.00)A.程序的内部逻辑 B.程序的复杂结构C.使用说明书D.程序的功能解析:解析 白盒测试是把测试对象看成一个打开的盒子,允许测试人员利用程序内部的逻辑结构及相关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试。所以,白盒测试的对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准测试数据。30.下面是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A 解析:解析 C+中,虚基类说明格式为 class类名:virtual继承方式基类名。其中,virtual 是虚基类的关键词。在定义派生类时使用虚基类的说明,写在派生类名的后面。31.下列是重载为非成员函数的运算符函数原型,其中错误的是( )。(分数:2.00)A.Fraction operator+(Fraction,Fraction);B.Fraction operator-(Fraction);C.Fractionoperator=(Fraction,Fraction); D.Fractionoperator+=(


    注意事项

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




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

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

    收起
    展开