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

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

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

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

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

    1、二级 C+笔试-352 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.以下程序的执行结果是( )。#includeiostream.hint fun(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;void main()int x,a=1,2,3,4,5,6,7,8;x=fun(a,3);coutxendl;(分数:2.00)A.5B.6C.7D.82.当需要将一个函数 bool isnumber(char C) 声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.enum boo

    2、l isnumber(charC);B.define bool isnumber(charC.;C) inline bool isnumber(charC);D.3.为了使模块尽可能独立,要( )。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱4.以下不是结构化程序设计方法的技术是( )。(分数:2.00)A.自顶向下,逐步求精B.自底向上,逐步求精C.从整体到局部D.结构清晰,层次分明5.有如下函数

    3、模板:templateclass TT square (Tx) return x*x;)其中 T是( )。(分数:2.00)A.函数形参B.函数实参C.模板形参D.模板实参6.下列关于虚函数的说明中,正确的是( )。(分数:2.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数7.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为(分数:2.00)A.下溢B.上溢C.异常D.溢出8.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象B.对象是类

    4、的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系9.有如下程序:#includeiostreamusing namespace std;int main()int *p;*p=9;cout“The value at p:“*p;return 0;编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错10.下列有关指针的用法中,错误的是( )。(分数:2.00)A.int i;int *p=B.int

    5、 i;int *p;i=*p;C.int *p;p=0;D.int i=5;int *p;p=11.以下程序的输出结果是( )。main()int b33=O,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibj j;(分数:2.00)A.2B.3C.4D.512.以下程序的执行结果是( )。#includeiostream.hclass TestClass2public:TestClass2 ();TestClass2(int i,int j);void printb();private:int a,b;class Tes

    6、tClass1public:TestClass1()TestClass1(int i,int j);void printa();private:TestClass2 c;TestClassl:TestClass1(int i,int j):c(i,j)void TestClass1:printa()c.printb();TestClass2:TestClass2(int i,int j)a=i:b=j;void TestClass2:printb()cout“a=“a“,“b=“bendl;void main()TestClass1 m(7,9);m.prints();(分数:2.00)A.a

    7、=7,b=8B.a=8,b=7C.a=7,b=9D.a=8,b=913.算法的时间复杂度是指( )。(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数14.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的15.下面程序的运行结果是( )。#includeiostreamusing namespace std;class TestClassstatic int n;public:TestClass ()n

    8、+;static int test()for(int i=0;i4;i+)n+;return n;int TestClass:n=0;int main()coutTestClass:test()“ “;TestClass c1,c2;coutTestClass:test()endl;return ();(分数:2.00)A.4,10B.4,6C.0,6D.0,416.下列函数的运行结果是( )。#includeiostream.hint add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int

    9、add(int a,int b)int s=a+b;return s;(分数:2.00)A.25B.30C.20D.1517.阅读下面程序:#includeiostream.hfun(int a,int b)int c;c=a+b;return c;void main()int x=6,y=7,z=8,r;r=fun(x-,y+,x+y),z-);coutrendl;则该程序的输出结果是( )。(分数:2.00)A.11B.20C.21D.3118.下列程序将 x、y 和 z按从小到大的顺序排列,横线处应添加语句( )。templateclass Tvoid fun (_)T a;if(xy)

    10、a=x;x=y;y=a;if(yz)a=y;y=z;z=a;if(xy)a=x;x=y;y=a;(分数:2.00)A.Tx,Ty,TzB.Tx;y;zC.Tint i;for(i=1;ix;i+)fun();void fun()static int x=1;x*=x+1;coutx“ “;(分数:2.00)A.3,3B.2,2C.2,6D.2,520.若有以下程序:#includeiostreamusing namespace std;int fun()static int i=0;int s=1;s+=i;i+;return s;int main()int i,a=0;for(i=0;i5;

    11、i+)a+=fun();coutaendl;return 0;程序运行后,输出的结果是( )。(分数:2.00)A.20B.24C.25D.1521.对虚函数的调用( )。(分数:2.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编22.以下程序的输出的结果是( )。#includeiostream.hvoid main()int i,k,a10,p3;k=5;for(i=0;i9;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+1);for(i=0;i3;i+)k+=pi*2;coutk;(分数:2.00)A.20B.21C.22D.23

    12、23.数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方法是( )。(分数:2.00)A.数据库定义B.数据通信C.数据定义D.数据维护24.下列关于 C+函数的叙述中,正确的是( )。(分数:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明D.函数不能自己调用自己25.下列叙述中正确的是( )。(分数:2.00)A.线性链表是线性表的链式存储结构B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构26.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.ACBEDGFHB.ABDGCEH

    13、FC.HGFEDCBAD.ABCDEFGH27.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化28.下面程序的输出结果为( )。#includeiostream.hclass TestClasspublic:TestClass ()val+;static int val;int TestClass:val=0;void main()TestClass cs1;coutcs1.val“;TestClass cs2;TestClass cs3,cs4;coutcs2.valendl;(分数:2.00)A.03B.13C.14D.2429.如

    14、果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a的值,即 3B.变量 a的地址值C.变量 P的地址值D.无意义30.下列运算符不能重载为友元函数的是( )。(分数:2.00)A.= () B.+ - + -C. = =D.+= -= *= /=31.执行语句序列int x=1,coutx-yendl;输出结果为( )。(分数:2.00)A.x-xB.1-1C.1-0D.异常32.设有如下关系表:(分数:2.00)A.T=R/SB.T=RSC.T=RSD.T=RS33.下列程序输出的结果是( )。#includestdio.hfun1

    15、(char a,char b)char c;c=a;a=b;b=c;fun2(char*a,char b)char c;c=*a;*a=b;b=c;fun3(char*a,char*b)char c;c=*a;*a=*b;*b=c;void main()char a,b;a=A;b=B;fun1(a,b);putchar((分数:2.00)A.;putchar(B.;a=A;b34.某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点数为( )。(分数:2.00)A.148B.169C.182D.19835.以下关于数据的逻辑结构的叙述中,不正确的是( )。(分数:2.0

    16、0)A.数据的逻辑结构是数据间关系的描述B.数据的逻辑结构不仅反映数据间的逻辑关系,而且反映其在计算机中的存储方式C.数据的逻辑结构分为线性结构和非线性结构D.树形结构是典型的非线性结构二、填空题(总题数:15,分数:30.00)36.在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_37.栈中允许进行插入和删除的一端叫做 1。(分数:2.00)填空项 1:_38.在关系代数运算中, 1 操作会消去关系中的某些列并删去重复的元组。(分数:2.00)填空项 1:_39.Jackson方法是一种面向 1 的结构化方法。(分数:2.00)

    17、填空项 1:_40.在关系模型中,二维表的行称为 1。(分数:2.00)填空项 1:_41.插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入已排序序列中的正确位置。Insert类的成员函数 sort()实现了插入排序算法,请填空。class Insertpublic:Insert(int*b0,int n0):b(b0),n(n0);/参数 b0是某数组首地址,n 是数组元素个数void sort()/此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1bn-1for(int i=1;in;+i)int t=bi;int j;for(_;j0;-j)if(t=bj-

    18、1)break;bj=bj-1;bj=t;(分数:2.00)填空项 1:_42.已有函数 fun(a,b),为了使函数指针变量 P指向函数 fun,则使用的赋值语句是 1。(分数:2.00)填空项 1:_43.阅读下面程序:#includeiostream.hvoid fun1(char a,char b)char c;c=a;a=b;b=c;void fun2(char c=a;a=b;b=c;void main()char a,b;a=x;b=y;fun1(a,b);coutab;a=x;b=y;fun2(a,b);coutab;则该程序的输出为_。(分数:2.00)填空项 1:_44.已

    19、知 double var;是文件 1.CPP中的一个全局变量定义,若文件 2.CPP中的某个函数也需要访问,则在文件 2.CPP中 var应说明为 1。(分数:2.00)填空项 1:_45.下面是一个栈类的模板,其中 push函数将元素 i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为 0,栈顶元素在 stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tclass Tstack enumsize=1000;T stacksize;int top;public:Tstack():top(0)void push(const T Tpop(

    20、)if(top=0)exit(1);/栈空时终止运行return_;(分数:2.00)填空项 1:_46.非成员函数只有在声明为类的 1 时才能访问这个类的所有 private成员。(分数:2.00)填空项 1:_47.对基类数据成员的初始化必须派生类的构造函数中的 1 处执行。(分数:2.00)填空项 1:_48.在下面的程序的横线处填上适当的语句,使该程序的输出为 12。#includeiostream.husing namespace std;class Basepublic:int a,b;Base(int i)a=i;class Derived:public Baseint a;pu

    21、blic:Derived(int x):Base(x),b(x+1);void show()_;/输出基类数据成员 a的值coutbendl;int main()Derived d(1);d.show();return 0;(分数:2.00)填空项 1:_49.在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串 str的长度(不得使用系统提供的字符串处理函数)。int GetLen(char*str)if(_) return 0;else return 1+GetLen(str+1);(分数:2.00)填空项 1:_50.执行语句序列:int x=10,coutx.rendl

    22、;输出结果为_。(分数:2.00)填空项 1:_二级 C+笔试-352 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.以下程序的执行结果是( )。#includeiostream.hint fun(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;void main()int x,a=1,2,3,4,5,6,7,8;x=fun(a,3);coutxendl;(分数:2.00)A.5B.6 C.7D.8解析:解析 由程序的 main函数入手,调用 fun函数,其中参数为数组 a和 3。fun 函数的功能是

    23、for循环中由第一个数组元素开始到第三个元素进行累积。2.当需要将一个函数 bool isnumber(char C) 声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.enum bool isnumber(charC);B.define bool isnumber(charC.;C) inline bool isnumber(charC); D.解析:解析 此题考查的是内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时必须提供的参数的个数和类型,因为要声明为内联函数,故应加 inline关键字。3.为了使模块尽可能独立,要( )。(分数:2.00)A

    24、.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱解析:解析 耦合性和内聚性是衡量软件的模块独立性的两个定性的标准。其中,内聚性是度量一个模块功能强度的一个相对指标,耦合性则用来度量模块之间的相互联系程度。它们是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块之间的内聚性,有利于提高模块的独立性。4.以下不是结构化程序设计方法的技术是(

    25、 )。(分数:2.00)A.自顶向下,逐步求精B.自底向上,逐步求精 C.从整体到局部D.结构清晰,层次分明解析:解析 结构化程序设计的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用 GOTO语句。5.有如下函数模板:templateclass TT square (Tx) return x*x;)其中 T是( )。(分数:2.00)A.函数形参B.函数实参C.模板形参 D.模板实参解析:解析 此题考查的是函数模板。声明一个函数模板的格式是:template模板形参表声明函数声明,函数体其中的模板形参表声明是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:typen

    26、ame参数名;class 参数名;类型修饰参数名。6.下列关于虚函数的说明中,正确的是( )。(分数:2.00)A.从虚基类继承的函数都是虚函数B.虚函数不得是静态成员函数 C.只能通过指针或引用调用虚函数D.抽象类中的成员函数都是虚函数解析:解析 此题考查的是虚函数的概念。在成员函数的声明前面加上 virtual关键字,即可把函数声明为虚函数。虚函数可以是另一个函数的友元函数而不能是静态成员函数。7.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为(分数:2.00)A.下溢B.上溢 C.异常D.溢出解析:解析 由于头尾指针不断前移,超出向量空间。这时整

    27、个向量空间及队列是满的却产生了“上溢”现象。8.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析 此题考查的是类和对象的相关概念。类是将不同的数据和与这些数据相关的操作封装起来装在一起的集合体。对象是类的具体实例,也即类是对某一类对象的抽象,类和对象之间可以说是数据类型与变量的关系。一个类可以有无数个对象。9.有如下程序:#includeiostreamusing namespace std;int main()int *p;*p=9;cout“The v

    28、alue at p:“*p;return 0;编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错 解析:解析 题目程序中“int *p;”是定义了一个指针变量 p,“*p=9;”是将 p当前指向的指针赋为9。指针 p在执行这个赋值操作前并没有初始化这个变量 p,所以会有 p未初始化的警告错误。10.下列有关指针的用法中,错误的是( )。(分数:2.00)A.int i;int *p=B.int i;int *p;i=*p; C

    29、.int *p;p=0;D.int i=5;int *p;p=解析:解析 “int i;”语句为定义了一个整型变量 i。“int *p”为定义一个整型指针 p。选项 A) 中的“int *p=”是定义整型指针变量 p,并指向整型 i的地址。选项 B) 中“i=*p”语句是将 p指向的变量赋值给 i,而指针 p没有初始化,所以选项 B) 错误。选项 C) 中“p=0;”表示 p指向 0的地址。选项 D) 中“for(i=0;i3;i+)for(j=i;j=i;j+)t=t+bibj j;(分数:2.00)A.2B.3C.4 D.5解析:解析 程序中通过 for二重循环依次取二维数组中的数值进行与

    30、 t的累加。取数组中的元素为 i行和符合循环条件的 bjj列的数据。循环为 0,1,2 行,对应 0,1,2 列。即 0,1,2。所以1+0+1+2=4。12.以下程序的执行结果是( )。#includeiostream.hclass TestClass2public:TestClass2 ();TestClass2(int i,int j);void printb();private:int a,b;class TestClass1public:TestClass1()TestClass1(int i,int j);void printa();private:TestClass2 c;Tes

    31、tClassl:TestClass1(int i,int j):c(i,j)void TestClass1:printa()c.printb();TestClass2:TestClass2(int i,int j)a=i:b=j;void TestClass2:printb()cout“a=“a“,“b=“bendl;void main()TestClass1 m(7,9);m.prints();(分数:2.00)A.a=7,b=8B.a=8,b=7C.a=7,b=9 D.a=8,b=9解析:解析 由主函数 main入手,定义了 TestClass1的对象 m,其中参数为 7和 9。“m.pr

    32、inta();”中 TestClass1中 printa为“c.printb();”,其中 C为 TestClass2的对象,所以 printb为 TestClass2中的“void TestClass2:printb()”,即输出为“a=7,b=9”。13.算法的时间复杂度是指( )。(分数:2.00)A.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数解析:解析 所谓的算法的时间复杂度。是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数柬度量算法的工作量。14.下列关于成员函数特征的描述中,错误的是( )。(分

    33、数:2.00)A.成员函数一定是内联函数 B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的解析:解析 因为成员函数可以在类体内定义,也可以在类体外定义,所以成员函数不一定都是内联函数;成员函数可以重载,可以设置参数的默认值,成员函数可以是静态的。15.下面程序的运行结果是( )。#includeiostreamusing namespace std;class TestClassstatic int n;public:TestClass ()n+;static int test()for(int i=0;i4;i+)n+;return n;int TestClass

    34、:n=0;int main()coutTestClass:test()“ “;TestClass c1,c2;coutTestClass:test()endl;return ();(分数:2.00)A.4,10 B.4,6C.0,6D.0,4解析:解析 在主函数中首先调用 TestClass中的 test函数输出,类中的 n为静态数据成员,可以为所有的对象共享这些数据,这里调用后 n等于 4。定义对象 c1,c2 调用构造函数后 n=6,所以主函数再次执行“coutTestClass:test()endl;”后,n 等于 10。16.下列函数的运行结果是( )。#includeiostream

    35、.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。17.阅读下面程序:#includeiostream.hfun(int a,int b)int c;c=

    36、a+b;return c;void main()int x=6,y=7,z=8,r;r=fun(x-,y+,x+y),z-);coutrendl;则该程序的输出结果是( )。(分数:2.00)A.11B.20C.21 D.31解析:解析 由主函数入手,定义变量 x、y、z,然后调用函数 fun,其中的参数为(x-,y+,x+y)的计算结果和 z-的计算结果,所以调用 fun(13,8)计算结果为 21。18.下列程序将 x、y 和 z按从小到大的顺序排列,横线处应添加语句( )。templateclass Tvoid fun (_)T a;if(xy)a=x;x=y;y=a;if(yz)a=y

    37、;y=z;z=a;if(xy)a=x;x=y;y=a;(分数:2.00)A.Tx,Ty,TzB.Tx;y;zC.Tint i;for(i=1;ix;i+)fun();void fun()static int x=1;x*=x+1;coutx“ “;(分数:2.00)A.3,3B.2,2C.2,6 D.2,5解析:解析 由主函数入手,在 for循环中调用 fun函数,其中调用次数为 2次。fun 中 x为静态变量,有效到文件结束,所以第一次调用为 x=x*(x+1)=1*(1+1)=2,第二次调用 2*(2+1)=6。20.若有以下程序:#includeiostreamusing namespa

    38、ce std;int fun()static int i=0;int s=1;s+=i;i+;return s;int main()int i,a=0;for(i=0;i5;i+)a+=fun();coutaendl;return 0;程序运行后,输出的结果是( )。(分数:2.00)A.20B.24C.25D.15 解析:解析 由主函数入手,在 for循环中调用 fun函数,其中调用次数为 5。fun 中 i为静态变量,有效到文件结束。第一次调用 fun后为 s=1,a=2;第二次调用后 s=2,a=3 第三次 s=3,a=6;第四次s=4,a=10;第五次 s=5,a=15。21.对虚函数

    39、的调用( )。(分数:2.00)A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编 解析:解析 虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。如果通过对象名来访问虚函数,则联编在编译过程中认为足静态联编。22.以下程序的输出的结果是( )。#includeiostream.hvoid main()int i,k,a10,p3;k=5;for(i=0;i9;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+1);for

    40、(i=0;i3;i+)k+=pi*2;coutk;(分数:2.00)A.20B.21 C.22D.23解析:解析 程序中首先在第一个 for循环中将数组 a每一个元素赋值为 0,1,2,。然后在第二个循环中数组 p的第 i元素为 a中的第 i*(i+1),即 0,2,6,第三个循环中数组 p中的每个元素值乘以2,然后加上 5,累加。23.数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方法是( )。(分数:2.00)A.数据库定义B.数据通信C.数据定义 D.数据维护解析:解析 在数据字典编制过程中,常使用定义方式捕述数据结构。24.下列关于 C+函数的叙述中,正确的是( )。(分数

    41、:2.00)A.每个函数至少要具有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先声明 D.函数不能自己调用自己解析:解析 此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。25.下列叙述中正确的是( )。(分数:2.00)A.线性链表是线性表的链式存储结构 B.栈与队列是非线性结构C.双向链表是非线性结构D.只有根结点的二叉树是线性结构解析:解析 线性表、栈、队列和双向链表都是典型的线性结构;而二叉树是典型的非线性结构。知识拓展 什么是线性结构?有 3个衡量标准:有且只有一个根结点;每个结点

    42、最多有一个前件(直接前驱),也最多有一个后件(直接后继):删除或插入任何一个结点后还应该是线性结构。如下图所示的就是一个线性结构。不是线性结构就一定是非线性结构。*26.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.ACBEDGFHB.ABDGCEHF C.HGFEDCBAD.ABCDEFGH解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时。先访问根结点,再依次访问其左、右予树。知识拓展 什么是“遍历”?遍历就是不重复地防问二叉树的所有结点。二叉树遍历的方法有三种:前序遍历、中序遍历和后序遍历。记住三种遍历的顺序

    43、:前序,访问根按前序遍历左子树按前序遍历右子树。中序,按中序遍历左子树访问根按中序遍历右子树。后序,按历序遍历左子树按后序遍历右子树访问根。27.下列特征中不是面向对象方法的主要特征的是( )。(分数:2.00)A.多态性B.继承C.封装性D.模块化 解析:解析 面向对象设计方法与丽向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。28.下面程序的输出结果为( )。#includeiostream.hclass TestClasspublic:TestCla

    44、ss ()val+;static int val;int TestClass:val=0;void main()TestClass cs1;coutcs1.val“;TestClass cs2;TestClass cs3,cs4;coutcs2.valendl;(分数:2.00)A.03B.13C.14 D.24解析:解析 由主函数 main入手,定义 TestClass类的对象 cs1,执行 cs1.val,其中 val为静态变量,根据“int TestClass:val=0;”初始化,TestClass 中的 TestClass ()val+;构造函数执行后,val值为 1。主函数中接着定

    45、义对象 cs2,cs3,cs4。执行“coutcs2.valendl;”中的 val值为 4。29.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。(分数:2.00)A.变量 a的值,即 3 B.变量 a的地址值C.变量 P的地址值D.无意义解析:解析 题目中的定义初始化是定义一个整型变量 a,初始化为 3。而“int *p=”是定义一个整型指针变量 p,将变量 a的地址作为指针变量 p的初值。*p 是指针变量 p指向的存储单元的内窖,即变量值。所以*p 指向 a的值 3。30.下列运算符不能重载为友元函数的是( )。(分数:2.00)A.= () B.+ -

    46、 + -C. = =D.+= -= *= /=解析:解析 此题考查的是运算符重载的概念。C+语言规定,=、()、-以及所有的类型转换运算符只能作为成员函数重载,如果要重载为友元函数就必须重载为非成员函数。31.执行语句序列int x=1,coutx-yendl;输出结果为( )。(分数:2.00)A.x-xB.1-1 C.1-0D.异常解析:解析 程序中的“int x=1”定义 x为 int型变量,并赋值为 1。语句“c=a;a=b;b=c;fun2(char*a,char b)char c;c=*a;*a=b;b=c;fun3(char*a,char*b)char c;c=*a;*a=*b;

    47、*b=c;void main()char a,b;a=A;b=B;fun1(a,b);putchar((分数:2.00)A.;putchar(B.;a=A;b 解析:解析 由程序中的主函数 main入手,分别调用 fun1,fun2,fun3 函数,得到输出结果。其中,三个函数都是实现两个形参的交换功能,只是参数传递的方式不同,有的是地址。有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以调用 fun1后,实参 a和 b并没有交换,仍然是 AB。第二个调用中,实参 a采用的是地址,即传递的是地址,所以形参 a的改变会影响实参 a的值,即 BB。同理,调用 fun3后为 BA。34.某二叉树共有 60个叶子结点与 50个度为 1的结点


    注意事项

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




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

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

    收起
    展开