1. for 循环
`for`循环是最常用的循环结构之一,它允许我们定义循环的次数和每次迭代的条件。
include<stdio.h>
int main(void)
{
int i, j;
for(i = 0;i < 10;++i) // i = 0是在进行循环变量初始化,i < 10是循环的执行条件,i++是使循环趋于结束的语句
{
++j; // ++j 是循环体,即我需要在循环里做的事
}
printf("%d\n",j);
}
//注意,for()后不可以加分号,否则
for(i = 0;i < 10;++i);
//等价于
for(i = 0;i < 10;++i)
; //循环体将会变成空语句
循环开始后,先对循环变量初始化,然后判断是否满足循环的执行条件,满足则进入循环,先执行循环体,然后执行使循环趋于结束的语句,再次判断是否满足循环的执行条件,.......,直到不满足循环的执行条件,跳出循环
2. while 循环
`while`循环在给定条件为真时重复执行代码块。
while(i < 10) //i < 10,是循环的执行条件,满足,执行,不满足则跳出
{
++j; //循环体
++i; //使循环趋于结束的语句
}
//注意,while()后不要加分号,否则将变成死循环
//while(1)也是死循环
3. do-while 循环
`do-while`循环至少执行一次循环体,之后再检查条件是否满足以决定是否继续执行。
do
{
++j; //循环体
++i; //是循环趋于结束的语句
}while(i < 10); //循环的执行条件,满足,继续执行,不满足,跳出循环
4.goto`语句是一种无条件跳转语句,它允许程序跳转到同一函数内的标签位置。虽然`goto`语句在某些情况下可以用来简化代码,但过度使用`goto`可能会导致代码难以理解和维护,因此在现代编程实践中,推荐尽量避免使用`goto`。
loop: //对要跳转的语句进行命名,命名规则和标识符的命名规则相同
i = a+b;
++a;
++b;
goto loop; //无条件跳转至 loop 处
5.`break`关键字:
`break`用于立即终止最内层的`switch`语句或循环(`for`、`while`、`do-while`)的执行。当`break`语句执行时,程序会跳出当前的`switch`或循环结构,继续执行紧随其后的代码。
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break;// 当i等于5时,跳出循环
}
printf("%d\n", i);
}
// 输出结果:0 1 2 3 4
6.`continue`关键字:
`continue`用于跳过当前循环的剩余部分,并开始下一次循环的迭代。在`for`、`while`、`do-while`循环中,当`continue`语句执行时,会跳过循环体中`continue`之后的代码,直接进行下一次的循环条件判断。
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue; // 当i为偶数时,跳过本次循环的剩余部分
}
printf("%d\n", i);
}
// 输出结果:1 3 5 7 9