1、二级 C+笔试-328 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.类 MyClass的定义如下:class MyClasspubfic:MyClass()value=0;SetVariable(int i)value=i;)private:intvalue;则对下列语句序列正确的描述是( )。MyClass*p,my;p=void operator delete(void *p)free(p)private:int length,width;void main()Rect*p;p=new Rect(5,4);p-Print();del
2、ete p;(分数:2.00)填空项 1:_44.表达式 c3=c1operator+(c2)或 c3=operator+(c1,c2)还可以表示为 【9】 。(分数:2.00)填空项 1:_45.以下程序输出的结果是 【10】 。#includeiostream.hvoid main()int a=5,b=4,c=3,d;d=(abc);coutd;(分数:2.00)填空项 1:_46.以下程序的执行结果是 【11】 。#includeiostream.hint f(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;return r;void main()
3、int x,a=2,3,4,5,6,7,8,9;x=f(a,3);coutxendl;(分数:2.00)填空项 1:_47.下列程序运行后的输出结果是 【12】 。#includeiostream.hvoid main()int s=0,k;for(k=7;k=0;k-)switch(k)case 1:case 4:case 7:s+;break;case 2:case 3:case 6:break;case 0:case5:S+;2;break;cout“S=“Sendl;(分数:2.00)填空项 1:_48.以下程序的输出结果是 【13】 。#includeiostream.hint ad
4、d(int x,int y)retum X+y;dOuble add(dOUble x,double y)return x+y;void main()int a=4,b=6;double c=26,d=7.4;coutadd(a,b)“,”add(C,d)endl;(分数:2.00)填空项 1:_49.有如下程序:#includeiostreamusing namespace std;class Conchar ID;public:Con():ID(A)cout1;)Con(char ID):ID(ID)cout2;Con(Convoid operator delete(void *p)fre
5、e(p)private:int length,width;void main()Rect*p;p=new Rect(5,4);p-Print();delete p;(分数:2.00)填空项 1:_ (正确答案:Area:20)解析:44.表达式 c3=c1operator+(c2)或 c3=operator+(c1,c2)还可以表示为 【9】 。(分数:2.00)填空项 1:_ (正确答案:c3=c1+c2)解析:45.以下程序输出的结果是 【10】 。#includeiostream.hvoid main()int a=5,b=4,c=3,d;d=(abc);coutd;(分数:2.00)填
6、空项 1:_ (正确答案:0)解析:46.以下程序的执行结果是 【11】 。#includeiostream.hint f(int b,int n)int i,r=1;for(i=0;in;i+)r=r*bi;return r;void main()int x,a=2,3,4,5,6,7,8,9;x=f(a,3);coutxendl;(分数:2.00)填空项 1:_ (正确答案:24)解析:47.下列程序运行后的输出结果是 【12】 。#includeiostream.hvoid main()int s=0,k;for(k=7;k=0;k-)switch(k)case 1:case 4:cas
7、e 7:s+;break;case 2:case 3:case 6:break;case 0:case5:S+;2;break;cout“S=“Sendl;(分数:2.00)填空项 1:_ (正确答案:s=7)解析:48.以下程序的输出结果是 【13】 。#includeiostream.hint add(int x,int y)retum X+y;dOuble add(dOUble x,double y)return x+y;void main()int a=4,b=6;double c=26,d=7.4;coutadd(a,b)“,”add(C,d)endl;(分数:2.00)填空项 1:
8、_ (正确答案:10,10)解析:49.有如下程序:#includeiostreamusing namespace std;class Conchar ID;public:Con():ID(A)cout1;)Con(char ID):ID(ID)cout2;Con(Con& c):ID(c.getlD()cout3;)char getID()constreturn ID;);void show(Con c)coutc.getID();int main()Con c1;show(c1);Con c2(B);show(c2);return 0;执行上面程序的输出是 【14】 。(分数:2.00)填空项 1:_ (正确答案:13A23B)解析:50.下列程序将 x、y 和 z按从小到大的顺序排列,请将下面的函数模板补充完整。templateclass Tvoid order( 【15】 )T a;if(xy)a=X;x=y;y=a;if(yz)a=y;y=z;z=a;if(xy)a=X;x=y;y=a;(分数:2.00)填空项 1:_ (正确答案:T &x,T &y,T &z)解析: