我们知道,在if语句中,当条件满足的情况下,if语句后的语句执行,否则不执行。但是这个语句只会执行一次。
但我们生活中很多例子是:同一件事情我们需要完成很多次。在这个时候我们就可以用循环来实现。
目录
1、while循环
while循环语法结构:
while(表达式)
循环语句;
·while语句的执行流程
比如我们要实现在屏幕上打印1-10的数字:
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++; //每次打印结束让i+1
}
return 0;
}
在while的()中,我们放置循环的判断条件,判断为真则执行语句,判断为假跳出循环。
·break和continue
在while循环中,遇到break则停止后续所有的循环,用于永久终止循环;遇到continue用于终止本次循环,直接跳转到while语句的判断部分。
代码实例一:
#include<stdio.h>
int main()
{
int i = 0;
while (i < 10)
{
if (i == 5)
break;
printf("%d ", i);
i++;
}
return 0;
}
上述代码在 i == 5 时执行了break语句,所以运行结果会是什么呢?
所以我们可以得出,在遇到 break 后,整个循环终止跳出。
代码实例二:
#include<stdio.h>
int main()
{
int i = 0;
while (i < 10)
{
if (i == 5)
{
i++;
continue;
}
printf("%d ", i);
i++;
}
return 0;
}
上述代码在 i == 5 时执行了 continue 语句,所以运行结果会是什么呢?
所以我们可以得出,在遇到 continue 后,结束当次循环。回到判断部分重新判断,如果为真,则继续循环。
2、for循环
for(表达式1 ; 表达式2 ; 表达式3)
循环语句;
表达式1:为初始化部分,用于初始化循环变量
表达式2:为条件判断部分,用于判断循环何时终止
表达式3:为调整部分,用于循环条件的调整
·for语句的执行流程
比如我们要实现在屏幕上打印1-10的数字:
#include<stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
在 for循环中,表达式一我们给循环变量赋初值;表达式二判断为真则执行语句,判断为假跳出循环;表达式三用于调整循环条件,使其越来越接近判断条件,否则会死循环。
·break和continue
在for循环中,遇到break则停止后续所有的循环,用于永久终止循环;遇到continue用于终止本次循环,直接跳转到表达式二语句的判断部分。
代码实例一:
#include<stdio.h>
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
if (i == 5)
break;
printf("%d ", i);
}
return 0;
}
上述代码在 i == 5 时执行了break语句,所以运行结果会是什么呢?
所以我们可以得出,在遇到 break 后,整个循环终止跳出。
代码实例二:
#include<stdio.h>
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
if (i == 5)
continue;
printf("%d ", i);
}
return 0;
}
上述代码在 i == 5 时执行了 continue 语句,所以运行结果会是什么呢?
所以我们可以得出,在遇到 continue 后,结束当次循环。回到判断部分重新判断,如果为真,则继续循环。
3、do while循环
do while 语句与 while 语句不同的是,do while 语句无论如何都会执行一次,而后再进行条件判断。
do
循环语句;
while(表达式);
·do while 语句的执行流程
比如我们要实现在屏幕上打印1-10的数字:
#include<stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
return 0;
}
其中,break 与 continue 的使用方法与while循环语句和for循环语句的使用方法一致。
4、注意!
在循环内,不可修改循环体的变量,防止循环失控!
例如:
#include<stdio.h>
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
i--;
}
return 0;
}
运行结果如下:
我们可以看到,代码陷入了死循环。因为我们修改了循环体的变量,导致循环失控。所以我们在平时一定要着重注意不要犯这个错误!
以上就是 C语言基础:详解for、while、do…while(超详图解)的全部内容了,希望能对你有所帮助!