循环类型:
while 循环
for 循环
do…while 循环
嵌套循环
循环控制语句
break语句 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。
#includeint main () { int a = 10; while( a < 20 ) { printf("a 的值: %dn", a); a++; if( a > 15) { break; } } return 0; }
结果:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 15
continue语句 告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。
#includeint main () { int a = 10; do { if( a == 15) { a = a + 1; continue; } printf("a 的值: %dn", a); a++; }while( a < 20 ); return 0; }
结果:
a 的值: 10 a 的值: 11 a 的值: 12 a 的值: 13 a 的值: 14 a 的值: 16 a 的值: 17 a 的值: 18 a 的值: 19
goto语句 将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。
补充:
1.使用 while, for 分别输出 1~100 以内的所有的奇数和偶数的和:
使用 while:
#includeint main(){ int sum=0; int num=1; int sum2=0; int num2=2; while(num<100){ sum=sum+num; num=num+2; } printf("奇数和为:%dn",sum); while(num2<=100){ sum2=sum2+num2; num2=num2+2; } printf("偶数和为:%dn",sum2); }
使用 for:
#includeint main(){ int sum=0; int sum2=0; int num,num2; for(num=1;num<100;num=num+2){ sum=sum+num; } printf("奇数和%dn",sum); for(num2=2;num2<=100;num2=num2+2){ sum2=sum2+num2; } printf("偶数和%dn",sum2); }
2.用 do while 求算术平方根:
#includedouble DoSqrt(double z){ double a=1; double b=0; double c=0; do{ if(b*b 0.000001); return (b+c)/2; } int main(){ double x, y; printf("请输入一个数字:"); scanf("%lf", &x); if(x<0){ printf("输入错误。"); } else { y=DoSqrt(x); printf("%g 的平方根为: %g.n", x, y); } int z=1; do{ main(); z++; }while(z>10); return 0; }
3.求100以内的素数。
#include#include int main(){ int i,j; printf("100以内的素数有:n"); for(i=2;i<100;i++){ for(j=2;j sqrt(i)){ printf("%d,t",i); } } }
第一个循环里面。i遍历从2到100以内的所有数字,第二个循环是在2到sqrt(n)之间看看是不是可以整除i。可以整除则不是素数,相反不可以整除,则是素数。
int fun(int n){
for(i=2;i<=sqrt(p);i++){
if(x%i==0){
return 0; //不为素数
}
else{
return 1; //为素数
}
}
}
这个是求素数的关键代码。希望初学者要牢记于心,烂熟于心。
4.用 continue 语句求输出 100~200 之间的不能被3整除的数。
#includeint main() { int n; for(n=100;n<=200;n++) { if(n%3==0) continue; printf("%d",n); } printf("n"); return 0; }
一定要注意 break 语句与 continue 语句的区别,前者是结束整个循环过程,后者这是结束本次循环。



