1、for循环
for循环是三种循环中使用最多的
1.1 for循环语法形式
for循环的语法形式如下:
for(表达式1;表达式2;表达式3)
{
循环体;
}
表达式1:循环变量的初始化
表达式2:循环执行的条件
表达式3:循环变量的自加或自减
1.2 for循环的执行流程
首先执行表达式1:初始化循环变量,接着执行表达式2:判断内容,表达式2的结果如果==0,则循环结束或循环不执行;表达式2的结果如果!=0,则执行循环语句,循环语句执行完后,最后执行表达式3:调整循环变量,然后再去表达式2执行判断,表达式结果是否为0决定循环是否执行。
在循环过程中,表达式1的初始部分只执行一次,剩下就是表达式2、循环语句、表达式3循环。
在循环过程中,每做一次循环,循环变量的值就会发生改变
而循环执行的条件与循环变量的值相关,所以每一次循环后都会再做一次判断,
直到循环变量的值不满足执行条件,则循环结束。
1.3 for循环的实践
举例:在屏幕上打印1-10的数
int main()
{
for (int i = 1; i <11 ; i++)
{
printf("%d ", i);
}
return 0;
}
运行结果
2、while循环
2.1 while语句的形式
while(表达式)
{
循环语句;
}
其中括号内的表达式为循环是否执行的判断条件
同样,当循环语句只有一句时,{}可以省略不写
while循环与if语句的语法形式非常相似,可以对比参考
2.2 while循环的执行流程
首先上来执行表达式,表达式结果为真,则执行循环语句;为假,则不执行while循环;
当一次while循环执行结束后,代码又会回到表达式进行判断,然后执行循环语句,直到表达式结果为0即条件不满足,则结束循环。
2.3 while循环的实践
举例:输出1-10的数字
int main()
{
int i = 1;
while (i<11)
{
printf("%d ", i);
i++;
}
return 0;
}
打印结果为:
3、 while循环和for循环的对比
从上面打印1-10的数字的代码可以看到for循环与while循环的一些区别
能看出,for循环和while循环都有初始化、判断、调整这三个部分 ,但是不同的是,
for循环的三个部分非常集中,都在一个()内,便于代码的维护,
而while循环三个部分就会比较分散,所以在形式上,for循环要更优秀些
4、 do-while循环
4.1 do-while循环的语法形式
do
{
循环语句;
}while(表达式);
当循环语句只有一句时可写成一下形式:
do
循环语句;
while(表达式);
在do while循环中,循环是先进入循环体,执行循环语句,然后再执行while后的判断表达式,表达式为真,则再执行一次,表达式为假则不再继续循环。
区别于for循环和while循环,这两者都是先进行判断,条件满足才执行循环;
而do while循环是先执行循环再进行判断,即do while循环至少都会执行一次;
4.2 do-while循环的实例
1、在屏幕上打印1-10的数字
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i<11);
return 0;
}
2、利用do while循环特性的循环
输入一个正整数,判断这个数是几位数
int main()
{
int n=0;
scanf("%d", &n);
int count = 0;//记录位数
do
{
count++;
n = n / 10;
} while (n);
printf("您输入的是一个%d位数\n", count);
return 0;
}
这里不是一定要用do while循环,但是它比较适合do while循环,无论如何循环也会至少执行一次,因为即使n是0,也是一位数,也要统计数位。