目录
1.while循环
while循环的形式:while(表达式)
语句;
先对while内的表达式进行判断,再决定是否执行语句;
当while内表达式的值为0时,循环直接结束;反之如果表达式非0,则进行循环。如果一直为非0,则无限循环whlie内的语句。
例:打印1~10内的整数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
return 0;
}
输出结果如左图。
而如果将while(i <= 10)改为while(i > 0),则将会输出1~∞的数。
2.do-while循环
3.for循环
是三种循环中使用最多的,形式如下:
for(表达式1;表达式2;表达式3)
语句;
- 表达式1:循环变量的初始化,也可以直接定义并初始化
- 表达式2:循环结束条件的判定(为真则继续执行,假则终止)
- 表达式3:改变循环变量
判断流程:先执行表达式1初始化循环变量,而后判定表达式2,为假则直接结束循环,为真则进行循环执行语句,执行完后再执行表达式3改变循环变量,再判定表达式2......如此循环往复,直到表达2为假时停止循环。
例:打印1~10的值
#include <stdio.h>
int main()
{
for(int i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
运行结果:
4.break,continue和goto语句
1:break:
用于永久的终止循环,只要break被执行,直接跳出循环,继续往后执行。
for (...)
{
for (...)
{
for (...)//只有这层for循环会终止循环
{
...;
break;
}
}
}
while (...)
{
while (...)
{
while (...)//只有这层while循环会终止循环
{
...;
break;
}
}
}
2:continue:
跳出本次循环中continue后的代码,类似于break,但break是直接终止循环,continue只是跳出本次循环中continue后的代码。
3:goto语句:
可以实现在同一个函数内跳转到设计好的标号处。
在刚才讲break时,我们发现break在多层嵌套中只能跳出单层循环,那么我们如果想要直接跳出多层循环的话该怎么办呢?——这时候当然就要用上我们的goto语句了,以刚刚在break处的代码为例,如图:
for (...)
{
for (...)
{
for (...)
{
...;
goto next;//设置了一个标号next,也可以设置其他的如again,into等,跳出所有循环,当程序运行到此处时将跳转到next后面的语句
}
}
}
next:
...//程序从这里开始执行语句
注:goto虽然在跳出多层嵌套时嘎嘎好用,但也尽量少用哦,否则容易使程序跳来跳去,逻辑混乱。