C语言常见三大循环语句(while,do…while,for循环语句)
目录
1 while循环语句
2 for循环语句
3 do…while循环语句
1 while循环语句
以下为while语句的标准形式,其中while后面的括号中为判断表达式;判断表达式得出的值只有两种为0和非0若为0,判断式为假不执行接下来括号里面的语句,不执行循环。若不为0,判断式为真,执行接下来括号内的语句,开始循环。
举例说明:打印1到10的值。
n<=10为判断表达式,n的初始值为1,1<10,所以判断值为真,执行括号里的语句,开始循环,语句的意思是先输出此时n的值然后让n的值加1(n++的意思是让n+1),最后开始第二次循环,以此类推,直到n>10,跳出循环(结束)。
2 do…while循环语句
以下为do…while的标准形式,与while循环语句不同的是加了个do,while语句放到执行语句的后面并且加了分号,特殊的是,do…while语句先执行语句再进行判断,也就是说这个语句最少会执行一次,最重要的一点是while后面一定要加分号(分号是一条语句结束的标志),另外,执行语句如果是多条语句的话,必须要加上花括号{}。
举例说明:打印出1到100自然数的和。
先执行do下面的执行语句,然后进行判断,j是否小于等于100,如果小于等于100,开始循环,直到j>100,结束循环,最终算出1到100的和是5050.
3 for循环语句
for循环语句有三个表达式,表达式1是指定变量初始值(表达式1可以省略不写,如果不写必须在定义变量的时候就给变量赋初值),表达式二可以说是给表达式一指定的范围,让其在有限范围内循环执行语句并且判断变量是否处于规定范围内,表达式3是每一次循环执行后对变量的调整,用来规范指定变量的变化,三个表达式的执行顺序是依次执行。如果循环执行的语句是多条语句就必须要用花括号把执行语句括起来
举例说明 输出所有水仙花数(水仙花数前提是必须是一个三位数,而且个位数的立方和,十位数的立方和,百位数的立方和,相加起来等于这个数。比如153这个数,1的三次方+5的三次方+3的三次方=153)
#include<stdio.h>//方法一
int main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d ",i);
}
}
printf("\n");
return 0;
}
#include<stdio.h>//方法二
int main()
{
int i=100,a,b,c;
for(;i<=999;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d ",i);
}
}
printf("\n");
return 0;
}
由代码可知,方法一先执行表达式一,因为i=100在表达式二所规定的范围内,所以开始循环执行语句,但是每次执行语句后,i的值受表达式三限制,让i值加1,然后进行第二次循环,直到i的值>999结束循环。输出循环执行语句后的值。得出结果。
方法二虽然没有表达式1,但是提前给变量赋了初始值,可以进行循环,执行的过程和得出的结果和方法一一样。