目录
一、for循环
1.描述
2.语法
3.流程
4.例如,使用for循环打印1—9之间的数字。
二、while循环
1.描述
2. 语法
3.流程
4.例如,用while循环来计算1到10的数字之和
三、do...while循环
1.描述
2.语法
3.流程
4.例如,用do...while循环来输出数字1到5
四、三个循环的区别
1.for循环、while循环与do…while循环
(1)执行顺序差异
(2)循环体执行次数
(3)适用场景
2.for循环与while循环的具体区别
(1)初始化部分
(2)循环条件位置
(3)使用场景偏好
一、for循环
1.描述
用于已知循环次数的场景
2.语法
for(初始化,条件,迭代){
循环体
}
3.流程
(1)初始化:首先执行初始化表达式,通常用于设置循环控制变量的初始值,且仅在循环开始前执行一次。(执行表达式1)
(2)条件判断:然后评估条件表达式,如果值为真true(非0),则执行循环体。(计算表达式2)
(3)循环体执行:如果条件为真,执行循环体中的代码。(执行语句块)
(4)迭代更新:执行完循环体后,再执行迭代表达式,通常用于更新循环控制变量。(执行表达式3)
(5)重复过程:重复执行步骤(2-4),直到条件为假(值为flase),循环结束。
4.例如,使用for循环打印1—9之间的数字。
#include<stdio.h>int main(){ int i; for(i=0;i<10;i++){ printf("%d",i); } return 0;}
二、while循环
1.描述
当条件为真时,执行循环体。2. 语法
while(条件){
循环体
}
3.流程
(1)计算“表达式”的值。
(2)当值为真(非0),执行“语句块”,然后返回(1)重复执行;
(3)直到表达式值为假(0),退出循环。
4.例如,用while循环来计算1到10的数字之和
#include<stdio.h>int main(){ int i = 1; int sum = 0; while (i <= 10){ sum = sum + i; i++; } printf("%d",sum); return 0;}
三、do...while循环
1.描述
至少执行一次循环体,然后当条件为真时继续执行
2.语法
do{
循环体
}while(条件);
3.流程
(1)执行语句块。
(2)计算表达式的值,如果为真(非0),则回到(1)重复执行。
(3)直到表达式的值为假(false),退出循环。
4.例如,用do...while循环来输出数字1到5
#include<stdio.h>int main(){ int i = 1; do{ printf("%d",i); i++; }while (i <= 5); return 0;}
四、三个循环的区别
1.for循环、while循环与do…while循环
(1)执行顺序差异
for循环:按照“初始化;条件判断;循环体执行;更新迭代”的顺序执行。
while循环:先判断条件是否成立,若成立则执行循环体,执行完后再次判断条件,直到条件不成立为止。
do…while循环:先执行一次循环体,然后判断条件是否成立。若成立,则继续执行循环体;若不成立,则结束循环。
(2)循环体执行次数
for循环:如果初始条件不满足条件判断部分,循环体可能一次都不执行。
while循环:和for循环类似,如果一开始条件不成立,循环体不会执行。
do…while循环:循环体至少会执行一次,因为是先执行循环体再判断条件。
(3)适用场景
for循环:适用于已知循环次数的情况。 比如打印从1到100的数字,计算一个整型数组中所有元素的平均值等。
while循环:适用于不知道循环次数,只知道循环结束条件的情况。比如要求用户输入一个正数,程序会一直提示用户输入,直到输入的是正数为止;计算一个数的阶乘,当输入一个非负整数 n 时,计算 n 的阶乘,程序会在 n 大于等于0的情况下进行计算。
do…while循环:适用于至少需要执行一次操作,然后根据条件判断是否继续执行的场景。比如数据验证输入要求用户输入一个大于10的数字,并且至少要让用户输入一次;还有比如菜单选择程序,当需要至少执行一次菜单操作,然后根据用户选择决定是否继续。
2.for循环与while循环的具体区别
(1)初始化部分
for循环可以在括号内声明和初始化循环变量,这个变量的作用域通常仅限于循环内
while循环在循环之前初始化变量,变量作用域可能更广。
(2)循环条件位置
while循环只强调条件判断部分,条件写在开头;
for循环将初始化、条件判断和更新操作集中在一起,结构更清晰,能让人一眼看清循环的起始条件、结束条件和变量更新方式。
(3)使用场景偏好:
当确切知道循环次数时,for循环更合适。
如果循环次数不确定,仅由某个条件控制是否继续循环,while循环更自然。