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

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

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

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

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

    1、二级 C+笔试-290 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.能正确表示逻辑关系:“a10 或 a0”的 C+语言表达式是(分数:2.00)A.a=10 or a=0B.a=0|a=10C.a+10*k=0;for(i=0;t;i+)if(s*ksi) *k=i;return s*k;void main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,for(i=1;i=NUM;i+)couti;该程序中的 for 循环执行的次数是(分数:2.00)A.5B.

    2、6C.7D.89.下列工具中为需求分析常用工具的是(分数:2.00)A.PADB.PFDC.N-SD.DFD10.下列说法中,不属于数据模型所描述的内容的是(分数:2.00)A.数据结构B.数据操作C.数据查询D.数据约束11.有以下程序#includeiostreamhfloatfun(int x,int y)return(x+y);void main()int a=2,b=5,c=8;toutfun(int)fun(a+c,b),a-C);程序运行后的输出结果是(分数:2.00)A.编译出错B.9C.21D.9.012.下列叙述中正确的是(分数:2.00)A.线性表是线性结构B.栈与队列是

    3、非线性结构C.线性链表是非线性结构D.二叉树是线性结构13.C+语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言(分数:2.00)A.ASPB.CC.VBD.Java14.有如下程序:#includeiostreamhlong fib(int n)if(n2)return(fib(n-1)+fib(n-2);else return(2);void main()coutfib(3);该程序的输出结果是(分数:2.00)A.2B.4C.6D.815.在软件生产过程中,需求信息的给出是(分数:2.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户16.在 C+语言中,封装是借助于

    4、什么达到的?(分数:2.00)A.结构B.类C.数组D.函数17.以下程序的输出结果是#includeiostreamhvoid main()int i,j,x=0;for(i=0;i2;i+)X+;for(j=0;j3;j+)if(j%2)continue;x+;X+;cout “X=“ x;(分数:2.00)A.x=4B.x=8C.x=6D.x=1218.下列不属于结构化分析的常用工具的是(分数:2.00)A.数据流图B.数据字典C.判定树D.PAD 图19.关于虚函数下面说法正确的是(分数:2.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函数不能声明

    5、为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static 的20.有以下程序#includestringh#includeiostreamhvoid main()char*p=“abcde/ofghjik/O“;coutstrlen(p);程序运行后的输出结果是(分数:2.00)A.12B.15C.6D.521.下面程序的结果是#includeiostreamhclass Apublic:A()cout“construtA“ endl;virtual A() cout “destructA“ endl;class B:public A;class C:public A;class D

    6、:public B,public C;void main()Dd;(分数:2.00)A.constructAB.constructAC.constmctAD.constmctAdestructA constructA constmctA constructAdestructA constructA constructAdestructA destructA constructAdestructA destmctAdestmctA destructAdestmctAdestructA22.关于 this 指针的说明不正确的是(分数:2.00)A.不能在程序中修改 this 指针B.this 指针

    7、可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值23.NULL 是指(分数:2.00)A.0B.空格C.未知的值或无任何值D.空字符串24.下列程序的输出结果是#inClUdeiostream.hiht b=2;int funC (int*(分数:2.00)A.b+=*a;return(B.;25.数据库的故障恢复一般是由(分数:2.00)A.数据流图完成的B.数据字典完成的C.DBA 完成的D.PAD 图完成的26.以下程序的运行结果是#includeiostreamhvoid sub(int x,int y,int*z)*z=

    8、y-x;void main()int a,b,c;sub(10,5,Binit(6,2);BvalueY(4) ;coutB.valueX() endlBvalueY() endl;(分数:2.00)A.5064B.0064C.5062D.006232.执行下列程序段,结果是#include(iostreamhvoid main()int x=40;char y=C;int n;n=(xcout“Constmctor for object“valendl;objectobject()cout“Destructor for object“ val endl;class containet pri

    9、vate:object one;object two;int data:public:containet();container(int i,int j,int k);container();containercontalner()dara=0;cout“Default constructor for container“ endl;containercontainer(int i,int j,int k):two(i),one(j)data=k;cout“Constmctor for container“endl;containetcontainer()cout“Destmctor for

    10、container“ endl;void main()container anObj(5,6,10);(分数:2.00)填空项 1:_44.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includeiostreamh#include stringhvoid main()char a=“clanguage“,t;inti,j,k;k=strlen(a);for(i:0;i=k-2;i+=2)for(j=i+2;j=k; 【9】 )if( 【10】 )t=ai; ai =aj; aj =t; couta;coutendl;(分数:4.00)填空项 1:

    11、_45.静态成员函数可以直接访问类的 【11】 成员,不能直接访问类的 【12】 成员。(分数:4.00)填空项 1:_46.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是 【13】 。(分数:2.00)填空项 1:_47.表达式 x.operator+(yoperator+(0)还可以写成 【14】 。(分数:2.00)填空项 1:_48.假设 fin 是一个文件流对象,则关闭文件的语句是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-290 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.能正确表示逻辑

    12、关系:“a10 或 a0”的 C+语言表达式是(分数:2.00)A.a=10 or a=0B.a=0|a=10C.a+10*k=0;for(i=0;t;i+)if(s*ksi) *k=i;return s*k;void main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,for(i=1;i=NUM;i+)couti;该程序中的 for 循环执行的次数是(分数:2.00)A.5B.6 C.7D.8解析:解析 这是一种简单的情况:不带参数的宏。关键要注意在对 2*M+1 进行宏替换时,要将宏名 M原样替换,得到 NUM

    13、的形式为 2*N+1+1(千万不要随意把给 N+1 加上小括号,使 NUM 变为 2* (N+1)+1,这就是宏名和变量名之间的区别)。9.下列工具中为需求分析常用工具的是(分数:2.00)A.PADB.PFDC.N-SD.DFD 解析:解析 PAD、PFD、NS 和 HIPO 为详细设计过程中的过程设计工具中的图形工具。DFD、DD (数据宁典)、判定表和判定树是需求分析中的结构化分析工具。10.下列说法中,不属于数据模型所描述的内容的是(分数:2.00)A.数据结构B.数据操作C.数据查询 D.数据约束解析:解析 数据模型所描述的内容有 3 个部分,它们是数据结构、数据操作和数据约束。其中

    14、,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。11.有以下程序#includeiostreamhfloatfun(int x,int y)return(x+y);void main()int a=2,b=5,c=8;toutfun(int)fun(a+c,b),a-C);程序运行后的输出结果是(分数:2.00)A.编译出错B.9 C.21D.9.0解析:解析 本题的运算过程是 fun(int)fun (a+c,b),a-c),fun(int)fun(10,5),2-8),fun (int)15.000000,-

    15、6),thn(15,-6)=9。12.下列叙述中正确的是(分数:2.00)A.线性表是线性结构 B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构解析:解析 线性表是一种线性结构,数据元素在线性表中的位置只取决于它们自己的序号,即数据元素之间的相对位置是线性的;栈、队列、线性链表实际上也是线性表,故也是线性结构;树是一种简单的非线性结构。13.C+语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言(分数:2.00)A.ASPB.C C.VBD.Java解析:解析 C+语言是对 C 语言进行了扩充,继承了它的语法,开增加了面向对象的设计方法。14.有如下程序:#inclu

    16、deiostreamhlong fib(int n)if(n2)return(fib(n-1)+fib(n-2);else return(2);void main()coutfib(3);该程序的输出结果是(分数:2.00)A.2B.4 C.6D.8解析:解析 fib(3)=fib(2)+fib(1),而 fib(1)的返回值为 2,fib(1)的返回值也为 2,故输出的 fib(3)的值为 4。15.在软件生产过程中,需求信息的给出是(分数:2.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户 解析:解析 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

    17、16.在 C+语言中,封装是借助于什么达到的?(分数:2.00)A.结构B.类 C.数组D.函数解析:解析 C+基本的性质就是它的封装性,而封装性主要是靠类来实现的。17.以下程序的输出结果是#includeiostreamhvoid main()int i,j,x=0;for(i=0;i2;i+)X+;for(j=0;j3;j+)if(j%2)continue;x+;X+;cout “X=“ x;(分数:2.00)A.x=4B.x=8 C.x=6D.x=12解析:解析 该题是一个 for 循环嵌套语句。第一层 for 循环循环 2 次,第二层循环 3 次,但当 j 等于 0 和 1 时,将执

    18、行 continue 语句,不执行 x+运算,所以每次执行完内循环后,x 的增量为 1。最后一个x+运算将每次累加起来就是 x 的值。18.下列不属于结构化分析的常用工具的是(分数:2.00)A.数据流图B.数据字典C.判定树D.PAD 图 解析:解析 结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而 PAD 图是常见的过程设计工具中的图形设计工具。19.关于虚函数下面说法正确的是(分数:2.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函数不能声明为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static 的 解析:解析 虚函数一定不能

    19、定义为静态的。虚函数可以声明为友元,子类也不是必须重定义父类的虚函数,若在重定义虚函数时使用了 virtual,则该重定义函数不一定还是虚函数。20.有以下程序#includestringh#includeiostreamhvoid main()char*p=“abcde/ofghjik/O“;coutstrlen(p);程序运行后的输出结果是(分数:2.00)A.12B.15C.6D.5 解析:解析 C+语言规定了一个字符串结束标志,以字符,/0代表,在遇到/0时,表示字符串结束,由它前面的字符组成字符串。21.下面程序的结果是#includeiostreamhclass Apublic:A

    20、()cout“construtA“ endl;virtual A() cout “destructA“ endl;class B:public A;class C:public A;class D:public B,public C;void main()Dd;(分数:2.00)A.constructAB.constructA C.constmctAD.constmctAdestructA constructA constmctA constructAdestructA constructA constructAdestructA destructA constructAdestructA d

    21、estmctAdestmctA destructAdestmctAdestructA解析:解析 类 D 继承了类 C 和类 B,所以在构造的时候分别构造类 B 和类 C。22.关于 this 指针的说明不正确的是(分数:2.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值 解析:解析 C+的 this 指针是系统默认产生的一个指针,它足 const 的,所以是不能够被改变,不能够被赋值的。23.NULL 是指(分数:2.00)A.0B.空格C.未知的值或无任何值 D.空字

    22、符串解析:解析 此题属于记忆性的题目,NULL 是指未知的值或无任何值。24.下列程序的输出结果是#inClUdeiostream.hiht b=2;int funC (int*(分数:2.00)A.b+=*a;return(B.;解析:解析 在函数体语句中的 b+=*a;的 *是指针运算符(也称间接访问运算符),*a 就是 main 函数中 a 的值。25.数据库的故障恢复一般是由(分数:2.00)A.数据流图完成的B.数据字典完成的C.DBA 完成的 D.PAD 图完成的解析:解析 一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS 一般都提供此种功能,并由 DBA 负责执行故障恢复

    23、功能26.以下程序的运行结果是#includeiostreamhvoid sub(int x,int y,int*z)*z=y-x;void main()int a,b,c;sub(10,5,Binit(6,2);BvalueY(4) ;coutB.valueX() endlBvalueY() endl;(分数:2.00)A.5064 B.0064C.5062D.0062解析:解析 本题中有成员函数和它的重载函数,要注意它们的不同,在本题中先调用了 init 函数,初始化了 X,Y,都为 0,valueX(5);义将 X 变为 5,所以输出 5 和 0,然后初始化 init(6,2) ,接着义

    24、valueY(4);将 X,Y 设为 6 和 4,所以输出 6 和 4。32.执行下列程序段,结果是#include(iostreamhvoid main()int x=40;char y=C;int n;n=(xcout“Constmctor for object“valendl;objectobject()cout“Destructor for object“ val endl;class containet private:object one;object two;int data:public:containet();container(int i,int j,int k);cont

    25、ainer();containercontalner()dara=0;cout“Default constructor for container“ endl;containercontainer(int i,int j,int k):two(i),one(j)data=k;cout“Constmctor for container“endl;containetcontainer()cout“Destmctor for container“ endl;void main()container anObj(5,6,10);(分数:2.00)填空项 1:_ (正确答案:Constructor fo

    26、r object6Constructor for object5Constructor for containerDestructor for containerDestructor for object5Destructor for objcet6)解析:解析 C+语言中的构造函数和析构函数分别是在声明对象时和对象调用完毕后凋用,本题中的调用就是这样成对出现的。44.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includeiostreamh#include stringhvoid main()char a=“clanguage“,t;inti,

    27、j,k;k=strlen(a);for(i:0;i=k-2;i+=2)for(j=i+2;j=k; 【9】 )if( 【10】 )t=ai; ai =aj; aj =t; couta;coutendl;(分数:4.00)填空项 1:_ (正确答案:9j+=210ai=aj或 aiaj)解析:解析 stden 函数是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括/0在内。45.静态成员函数可以直接访问类的 【11】 成员,不能直接访问类的 【12】 成员。(分数:4.00)填空项 1:_ (正确答案:11静态12非静态)解析:解析 静态成员函数可以直接访问该类中的静态数据成员,而不能

    28、访问该类中的非静态数据成员。46.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是 【13】 。(分数:2.00)填空项 1:_ (正确答案:virtual int A()=0;)解析:解析 C+语言中的纯虚函数是一种特殊的函数,它没有自己的定义,只有声明,纯虚函数与虚函数声明的不同就在于在函数后面加上了“=0”。47.表达式 x.operator+(yoperator+(0)还可以写成 【14】 。(分数:2.00)填空项 1:_ (正确答案:x+y+或 x+(y+))解析:解析 因为 yoperator+(0)是对成员 y 重载运算符,所以是成员重载,在参数表中又有一个参数,是重载后缀+,即是 x+(y +)。48.假设 fin 是一个文件流对象,则关闭文件的语句是 【15】 。(分数:2.00)填空项 1:_ (正确答案:fin)解析:解析 如果程序没有用 close()主动关闭文件,则在文件流对象退出作用域时,被调用的析构函数会关闭对象所联系的文件。但应及时关闭,以便尽早释放占用的系统资源并将文件置于更安全的状态。


    注意事项

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




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

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

    收起
    展开