【计算机类职业资格】二级C++笔试-391及答案解析.doc
《【计算机类职业资格】二级C++笔试-391及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-391及答案解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
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 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 391 答案 解析 DOC
