1、一个循环语句内又包含另一个完整的循环语句,称为循环语句的嵌套。内嵌的循环语句一般称为内循环,包含内循环的循环语句称为外循环。内循环再嵌套内层循环,就够成了多重循环。,循环语句的嵌套,例: 求2和32766之间的素数。,main() int i,k;for (k=2;k=32766;k+)for (i=2;ik;i+)if (k%i=0)break;if (i=k)printf(“%d,“,k); ,分析下列程序的输出结果: main() int k=0,i,j; for(i=0;i5;i+)for(j=0;j3;j+)k=k+1 ; printf(“k=%dn”,k); ,如何对其进行改进?,
2、结果:k=15,break语句break语句的功能是:在switch语句中使流程跳出switch结构。在循环语句中使流程跳出当前循环。,Break语句和continue语句,例: 编程将从键盘上输入的若干个正整数求和,遇到负数则终止程序,并且输入的数不超过10个。,#define M 10 main() int i,x,sum;sum=0;for (i=1;i=M;i+)printf(“ninput x=“);scanf(“%d“, ,continue语句continue语句的功能是在循环语句中使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。,main() i
3、nt i;for (i=100;i=200;i+) if (i%3=0)continue;printf(“%d,“,i); ,例: 编程把100200之间的不能被3整除的数输出。,多重循环程序设计时,应注意以下几点: 三种循环不仅可以自身嵌套,而切可以互相嵌套。 嵌套时,要在一个循环体内包含另一个完整的循环结构。,运行时,应注意内嵌的语句执行过程。,main() int a,b;for (a=1;a=9;a+)for (b=1;b=a;b+)printf(“%d ”,a*b); printf(“n”); ,结果?,1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 64 72 81,作业:,1.编程分别输出下列图形:* * * * * * * * * * *,