2013年9月全国计算机等级《二级C++》上机临考冲刺试卷(4)

时长:120分钟 总分:100分

65浏览 0人已完成答题

题型介绍
题型 单选题 简答题
数量 40 3
一、选择题(每小题1分,共40分)
1.
下列程序的输出结果是(  )。
#included
usingnamespacestd;
intmain()
{
chara[]="Hell0,Test";
char*p=a;
while(*p)
{
if(*p>='a'&&*p<='z')
cout<
elsecout<<*P;
p++;
}
return0;
}
问题详情




2.
有如下程序:
#include
usingnamespacestd;
classA
{
public:
A(){cout<<"A";}
~A(){cout<<"~A";}
};
classB
{
A*P:
public:
B(){cout<<"B";p=newA;}
~B(){cout<<"~B";deleteP;}
};
intmain()
{
Bobi;
return0;
}
执行这个程序的输出结果是(  )。
问题详情




3.
执行下列语句后,输出结果为(  )。
cout.put('S');
cout<<'C'<<'a';
问题详情




4.
有如下函数模板定义:
templateT2plus(T1t1,T3t3){returnt1+t3;}
则以下调用正确的是(  )。
问题详情




5.
下列定义中P指向的地址可更改,但*P不能够更改的是(  )。
问题详情




6.
有下列程序:
#include
voidmain(  )
{inti,j;
for(i=3;i>=1;i--)
{for(j=1;j<=2;j++)printf(”%d”,i+j);
printf("\n");
}
}
程序的运行结果是(  )。
问题详情




7.
若变量已正确定义为int型,要通过语句“scanf(”%d,%d”,&a,&b,&c);”给a赋值l、给b赋值2、给c赋值3,  
问题详情




8.
下列叙述中错误的是(  )。
问题详情




9.
结构化程序设计的三种基本结构是(  )。
问题详情




10.
从工程管理角度,软件设计一般分为两步完成,它们是(  )。
问题详情




11.
若PAT是一个类,则程序运行时,语句“PAT(*ad){3};”调用PAT的构造函数的次数是(  )。
问题详情




12.
已知类A有公用数据成员a,并重载了=运算符,且有Aobj2;constA*ptr=newA;,则下列语句错误的是(  )。
问题详情




13.
下列关于this指针的描述中,正确的是(  )。
问题详情




14.
软件设计中模块划分应遵循的准则是(  )。
问题详情




15.
下列选项巾正确的定义语句是(  )。
问题详情




16.
有如下程序:
#include
usingnamespacestd;
intmain()
{
int*P;
*P=9:
cout<<"ThevalueatP:"<<*P;
return0;
}
编译运行程序将出现的情况是(  )。
问题详情




17.
假定其中的x的单位是角度且不考虑π的值  的精是(  )。
问题详情




18.
下列描述中正确的是(  )。
问题详情




19.
以下选项中合法的实型常数是(  )。
问题详情




20.
下列叙述中正确的是(  )。
问题详情




21.
已知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是(  )。
问题详情




22.
下列函数的运行结果是(  )。
#include
intf(inta,intb)
{intC;
if(a>b)c=l;
elseif(a==b)c=0;
elsec=-1:
return(c);}
voidmain(  )
{inti=2,j=3;
intp=f(i,j);
cout<<p;}
问题详情




23.
如果表达式“--x/y”中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为(  )。
问题详情




24.
Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是(  )。
问题详情




25.
有如下程序:
#include
usingnamespacestd;
classDemo
{
public:
Demo(){cout<<"defaultconstructor\n";}
Demo(constDemo&x){cont<<"copyconstruc-
tor\n";}
};
DemouserCode(Demob){Democ(b);returnC;}
intmain()
{
Demoa;d;
cout<<"callinguserCode()\n";
d=userCode(a):
return0;
}
执行上面程序的过程中,构造函数Demo(  )和Demo(constDem0&x)被调用的次数分别是(  )。
问题详情




26.
下列关于类和对象的叙述中,错误的是(  )。
问题详情




27.
下列叙述正确的是(  )。
问题详情




28.
有下列程序:
#include
voidmain(  )
{inta=S,b=1,t;
t=(a<<2)|b;printf("%d\n",t);
}
程序运行后的输出结果是(  )。
问题详情




29.
下面类的定义,有(  )处错误。
classMyClass
{public:
voidMyClass();
~MyClass(intvahle);
private:
inti=0;};
问题详情




30.
有如下程序:
#included
usingnamespacestd;
voidfl(int&X,int&y){intz=x;x=y;y=z;)voidf2(intX,inty){intz=x;x=y;y=z;}intmain(  ){
intx=10,y=26;
f1(X,y);
f2(x,y);
cout<<y<
return0;
}
运行时的输出结果是(  )。
问题详情




31.
下列叙述中正确的是(  )。
问题详情




32.
下列是if语句的基本形式:
if(表达式)语句
其中“表达式”(  )。
问题详情




33.
以下程序的运行结果是(  )。
#include(iostream.h>
voidsub(intx,inty,int*z)
{*z=y-x;}
voidmain(  )
{inta,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
cout((a<<","<<b<<","<<c<<endl;}
问题详情




34.
下列选项中不能作为C浯言合法常量的是(  )。
问题详情




35.
设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择的存储类别是(  )。
问题详情




36.
在对函数进行原型声明时,下列语法成分中,不需要的是(  )。
问题详情




37.
若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是(  )。
问题详情




38.
有下列程序:
#include
intf(intx)
{
inty;
if(x==0‖x==1)return(3);
y=x*x-f(X-2);
returny;
}
voidmain(  )
{
intZ;
z=f(3);printf("%d\n",z);
}
程序的运行结果是(  )。
问题详情




39.
有如下函数模板定义:
template
T1FUN(T2n){returnn*5,0;}
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为(  )。
问题详情




40.
设有“intx=11;”,则表达式(x++*2/3)的值是(  )。
问题详情




二、程序改错题(18分)
41.
(1)应改为“catch(char*s)”。
(2)应改为“cateh(inti)”。
(3)应改为“catch(…)”。
问题详情
三、简单应用题(24分)
42.
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char*sl,char*s2)的空出部分。函数fun(char*s1,char*s2)的功能是将在字符串s1中下标为偶数的字符,紧随其后重复出现一次,放在一个新串s2中,s2中字符按原字符串中字符的顺序排列。(注意0为偶数)
例如:当s1中的字符串为“abcdef”时,s2中的字符串应为“aaccee”。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include(iostream.h)
voidfun(char*s1,char*s2)
{
}
voidmain()
{
charsi[100】,s2【1OO];
cout<<"Pleaseenterstringstrin9:"<
cin.getline(s1,100);
fun(s1,s2);
cout<<"Theresultis:"<<s2<<cndl
return;
}
问题详情
四、综合应用题(18分)
43.
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义类的公有数据成员函数N0、Name[32],其中N0是int型的数据,Name[32]为字符型。请在注释1后添加适当的语句。
(2)完成函数Set的定义,分别设置N0和Name的值,请在注释2后添加适当的语句。
(3)完成函数print,请在注释3后添加适当的语句,输出结果如下:
N0=12345
Name=HelloWorld!
(4)添加默认构造函数,设置N0为0,Name为空,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include
classTC
{
public:
//********1********
//********2********
{
No=no;
for(inti=0;strName[i]!=0;i++)
{
Name[i]=strName[i];
Name[i+1]=0;
}
}
voidprint()
{
//********3********
}
TC()
{
//********4********)
};
intmain()
{
TCstu:
stu.Set(12345,"HelloWorld!");stu.print();
return0;
}
问题详情