在C语言中,循环是非常重要的。
C语言中提供了三种循环:while循环,for循环,do-while循环
1.while循环
while语句的语法结构和if十分类似。
1.1 while语句与if语句的对比
结构对比:
if(表达式)
语句;
while(表达式)
语句; //如果想有多条语句,要加大括号{}
两者对比:
#include <stdio.h>
int main()
{
if(1)
{
printf("hehe\n");//为真进入,打印一次hehe
}
return 0;
}
#include <stdio.h>
int main()
{
while(1)//非零为真,一直打印hehe,进入死循环
{
printf("hehe\n");
}
return 0;
}
这就是两者的区别,if满足条件进入后,只运行一次,而while满足条件进入后,一直重复,直至不满足条件后,跳出while循环。
1.2 while循环的执行流程
首先执行判断表达式,如果为假(表达式的值为0),不进入循环,循环直接结束;
如果为真(表达式的值不为0),进入循环,执行循环语句,语句执行完后再次执行判断表达式,判断是否为真,直至判断为假跳出循环。若恒为真,则进入死循环。
1.3 while循环的实践
在屏幕中打印1~10。
#include <stdio.h>
int main()
{
int i=1;
while(i<=10)//判断表达式
{
printf("%d \n",i);
i++;
}
return 0;
}
运行结果:
2.for循环(相对来说最常用)
2.1 for循环的语法形式
for(表达式1;表达式2;表达式3)
语句;//如果有多条语句,要使用大括号{}
表达式1:循环变量的初始化;
表达式2:循环结束条件的判断
表达式3:循环变量的调整
2.2 for循环的执行流程
首先表达式1初始化循环变量,然后执行表达式2进行判断,如果为假(==0)则不进入循环,结束;如果为真(!=0)则进入循环,执行循环语句,循环语句执行完后,再执行表达式3对循环变量进行调整,然后再进行表达式2进行判断,决定循环是否继续。
整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。
2.3 for循环的实践
在屏幕中打印1~10。
#include <stdio.h>
int main()
{
int i=0;
for(i=1;i<=10;i++)
{
printf("%d ", i);
}
return 0;
}
运行结果:
3 do-while循环
3.1 do-while的语法形式
在循环结构中,do-while循环是用最少。
do
{
语句;
}while(表达式);
while和for循环都是先先判断,为真才执行判断表达式,为假就跳出循环;
而do-while循环是先进入循环语句,再执行while的判断表达式,为真就进入下一次循环,为假就跳出循环,do-while循环至少执行一次。
3.2 do-while的执行流程
首先执行循环语句,然后执行判断表达式,为真(!=0)则继续循环,为假(==0)就跳出循环,do-while循环至少执行一次,这也是它的特殊之处。
3.3 do-while循环的实践
在屏幕上打印1~10 。
#include <stdio.h>
int main()
{
int i=1;
do
{
printf("%d ",i);
i++;
}while(i<=10);
}
运行结果:
小知识
goto语句
在C语言中有一个特别的语法, 就是goto语句,goto语句可以实现在同一个函数中跳转到设置的地方中。
例如:
#include <stdio.h>
int main()
{
printf("haha\n");
goto next;
printf("hehe\n");
next:
printf("heihei\n");
;
return 0;
}
打印完haha后,执行goto语句到next处,跳过了打印hehe,直接打印heihei。
执行结果: