m:
z;
则该程序运行后,m的值是
A)4B)3C)2D)1
30.有一函数
1x>0
y=0x=0
-1x<0,
以下程序段中不能根据x的值正确计算出y的值的是____。
A)if(x>0)y=1;elseif(x==0)y=0;elsey=-1;
B)y=0;if(x>0)y=1;elseif(x<0)y=-1;
C)y=0;if(x>=0)if(x>0)y=1;elsey=-1;
D)if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;
31.以下选项中,与k=n++完全等价的表达式是___。
A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1
32.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for(i=5;i;i--)
for(j=0;j<=4;j++){...}
A)20B)25C)24D)30
33.若有以下定义:
floatx;inta,b;
则正确的switch语句是
A)switch(x)B)switch(x)
{case.0:
printf("*\n");{case1,2:
printf("*\n");
case2.0:
printf("**\n");case3:
printf("**\n");
}}
C)switch(a+b)D)switch(a+b);
{case1:
printf("\n");{case1:
printf(."*\n");
case1+2:
printf("**\n");case2:
printf("**\n");
}}
34.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为
A)2,0B)5,0C)5,5D)2,5
#include
main()
{intv1=0,v2=0;
charch;
while((ch=getchar())!
=’#’)
switch(ch)
{case‘a’:
;
case‘h’:
;
default:
v1++;
case‘0’:
v2++;
}
printf(“%d,%d\n”,v1,v2);
}
35.有如下程序,该程序的输出结果是
main0
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++;
case2:
a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
36.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是
A)swich(a+b);B)switch(a*a+b*b)
{case1:
y=a+b;break;{case3:
case0:
y=a-b;break;case1:
y=a+b;break;
}case3:
y=b-a,break;
}
C)switch(a)D)switch(a-b)
{casec1:
y=a-b;break{default:
y=a*b;break;
casec2:
x=a*d;breakcase3:
case4:
x=a+b;break;
default:
x=a+b;case10:
case11:
y=a-b;break;
}}
37.有以下程序,程序运行后的输出结果是
main()
{inta=16,b=20,m=0;
switch(a%3)
{case0:
m++;break;
case1:
m++;
switch(b%2)
{default:
m++;
case0:
m++;break;
}
}
printf("%d\n",m);
}
A)1B)2C)3D)4
38.有以下程序,执行后输出的结果是
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
A)011122B)012C)012020D)120
39.有以下程序,程序运行时,从键盘输入:
01<回车>,程序执行后的输出结果是()
main()
{chark;inti;
for(i=1;i<3;i++)
{scanf("%c",&k);
switch(k)
{case'0':
printf("another\n");
case'1':
printf("number\n");
}
}
}
A)anotherB)anotherC)anotherD)number
numbernumbernumbernumber
anothernumber
40.假定a和b为int型变量,则执行以下语句后b的值为
a=1;b=10;
do
{b-=a;a++;}
while(b--<0);
A)9B)-2C)-1D)8
41.设x和y均为int型变量,则执行下的循环后,y值为
for(y=1,x=1;y<=50;y++)
{if(x>=10)break;
if(x%2==1)
{x+=5;continue;}
x-=3;
}
A)2B)4C)6D)8
42.设j为int型变量,则下面for循环语句的执行结果是
for(j=10;j>3;j--)
{if(j%3)j--;
--j;--j;
printf("%d",j);
}
A)63B)74C)62D)73
43.有以下程序,输出结果是
main()
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i=j-1)printf("%d",j);
}
}
A)11B)10C)9D)1011
44.当执行以下程序段时
A)循环体将执行一次B)循环体将执行两次
C)循环体将执行无限次D)系统将提示有语法错误
x=-1;
do{x=x*x;}while(!
x);
45.执行以下程序后,输出的结果是
A)-1B)1C)8D)0
main()
{inty=10;
do{y--;}while(--y);
printf(“%d\n”,y--);
}
46.在下列选项中,没有构成死循环的程序段是
A)inti=100B)for(;;);
while
(1)
{i=i%100+1;
if(i>100)break;
}
C)intk=1000;D)ints=36
do{++k;}while(k>=1000);While(s);--s;
(注意:
int数的范围)
47.执行语句:
for(i=1;i++<4;);后变量i的值是
A)3B)4C)5D)不定
48.以下程序的输出结果是
A)x=4B)x=8C)x=6D)x=12
main()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf(“x=%d\n”,x);
}
49.运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为
A)m=3B)m=2C)m=1D)m=0
main()
{intm,n;
printf{“Enterm,n:
”};scanf(“%d%d,&m,&n”);
while(m!
=n)
{while(m>n)m-=n;
while(n>m)n-=m;
}
printf(“m=%d\n”,m);
}
50.以下程序的输出结果是
A)10192B)9876C)10990D)101091
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d,%d",x--,y);
}
51.以下程序的输出结果是
A)20B)31C)321D)210
main()
{intn=4;
while(n--)printf("%d",--n);
}
52.以下程序的输出结果是
A)编译不通过,无输出B)acegC)acegiD)abcdefghi
main()
{inti;
for(i='A';i<'I';i++,i++)printf("%c",i+32);
printf("\n");
}
53.以下叙述正确的是
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do一while语句构成的循环只能用break语句退出。
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D)用do-while语句构成的循环,在while后的表达式为零时结束循环。
54.下列程序的输出结果是
A)4B)2C)1D)0
main()
{inti,j,m=0,n=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)
if(j>=i)m=1;n++;
printf("%d\n",n);
}
55.以下程序段的执行结果是
A)a=12y=12B)a=12y=12
a=14y=16a=16y=28
a=16y=20
C)a=12y=12D)a=12y=12
a=14y=26a=14y=44
inta,y;
a=10;y=0;
do
{a+=2;y+=a;
Printf("a=%dy=%d\n”,a,y);
if(y>20)break;
}while(a=14);
56.有如下程序,该程序的执行结果是
main0
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf("%d\n",sum);
}
A)6B)3C)死循环D)0
57.有如下程序,该程序的执行结果是
main0
{intx=23;
do
{printf("%d",x--);}
while(!
x);
}
A)321B)23C)不输出任何内容D)陷入死循环
58.有如下程序,该程序段的输出结果是
main0
{intn=9;
while(n>6){n--;printf("%d",n);}
}
A)987B)876C)8765D)9876
59.有以下程序段
intk=0
while(k=1)k++;
while循环执行的次数是
A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次
60.以下程序执行后sum的值是
A)15B)14C)不确定D)0
main()
{inti,sum;
for(i=1;i<6;i++)sum+=i;
printf("%d\n",sum);
}
61.有以下程序段
intx=3;
do
{printf("%d",x-=2);}
while(!
(--x));
其输出结果是
A)1B)30C)1-2D)死循环
62.t为int类型,进入下面的循环之前,t的值为0
while(t=l)
{……}
则以下叙述中正确的是
A)循环控制表达式的值为0B)循环控制表达式的值为1
C)循环控制表达式不合法D)以上说法都不对
63.以下程序的输出结果是
main()
{intnum=0;
while(num<=2)
{num++;printf(