1、循环结构一有答案循环结构(一)选择题1. 有如下程序 main() int n=9; while(n6) n-; printf(%d,n); 该程序段的输出结果是_。 A.987B.876C.8765D.9876答案:B2. 下面的程序输出结果是_。 main() int x=3; while(!(-x) printf(%dn,x-=2); A.不执行循环体B.1C.0D.是死循环答案:A3. 运行以下程序后,如果从键盘上输入6514回车,则输出结果为_。 main() int m,n; printf(Enter m,n:); scanf(%d%d,&m,&n); while(m!=n) wh
2、ile(mn)m-=n; while(nm)n-=m; printf(m=%dn,m); A.m=3B.m=2C.m=1D.m=0答案:C4. 有以下程序 main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+7) if(pi%2)j j+=pi; printf(%dn,j); 程序运行后的输出结果是_。 A.42B.45C.56D.60答案:B5. 下列程序段中循环体的执行次数是_。 int x=-12; while (x=0) x=x+1; A.While循环执行12次B.循环体语句执行一次C.循环是死循环D.循环体语句一次也不执行答
3、案:D6. 执行下面程序段的结果是_。 int x=234; do printf(%3dn,x-); while(!x); A.432B.234C.0D.234到1的自然数答案:B7. 以下程序的输出结果是_。 main() int x=2; do printf(%3d,!x-2); while(-x); A.0 -1B.0 0C.-2-2D.死循环答案:C8. 以下循环体的执行次数是_。 main() int i,j; for(i=0, j=1;i=j+1; i+=2,j-) printf(%dn,i) A.3B.2C.1D.0答案:C9. 以下程序的输出结果是_。 main() int x
4、=10,y=10,i; for(i=0;x8;y=+i) printf(%d%d,x-,y); A.10192B.9 876C.10990D.10109 1答案:D10. 以下程序运行后的输出结果是_。 main() char c1,c2; for(c1=0,c2=9;c1c2;c1+,c2-) printf(%cc,c1,c2); printf(n); A.0918245765B.0893478654C.0786584763D.0918273645答案:D11. 下面程序的功能是:计算110之间的奇数之和及偶数之和,空白处应填_。 main() int a,b,c,i; a=c=0; for
5、(i=0;i=10;i+=2) a+=i;_;) printf(偶数之和=%dn,a); printf(奇数之和=%dn,c-11); A.c+=iB.c+=i+1C.b+=iD.b+=i+1答案:B12. 以下程序的执行结果是_。 main() int i,j,m=O,n=0; for (i=0;i2;i+) for (j=0;j2;j+) if(j=i) m=1;n+; printf(%dn,n); A.4B.2C.1D.0答案:C13. 以下程序运行后,输出结果为_。 main() int y=18,i=0 j,a8; do ai=y%2; i+; y=y/2; while(y=1);
6、for(j=1-1;j=0;j-) printf(%d,aj); printf(n); A.10000B.10010C.00110D.10100答案:B14. 以下程序的输出结果是_。 main() int i,j,m=0; for (i=1;i=15;i+=4) for(j=3; j=19; j+=4) m+; printf(%dn,m); A.12B.15C.20D.25答案:C15. 有以下程序 main() int i=0,s=0; for(;) if(i=3|i=5)continue; if(i=6) break; i+; s+=i; ; printf(%dn,s); 程序运行后的输
7、出结果是_。 A.10B.13C.21D.程序进入死循环答案:D16. 以下程序的输出结果是_。 main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2) continue;x+; x+; printf(x=% dn,x); A.x=4B.x=8C.x=6D.x=12答案:B17. 下面程序的执行结果为_。 main() int a,b; for(a=1,b=1;a=100;a+) if(b=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%d,a); A.7B.8C.9D.10答案:B18. 有以下程序 main() int a=1,b; for(b=1;b=10;b+) if(a=8)break; if(a%2=1)a+=5;continue; a-=3; printf(%dn,b); 程序运行后的输出结果是_。 A.3B.4C.5D.6答案:B