循环控制
当我们需要规律性地重复操作时,我们就会用到循环(循环可以嵌套)。
while循环示例
int i = 0;
while (i < 10)//判断是否满足括号内的条件,满足则进入循环,不满足则跳出循环
{
printf("%d\n", i);
i++;
}//执行完{}里的复合语句后会重新判断是否再次进入循环
//i的自增,每次经过i++,i的值+1,
//最终能输出i的值为0,1,2,3,4,5,6,7,8,9。
int i = 1;
while (1)
{
printf("%d\n", i);
i++;
}
//是死循环,输出i从1到无穷之间的值
do while循环示例(与while不同的是do while循环{}内的复合语句至少可以被执行一次)注意while后面的“;”不可少。
int i = 0;
do{
printf("%d\n", i);
i++;
}
while (i < 10);//判断是否满足括号内的条件,满足则再进入循环,不满足则跳出循环
//最终能输出i的值为0,1,2,3,4,5,6,7,8,9。
for循环示例
for(int i=0;i<10;i++)//for(表达式1.表达式2.表达式3)
/*
表达式1为赋值表达式,让控制变量初始化
表达式2为关系表达式,控制循环条件
表达式3赋值表达式,控制变量的增或减
*/
{
printf("%d",i);
}//执行复合语句
//最终能输出i的值为0,1,2,3,4,5,6,7,8,9。
以上三种循环示例中,我们都有循环控制变量i的存在,但是while和do while循环不会自行更改循环控制变量的内容,所以我们在{}内进行循环控制变量的更改(i++),而for循环的循环变量更改已经在for()的括号中完成了。
如果循环次数在执行循环之前就已经确定,一般用for循环。如果循环次数由循环的执行情况确定,一般用while循环或者do while循环。而如果至少执行一次,用都do while循环。如果可能一次也不执行,则选用while循环。
continue和break的使用
continue跳出本次循环,break跳出循环。break也用于switch开关中,但continue只用于循环体。
for (int i = 0; i < 10; i++)
{
printf("%d\n", i);
if(i==5)
{break;}
}
//返回结果为0,1,2,3,4,5.当i==5时,执行break,跳出循环(终止循环)
for (int i = 0; i < 10; i++)
{
if (i == 5)
{continue;}
printf("%d\n", i);
}
//返回结果为0,1,2,3,4,6,7,8,9.当i==5时,执行continue,跳出本次循环,进行下一轮循环