前言
🌈✨哈喽大家好,上次小怡给大家分享了选择结构,这次来给大家分享循环结构,也就是for循环,while循环,和do while循环!
1. while循环
1.1 while 的用法
while语句的用法和if语句非常相似。用法如下:
while(表达式)
{
语句;
}
首先就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行完后再继续判断,是否进行下一次判断。
//在屏幕上打印1~10的值
#include <stdio.h>
int main()
{
int i=1;
while(i<=10)
{
printf("%d",i);
i=i+1;
}
return 0;
}
1.2 while的执行流程图
首先上来就是执行循环判断表达式,表达式是假的,则循环直接结束;表达式是真的,则执行循环语句,语句执行完后再继续判断,是否进行下一次判断。
1.3 死循环
while语句和if语句的区别是,while语句是可以实现循环效果的。
2.do while循环
在循环语句中,do while 语句的使用最少,语法如下:
do
语句;
while(表达式);
while和for这两种循环都是先循环,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;
而do while循环则是先直接进入循环体,执行循环语句,然后再执行while后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。
2.1 do while的执行流程图
在do while循环中先执行循环结构,执行完再去执行循环判断,判断表达式是真的,则继续循环,执行循环结构;判断表达式的结果是假的,则循环结束。
所以,do while语句中的循环体是至少执行一次的,这是do while循环比较特殊的地方。
2.2 do while的实例
比如:在屏幕上打印1~10十个数字
3.for循环
3.1 for的语法形式
注:for循环是三种循环里使用最多的哦。
for(表达式1;表达式2;表达式3)
语句;
表达式1 用于循环变量循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整
3.2 for循环的执行流程
这里的循环控制变量初始化就是表达式1,循环判断就是表达式2,循环结构变量就是表达式3;
3.3 for循环的实例
比如:在屏幕上打印1~10十个数字
3.4 while循环和for循环的对比
for和while在实现循环的过程中都有初始化、判断、调整这三个部分,但是for循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候while循环的三个部分就比较分散,所以从形式上for循环更优一些。
4.break和continue语句
continue语句是用于跳过本次循环的continue后的代码,直接去判断部分,看是否进行下一次判断。
4.1 while循环中的break和continue
4.1.1 break举例
#include<stdio.h>
int main()
{
int i=0;
while(i<10)
{
if(i==5)
break;//i=5后,就执行break,循环就终止了
printf("%d",i);
i=i+1;
}
return 0;
}
执行结果:1 2 3 4
4.1.2 continue举例
#include <stdio.h>
int main()
{
int i=1;
while(i<=10)
{
if(i==5)
continue;//当i=5后,就执行continue,跳过了i=i+1,所以i一直为5,陷入死循环
printf("%d",i);
i=i+1;
}
return 0;
}
4.2 for循环中的break和continue
4.2.1 break举例
#include<stdio.h>
int main()
{
int i=1;
for(i=1;i<=10;i++)
{
if(i==5)
break;
printf("%d",i);
}
return 0;
}
4.2.2 continue举例
#include<stdio.h>
int main()
{
int i=1;
for(i=1;i<=10;i++)
{
if(i==5)
continue;//跳过了后边的打印,来到了i++的调整部分
printf("%d",i);
}
return 0;
}
4.3 do while循环中的break和continue
4.3.1 break举例
#include<stdio.h>
int main()
{
int i=1;
do
{
if(i==5)
break;
printf("%d",i);
i=i+1;
}while(i<=10);
return 0;
}
4.3.2 continue举例
#include<stdio.h>
int main()
{
int i=1;
do
{
if(i==5)
continue;
printf("%d",i);
i=i+1;
}while(i<=10);
return 0;
}
🌈✨这次的分享就到这里结束啦,小怡和大家一起学习,一起进步,“有风雨是常态,风雨兼程是状态,风雨无阻是心态”,我们要努力,这样才能不辜负曾经被给予厚望的自己!