A.对 B.错
17.只能在循环体内和switch语句体内使用break语句。
A.对 B.错
18.程序段 int k=10; while(k=0)k=k-1; 中,while循环执行10次。
A.对 B.错
19.若i为整型变量,则 for(i=2;i= =0;)printf(\循环执行次数是0次。
A.对 B.错
20.执行语句for(i=1;i++<4; );后,变量i的值是4。
A.对 B.错
(二)、选择题
1.下列程序的输出结果是______。
#include \void main()
{ int i,a=0,b=0; for(i=1;i<10;i++)
{ if(i%2==0) {a++; continue;} b++;}
printf(\
A.a=4,b=4 B.a=4,b=5 C.a=5,b=4 D.a=5,b=5 2.已知:int t=0; while(t=1) { ... } ,则以下叙述正确的是______。 A.循环表达式的值为0 B.循环表达式的值为1 C.循环表达式不合法 D.以上说法都不对 3.设有以下程序段 ,则 _____。
int x=0,s=0; while(!x!=0) s+=++x; printf(\ while(!0!=0) while(1!=0)
while(1) 执行 s=s+(++x) s=1
A.运行程序段后输出0 B.运行程序段后输出1 C.程序段中的表达式是非法的 D.程序段执行无限次 4.以下程序的运行结果是______。
#include
for( ; y>0;y--)
if(y%3==0) printf(\
A.741 B.963 C.852 D.875421
在循环中,能被3整除的数有9,6,3,输出前自减1,所以得8,5,2。 5.以下描述中正确的是______。
A.由于do-while的循环体只能有一条语句,所以循环体内不能使用复合语句
26
B.do-while由do开始,用while结束,在while(表达式)后面不能写分号 C.在do-while循环中,是先执行一次循环体,再进行判断 D.在do-while循环中,根据情况可以省略while 6.以下程序段的运行结果是______。
i=0; do printf(\ A.0,0 B.0,1 C.1,1 D.程序进入无限循环 7.若程序执行时的输入数据是2473<回车>,则下述程序的输出结果是______。
#include
while((cs=getchar())!='\\n') {switch(cs-'2') { case 0:
case 1: putchar(cs+4);
case 2: putchar(cs+4); break; case 3: putchar(cs+3); default: putchar(cs+2); } } }
A.668977 B.668966 C.6677877
8.以下程序的输出结果是______。
#include \void main() { int a,i;a=0; for(i=1;i<5;i++) switch(i)
{ case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5 ; } printf(\ A.31 B.13 C.10 D.20 9.以下程序的运行结果是______。
#include
27
D.6688766
for(i=1;i<=3;i++)
for(j=3;j<=i;j++) m=m%j; printf(\ A.0 B.1 C.2 D.3 10.以下程序的运行结果是______。
#include
for(i='a';i<'f';i++,i++)printf(\printf(\
A.ACE B.BDF C.ABD D.CDE 11.以下程序运行后的输出结果是______。
#include
{ case 1: case 3:n+=1;k--;break; default:n=0;k--;
case 2: case 4:n+=2;k--;break; } printf(\}while(k>0 && n<5); }
A.235 B.0235 C.02356 D.2356 12.下面程序的输出结果是______。
#include
{ int n=9; while(n>6){n--; printf(\A.987 B.876 C.8765 D.9876 13.下述程序的输出结果是_______。
#include
{ int x=0,y=0,i; for(i=1;;++i)
{ if(i%2==0) {x++;continue;} if(i%5==0) {y++;break;} }
printf (\A.2,1 B.2,2 C.2,5 D.5,2 14.下述程序的输出结果是_______。
#include
28
{ int x=8;
for( ; x>0; x--)
{ if(x%3) {printf(\printf(\
A.7,4,2, B.8,7,5,2, C.9,7,6,4, D.8,5,4,2, 15.以下不会构成无限循环的语句或语句组是_______。
A.n=0; do{++n;}while(n<=0); B.n=0; while(1){n++;} C.n=10; while(n);{n--;} D.for(n=0,i=1; ;i++)n+=i; 16.以下程序的运行结果是_______。
#include \void main()
{ int k=0,m=0,i,j; for(i=0;i<2;i++)
{ for(j=0;j<3;j++) k++; k-=j; } m=i+j;
printf(\
A.k=0,m=3 B.k=0,m=5 C.k=1,m=3 D.k=1,m=5
17.若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体的执行次数是_______。
A.9 B.8 C.3 D.2 18.下述程序的输出结果是_______。
#include \void main() { int i=6;
while(i--) printf(\printf(\
A.531 B.420 C.654321 D.死循环 19.下述程序的输出结果是_______。
#include \void main()
{ int a=0,b=0,c=0,i; for(i=0;i<4;i++) switch(i)
{ case 0:a=i++; case 1:b=i++; case 2:c=i++; case 3:i++; }
printf(\
A.0,1,3,4 B.1,2,3,4 C.0,1,2,5 D.0,2,3,4 20.下面程序的运行结果是_______。
a=1;b=2; c=2; while(a
29
printf(\A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 21.以下叙述中正确的是_______。
A.break语句只能用于switch语句体中
B.continue语句的作用是使程序的执行流程跳出包含它的所有循环 C.break 语句只能用在循环体内和switch语句体内
D.在循环体内使用break语句和continue语句的作用相同 22.以下程序运行后的输出结果是_______。 #include \void main() { int k=5,n=0; do { switch(k)
{ case 1: case 3: n+=1; break; default: n=0;k--;
case 2: case 4: n+=2;k--;break; } printf(\
A.2345 B.0235 C.02356 D.2356 23.下列程序的输出结果是_______。
#include \void main() { int i,j;
for(i=1;i<4;i++)
{for(j=i;j<4;j++) printf(\printf(\
A.1*1=1 1*2=2 1*3=3 B.1*1=1 1*2=2 1*3=3
2*1=2 2*2=4 2*2=4 2*3=6 3*1=3 3*3=9 C.1*1=1 D.1*1=1
1*2=2 2*2=4 2*1=2 2*2=4
1*3=3 2*3=6 3*3=9 3*1=3 3*2=6 3*3=9
24.执行以下程序时输入1234567890<回车>,则其中while循环体将执行_______次。 #include \
void main()
{ char ch; while((ch=getchar())=='0') printf(\A.10 B.0 C.2 D.l 25.下列程序的输出结果是_______。
#include \void main() { int k=5;
while(-k) printf(\
30