break 语句和continue 语句
break 语句:
功能:终止它所在的switch 语句或循环语句的执行。
说明:break语句只能出现在switch 语句或循环语句的循环体中。
continue 语句:
功能:结束本次循环(不是终止整个循环),即跳过循环体中continue 语句后面的语句,开始下一次循环。
说明:continue 语句只能出现在循环句的循环体中;
若执行while 或do_while 语句中的continue 语句,则跳过循环体中 continue 语句后面的语句,直接转去判别下次循环控制条件;若continue 语句出现在for 语句中,则执行continue 语句就是跳过循环体中continue语句后面的语句,转而执行for 语句的表达式3。
几种循环语句的比较:
C语言中构成循环结构的有while、do_while 和for 循环语句。也可以通过if 和 goto语句的结合构造循环结构。从结构化程序设计角度考虑,不提倡使用if 和goto 语句构造循环。一般采用while、do_while 和for 循环语句。
循环的嵌套:
循环结构的循环体语句可以是任何合法的C语句。若一个循环结构的循环体中包含了另一循环语句,则构成了循环嵌套,称为多重循环。
#include<stdio.h>
int main(){
int i,j;
for(i=i;i<3;i++){ //外层i循环
printf("i=%d→",i);
for(j=1;j<3;j++){ //内层j循环
printf("j=%d",j);
printf("j=%d\n",j) ; //内层j循环结束时的j值
}
}
printf("*i=%d\n",i); //外层i循环结束时的i值
}
循环语句中可能出现的缺陷
无论是使用while语句还是其他语句其它循环语句,一定要确保该循环是可以退出的。
如果while语句是一个死循环,我们必须确定在循环体里面包含语句,让布尔表达式成为false。
◇ 当编写循环时,必须确保循环体的布尔表达式最终成为false。
◇ 避免在循环中使用实数类型的变量。
“off-by-one”错误:循环体次数比我们语句的要多一次或少一次。
循环中注意的要点:
◇ 确定循环体内包含一个语句使循环体最终结束。
◇ 确定循环体正确的循环次数。
◇ 如果想执行循环体N次,那么就让初始化计数器counter 为0,使用测试条件counter<N;或者让初始化计数器counter为1,使用测试条件counter<=N。