}
程序执行后的输出结果是()
A.y=0B.y=-1
C.y=1D.while构成无限循环
44.
为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
47.选择出合法的if语句(设intx,a,b,c;)()。
A.if(a=b)c++;
B.if(a=
C.if(a<>b)c++;
D.if(a=>b)c++;
52.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是()。
if(a>b)
c=a;a=b;b=c;
A.a=1,b=2,c=3B.a=2,b=3,c=3
C.a=2,b=3,c=1D.a=2,b=3,c=2
53.请阅读以下程序:
该程序()。
voidmain()
{intx=-10,y=5,z=0;
if(x=y+z)cout<<"***\n";
elsecout<<"$$$\n";
}
A.有语法错不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
54.执行完下面一段程序后x的值是()。
voidmain()
{
inta=1,b=2,c=4,d=3,x;
if(a
if(celse
if(aif(belsex=3;
elsex=4;
elsex=5;
cout<}
A.1B.2C.3D.4
56.以下switch语句结构哪一个是正确的?
()
A.
voidmain()
{
inta=1,b=0,c1,c2,x,y;
switch(a+b);
{
case1:
y=a+b;break;
case0:
y=a-b;break;
}
}
B.
voidmain()
{
inta=1,b=0,c1,c2,x,y;
switcha()
{
casec1:
y=a-b;break;
casec2:
x=a*b;break;
default:
x=a+b;
}
}
C.
voidmain()
{
inta=1,b=0,c1,c2,x,y;
switch(a*a+b*b)
{
case3:
case1:
y=a+b;break;
case3:
y=b-a;break;
}
}
D.
voidmain()
{
inta=1,b=0,c1,c2,x,y;
switch(a*a+b*b)
{
default:
y=a*b;break;
case3:
x=a+b;break;
case10:
case11:
y=a-b;break;
}
}
57.假定等级和分数有以下对应关系:
等级:
A分数:
85——100
等级:
B分数:
60——84
等级:
C分数:
60以下
对于等级grade输出相应的分数区间,能够完成该功能的程序段是()。
A.
voidmain()
{
chargrade;
cin>>grade;
switch(grade)
{
case'A':
cout<<"85--100\n";
case'B':
cout<<"60--84\n";
case'C':
cout<<"<60\n";
default:
cout<<"gradeiserror!
\n";
}
}
B.
voidmain()
{
chargrade;
cin>>grade;
switch(grade)
{
case'A':
cout<<"85--100\n";
break;
case'B':
cout<<"60--84\n";
case'C':
cout<<"<60\n";
default:
cout<<"gradeiserror!
\n";
}
}
C.
voidmain()
{
chargrade;
cin>>grade;
switch(grade)
{
case'A':
cout<<"85--100\n";
break;
case'B':
cout<<"60--84\n";
break;
case'C':
cout<<"<60\n";
default:
cout<<"gradeiserror!
\n";
}
}
D.
voidmain()
{
chargrade;
cin>>grade;
switch(grade)
{
case'A':
cout<<"85--100\n";
break;
case'B':
cout<<"60--84\n";
break;
default:
cout<<"gradeiserror!
\n";
break;
case'C':
cout<<"<60\n";
}
}
58.
当执行以下程序段时,程序将()。
voidmain()
{
intx=-1;
do
{x=x*x;}
while(!
x);
}
A.循环体将执行一次 B.循环体将执行两次
C.循环体将执行无数多次 D.系统将提示有语法错误
59.
若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。
for(i=5;i;i--)
for(j=0;j<4;j++)
{…}
A.20B.24C.25D.30
60.
有以下语句:
i=1;
for(;i<=100;i++)sum+=i;
与以上语句序列不等价的有()。
A.for(i=1;;i++){sum+=i;if(i==100)break;}
B.for(i=1;i<=100;){sum+=i;i++;}
C.i=1;for(;i<=100;)sum+=i;
D.i=1;for(;;){sum+=i;if(i==100)break;i++;}
61.
标有/**/的语句的执行次数是()。
inty,i;
for(i=0;i<20;i++)
{if(i%2==0)continue;
y+=i;/**/
}
A.20B.19C.10D.9
(二)填空题:
2.#include0
voidmain()
{
inti,t=0;
for(i=5;i>=0;i--)
t*=i;
cout<}
3.
写成下列程序的输出结果:
#include
voidmain()
{
inti=1;
while(i<=15)
if(++i%3!
=2)continue;
elsecout<
cout<}2581114
4.输入a,输出结果是verygood
输入c,输出结果是pass。
#include
voidmain()
{
charn;
cin>>n;
switch(n)
{case'a':
case'A':
cout<<"verygood\n";break;
case'b':
case'B':
cout<<"good\n";break;
case'c':
case'C':
case'd':
case'D':
cout<<"pass\n";break;
case'e':
case'E':
cout<<"warning\n";break;
default:
cout<<"error\n";
}
}
5.以下程序的功能是计算:
1-2+3-4……+99-100
voidmain()
{inti=1,j=1,s=0;
while(i<=100)
{s+=i*j;
i++;
j=-j;}
cout<
}
6.若从键盘输入58,则输出结果是_585858_______。
#include
voidmain()
{
inta;
cin>>a;
if(a>50)cout<if(a>40)cout<if(a>30)cout<}
}
7.下面程序根据以下函数关系,对输入的每个x值,计算出y值。
请在【】内填空。
X
y
2x(x+2)
-11/x
x<=-1
x-1
voidmain()
{
intx,y;
cin>>x;
if(【1】(x>2)&&(x<=10))y=x*(x+2);
elseif(【2】((x>-1)&&(x<=2)))