可恶的C语言——循环
一、while循环
while(循环条件){
语句1;
语句2;
}
{}中部分称为循环体,循环体内必须有改变条件的机会,否则为死循环。
二、do-while循环
do{
循环语句;
} while(循环条件);
三、for循环
for(初始动作;循环继续的条件;循环每轮要做的动作){
语句;
}
若有固定次数,则选用for循环。若必须执行一次,则选用do-while循环。其他情况则选用while循环。
四、break与continue
break:跳出循环
continue:跳出循环这一轮剩下的语句进入下一轮循环
例如:
break
for(i=2;i<x;i++){
if(x%i==0){
is Prime=0;
break;
}
printf("%d",i);
}
continue
for(i=2;i<x;i++){
if(x%i==0){
is Prime=0;
continue;
}
printf("%d\n",i);
}
break与continue都只对它所在的那层循环做。
五、得出随机整数
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
int main()
{
srand (time(0));
int a=rand();
printf("%d\n",a);
return 0;
}
x%n的结果为[0,n-1]的一个整数。
若要将整数改为浮点数,只需将整数*1.0。
六、跳出循环
1.接力break
int x;
int one,two,five;
int exit=0;
scanf("%d",&x);
for(one=1;one<x*10;one++){
for(two=1;two<x*10/2;two++){
for(five=1;five<x*10/5;five++){
if(one+two*2+five*5==x*10){
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n",one,two,five,x);
exit=1;
break;
}
}
if (exit==1) break;
}
if (exit==1) break;
}
2.goto
int x;
int one,two,five;
scanf("%d",&x);
for(one=1;one<x*10;one++){
for(two=1;two<x*10/2;two++){
for(five=1;five<x*10/5;five++){
if(one+two*2+five*5==x*10){
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n",one,two,five,x);
goto out;
}
}
}
}
out:
return 0;