haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 初中教育 > 初中历政地初中历政地

循环习题

发布时间:2014-05-05 13:48:23  

循环程序设计
补充习题讲解 王小琼

一 选择题
⑴ 以下程序中,while循环的循环次数是 main() { int i=0; while(i<10) { if(i<1) continue; //循环变量i的值,一直没有改变; //continue条件为真提前循环,后面的语句都不执行 if(i= =5) break; i++; } …… } A)1 B)10 C) 6 D)死循环,不能确定次数 ⑵ 有如下程序 main() { int n=9; while(n>6) { n- -; printf("%d",n); } 9 8 8 8 7 7 7 6 6 } 6(条件为假) 该程序的输出结果是B)876

⑶ 有以下程序段 int k=0; while(k=1) k++; //k=1(赋值)条件永远为真 k==1(判断) while循环执行的次数是 A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次 ⑷ 以下叙述正确的是 A)do-while语句构成的循环不能用其它语句构成的循环来代替 B)do-while语句构成的循环只能用break语句退出 C)用do-while语句构成的循环,在while后的表达式为非零时结束循环 D)用do-while语句构成的循环,在while后的表达式为零时结束循环 ⑹ 有如下程序 main() { int x=23; do { printf(“%d”,x- -); }while(!x); //x为非零,即为真,非真,即为假 } 该程序的执行结果是 A)321 B)23 C)不输出任何内容 D)陷入死循环

Ex5 下列程序的输出是什么?

1

a=10,y=0

2

a+=2,y+=a; printf();

3

y>20 假 真 真

main() { int a=10,y=0; do { a+=2; y+=a; printf( "a=%d y=%d\n", a, y ); if ( y > 20 ) break; } while( a = 14 ); }
a 10 12 14 16 y 输出 0 12 a=12 y=12 28 a=16 y=28

4

a=14

⑺ 有以下程序段 int x=3; do { printf("%d ",x-=2); }while(!(- -x)); 其输出结果是 A)1 B)3 0 C)1 -2

⑽ 以下循环体的执行次数是 A)3 B)2 C)1 D)0 main() { int i,j; for(i=0,j=1; i<=j+1; i+=2,j- -) printf("%d \n",i); ⑾ 下列程序的输出结果是 A)4 B)2 C)1 { int i,j,m=0,n=0;

X=3 X-=2----?x=x-2=1 --x---?x=x-1=0 !(—x)=!0=1为真 继续循环 D)死循环 X-=2----?x=x-2=0-2= - 2 --x---?x=x-1=-3 !(-x)=!(-3)=0为假 退出循环

D)0

for(i=0; i<2; i++) for(j=0; j<2; j++) if(j>=i) m=1; n++; printf("%d \n",n); }

for 循环与n++没有关系, n++只有执行一次

Ex8 执行下列语句后,a=? int a = 0, i; for( i = 1; i < 5; i++ ) { switch( i ) { case 0: case 3: a+=2; case 1: case 2: a+=3; default:a+=5; } }
0,3 3 a+=2; 1,2 a+=3; default 4 a+=5; 12

i i<5 1 真 2 3 4 5 真 真 真 假

执行 case 1 a+=3 a+=5 case 2 a+=3 a+=5 case 3 a+=2 a+=3 a+=5 default a+=5

a 3 8 11 16 18 21 26 31

Ex 9执行下列语句后,a=?
main() { int i = 0,a = 0; while( i < 20 ) { for( ; ; ) { if(( i % 10 ) == 0 ) break; else i--; } i += 11; a += i; } }

i 0 11 10 21

a 0 11 32

i<20 真 真 假

i%10= =0 0 真 1 假 0 真

break √ × √

⑿ 有如下程序 main() { int i,sum; for(i=1; i<=3; sum++) sum+=i; //i++ printf("%d\n",sum); } 结果是 A)6 B) 3 C)死循环

i的值没有改变,循环控制变量一直是 i<=3,永远为真

D)0

⒀ 以下程序执行后sum的值是 A)15 B)14

网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com