if(++j%6==0)cout<}
cout<}
训练第三套
一、单选题(每小题2分,共20分)
1.由C++源程序文件编译而成的目标文件的缺省扩展
名为(A)。
C.exeD.
A.objB.lik
cpp
2.
程序运行中需要从键盘卜输入多于
•个数据
程序运行」中需要从键盘上输入多于
时,
各数据之间应使用
(D)符号作为分隔符。
A.
空格或逗号B.
逗号或回车C.
逗号或分号
D.
空格或回车
3
.设x是一个
bool型的逻辑量,
y的值为10,
则表达式x&&y的值为(C)。
A.1B.0C.与x值相同
D.与x值相反
4.for语句能够被改写为(D)语句。
A.复合B.ifC.switchD.while
5.在下面的do循环语句中,其循环体被执行的次数为(A)。
inti=0。
doi++。
while(i*i<10)。
A.4B.3C.5D.2
6.在下面的一维数组定义中,(C)语句有语法
错误。
A.inta[]={1,2,3}。
B.inta[10]={0}。
C.inta[]
D.inta[5]
7.下面的(C)
保留字不能作为函数的返回类
型。
A.voidB.int
C.newD.
long
8.下面的函数声明中,
(B)是“voidBC(inta,
intb)。
的重载函数。
A.intBC(intx,inty)
。
B.voidBC(inta,
charb)。
C.floatBC(inta,
intb,intc=0)。
D.int
BC(inta,intb=0)。
9.当类中一个字符指针成员指向具有n个字节的存储
空间时,它所能存储字符串的最大长度为(C)。
A.nB.n+1C.n-1D.n-2
10.假定AB为一个类,则该类的拷贝构造函数的声明语句为(D)。
A.AB&(ABx)。
B.AB(ABx)。
C.
AB(AB*x)。
D.AB(AB&)。
二、填空题(每小题2分,共20分)
1.执行"cout<”语句后得到的输出结果为D。
2.在C++每个程序行的后面或单独一行的开始使
用注释的标记符为〃一。
3.表达式float(25)/4的值为
6.25__。
4.关系表达式x+y>5的相反表达式为x+y<=5
5.假定一个二维数组的定义为“inta[3][6]。
”,则该数组含有18个元素。
6.执行“typedefintABC[20]。
”语句把ABC定义
为具有20个整型元素的_数组类型_。
7.假定p所指对象的值为36,p+1所指对象的值为49,则*++p的值为__49。
8.假定a是一个一维数组,则a[i]的指针访问方式
为_*(a+i)_
9.对一个类中的数据成员的初始化可以通过构造
函数中的初始化表实现,也可以通过构造函数中的—
函数体_实现。
10.当一个类对象离开它的作用域时,系统将自动调用该类的—析构函数_。
三、写出下列每个程序运行后的输出结果(每小题
6分,共30分)
1.#include
#include
intSD(inta,intb,charop){
switch(op){
case'+':
returna+b。
case'-':
returna-b。
default:
{cout<<"操作符op出错,
退出运行!
"。
exit
(1)。
}
}
}
voidmain(){
intx=20,y=6。
cout<')<}
运行结果:
2614
2.#include
#include
voidmain(){
char*
a[5]={"student","worker","cadre","soldier","apen"}。
char*p1。
p1=a[0]。
for(inti=1。
i<5。
i++){
if(strcmp(a[i],p1)>0)p1=a[i]。
}
cout<}
运行结果:
worker
3.#include
intWF(intx,inty){
x=x+y。
y=x+y。
returnx+y。
}
voidmain(){
cout<}
运行结果:
31
4.#include
constintn=9。
voidmain(){
inta[n]={2,4,6,8,10,12,14,16,18}。
ints=0。
for(inti=0。
ii++){
if(i%3==0)s+=a[i]。
}
cout<<"s="<
}
运行结果:
24
5.#include
voidmain(){
int*d=newint[5]。
inti。
for(i=0。
i<5。
i++){
d[i]=2*i+1。
cout<}
cout<delete[]d。
}
运行结果:
13579
四、写出下列每个函数的功能(每小题8分,共
24分)
1.floatFI(intn){〃n为大于等于1的整
数
floatx,y=0。
do{
cin»x。
y+=x*x。
}while(--n>0)。
returny。
}
函数功能:
求出从键盘上输入的n个整数的平方和
并返回。
(C)。
A.inta[]={1,2,3}。
B.inta[10]={0}。
C.inta[]。
D.inta[5]。
4.在下面的语句或语句组中,(B)不正
确。
A.inta[5]。
B.intM=10。
int
return
2.boolWE(inta[],intb[],intn){
for(inti=0。
ii++)
if(a[i]!
=b[i])break。
if(i==n)returntrue
false。
}
函数功能:
判断具有n个元素的两个数组a和b中对
应元素值是否全部相等,若是则返回真,否则返回假。
3.voidLK(inta[],intn,int&m){
floats=0。
inti。
for(i=0。
ii++)s+=a[i]。
s/=n。
m=0。
for(i=0。
ii++)if(a[i]>=s)m++。
}
函数功能:
统计出数组a的前n个元素中大于等于其
平均值的元素个数并由引用参数m带回。
五、按题目要求编写函数(6分)
假定一个函数声明为“voidAD(inta[],intn)。
”