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

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

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

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

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

    1、二级 C+笔试-391 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有如下程序 #includeiostream.h#define N2#define M N+1#define NUM 2*M+1void main( )int i;for(i=1,i= NUM;i+)couti;该程序中的 for 循环执行的次数是(分数:2.00)A.5B.6C.7D.82.有以下程序#includeiostream.hfloat fun(int x,int y)return(x+y);void main( )int a=2,b=5,c=8;coutf

    2、un(int)fun(a+c,b) ,a-c) ;程序运行后的输出结果是(分数:2.00)A.编译出错B.9C.21D.9.03.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为(分数:2.00)A.(operator+(x).operator/(y)B.(operator+(0).operator/(y)C.operator/(operator+(x,0),y)D.operator/(operator+(0),y)4.下面程序的结果是#includeiostream.hclass Apublic:A( ) cout“construtA“endl;vir

    3、tualA( ) cout“destructA“endl;class B:public A ;class C:public A;class D:public B,public C;void main( )D d;(分数:2.00)A.constructA destructAB.constructAconstructA destructA destructAC.constructA constructA constructA destructA destructA destructAD.constructAonstructA constructA constructA destructAdest

    4、ructAdestructAdestructA5.执行下列程序段,结果是#includeiostream.hvoid main( )int x=40;char y=C;int n;n=(xi+)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=1215.下列程序是用来判断数组中特定元素的位置所在,则输出结果为#includeconio.h#includeiostream.hint fun(int *s,int t,int*k)int i;*k=0;for(i=0;iB) max=a;els

    5、e max=b;(分数:2.00)填空项 1:_43.以下程序的输出结果是 【8】 。#includeiostream.hclass objectprivate:int val;public:object( );object(int i);object( );object:object( )val=0;cout“Default constructor for object“endl; object:object(int i)val=i;cout“Constructor for object“valendl;object:object( ) cout“Destructor for object“

    6、valendl;class container private:object one;object two;int data;public:container( );container(int i,int j,int k);container( );container:container( )data=0;cout“Default constructor for container“endl;container:container(int i,int j,int k):two(i),one(j)data=k;cout“Constructor for container“endl;contain

    7、er:container( )cout“Destructor for container“endl;void main( )container anObj(5,6,10);(分数:2.00)填空项 1:_44.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includeiostream.h#includestring.hvoid main( )char a =“clanguage“,t;int i,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;

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

    9、90 分钟)一、选择题(总题数:35,分数:70.00)1.有如下程序 #includeiostream.h#define N2#define M N+1#define NUM 2*M+1void main( )int i;for(i=1,i= NUM;i+)couti;该程序中的 for 循环执行的次数是(分数:2.00)A.5B.6 C.7D.8解析:解析 这是一种简单的情况:不带参数的宏。关键要注意在对 2*M+1 进行宏替换时,要将宏名 M原样替换,得到 NUM 的形式为 2*N+1+1(千万不要随意把给 N+1 加上小括号,使 NUM 变为 2* (N+1)+1,这就是宏名和变量名之

    10、间的区别)。2.有以下程序#includeiostream.hfloat fun(int x,int y)return(x+y);void main( )int a=2,b=5,c=8;coutfun(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,-6),fun(15,-6)=9。3.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表

    11、达式还可为(分数:2.00)A.(operator+(x).operator/(y) B.(operator+(0).operator/(y)C.operator/(operator+(x,0),y)D.operator/(operator+(0),y)解析:解析 C+中用成员函数重载+x 为:x.operator+(),用友元函数重载+x 为:operator +(x),用成员函数重载 x/y 为:x.operator/(y),用友元函数重载 x/y 为:operator/(x,y)。4.下面程序的结果是#includeiostream.hclass Apublic:A( ) cout“co

    12、nstrutA“endl;virtualA( ) cout“destructA“endl;class B:public A ;class C:public A;class D:public B,public C;void main( )D d;(分数:2.00)A.constructA destructAB.constructAconstructA destructA destructA C.constructA constructA constructA destructA destructA destructAD.constructAonstructA constructA constru

    13、ctA destructAdestructAdestructAdestructA解析:解析 类 D 继承了类 C 和类 B,所以在构造的时候分别构造类 B 和类 C。5.执行下列程序段,结果是#includeiostream.hvoid main( )int x=40;char y=C;int n;n=(xi+)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 和

    14、1 时,将执行 continue 语句,不执行 x+运算,所以每次执行完内循环后,x 的增量为 1。最后一个x+运算将每次累加起来就是 x 的值。15.下列程序是用来判断数组中特定元素的位置所在,则输出结果为#includeconio.h#includeiostream.hint fun(int *s,int t,int*k)int i;*k=0;for(i=0;iB) max=a;else max=b;(分数:2.00)填空项 1:_ (正确答案:max=(aB?a:b;)解析:解析 条件运算符要求有三个操作对象,称三目 (元)运算符,它是 C+语言中惟一的一个三目运算符。条件表达式的一般形

    15、式为:表达式 1?表达式 2:表达式 3。所以我们可以写成(aB?a:b,它是一个“条件表达式”。执行顺序是如果(aB 条件为真,则条件表达式取值 a 作为整个表达式的值,否则取值 b 作为整个表达式的值。43.以下程序的输出结果是 【8】 。#includeiostream.hclass objectprivate:int val;public:object( );object(int i);object( );object:object( )val=0;cout“Default constructor for object“endl; object:object(int i)val=i;c

    16、out“Constructor for object“valendl;object:object( ) cout“Destructor for object“valendl;class container private:object one;object two;int data;public:container( );container(int i,int j,int k);container( );container:container( )data=0;cout“Default constructor for container“endl;container:container(int

    17、 i,int j,int k):two(i),one(j)data=k;cout“Constructor for container“endl;container:container( )cout“Destructor for container“endl;void main( )container anObj(5,6,10);(分数:2.00)填空项 1:_ (正确答案:Constructor for object6Constructor for obiect5Constructor for containerDestructor for containerDestructor for ob

    18、ject5Destructor for obiect6)解析:解析 C+语言中的构造函数和析构函数分别是在声明对象时和对象调用完毕后调用,本题中的调用就是这样成对出现的。44.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includeiostream.h#includestring.hvoid main( )char a =“clanguage“,t;int i,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;coute

    19、ndl;(分数:4.00)填空项 1:_ (正确答案:9j+=210ai=aj或 aiaj)解析:解析 strlen 函数是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括/0在内。45.静态成员函数可以直接访问类的 【11】 成员,不能直接访问类的 【12】 成员。(分数:4.00)填空项 1:_ (正确答案:11静态12非静态)解析:解析 静态成员函数可以直接访问该类中的静态数据成员,而不能访问该类中的非静态数据成员。46.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是 【13】 。(分数:2.00)填空项 1:_ (正确答案:virtual int A()

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


    注意事项

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




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

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

    收起
    展开