前言:从这篇文章开始,博主将会陆续不定期更新几期C语言中重要的基础语法知识。
目录
一.什么是循环
1.循环的定义
2.三大循环体
二.循环体讲解
1.while循环
2.do while循环
3.for循环
三.循环里的两大关键字
1.continue
2.break
循环,顾名思义,就是循环呗哈哈哈,就像那种螺旋的滑滑梯一样,一圈一圈,一层一层的,循环语句会在你所设定的限制条件下不断地重复执行。
while循环又叫做“当型循环”,当你满足我这个限制条件时我才循环。
while的语法结构:
while(表达式)
{
循环语句;
}
while后的()里的表达式即为判断条件,只有当表达式为真时,才会进入while循环并执行循环语句。
简单代码展示:
//打印1-10的数字
#include
int main()
{
int i = 1;
while(i <= 10)
{
printf("%d ",i);
i++;
}
return 0;
}
同while循环一样,do while也是在表达式为真的前提下才会执行循环。
do while的语法结构:
do
{
循环语句;
}while(表达式);
do while循环与while循环唯一的不同之处便在于,do while循环至少会执行一次,而while循环可能一次都不会执行。
如上代码,明明表达式为假,但是依然会打印出1,这就是do while循环的妙用之处,为什么呢?因为代码都是从上往下一条一条执行的,do while的判断条件在循环语句之后,所以自然是先执行循环语句,再进行判断。
for循环可谓是三个循环中的老大哥,也是用途最广的循环体。
for循环的语法结构:
for(初始化;判断表达式;调整语句)
{
循环体;
}
for循环是将初始化,判断表达式,以及调整语句整合到一起,而仅仅只需要在循环体中输入你要循环的内容即可。它的执行顺序是:初始--->判断--->判断通过--->执行循环体--->调整语句--->判断--->判断不通过--->结束循环。
#include
int main()
{
int i = 1;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
这里我们再补充一些for循环的变种用法:
for( ; ; )
{
printf("hehe");
}
for循环里的初始化,判断语句,调整语句都是可以省略的,要注意的是,当判断语句被省略时,将被默认恒为真,即死循环的打印“hehe”。
int i = 0;
int j = 0;
for (; i < 3; i++)
{
for (; j < 3; j++)
{
printf("hehe\n");
}
}
给定这样一个嵌套循环代码,会打印出多少个“hehe”呢?
答案是:3个。
这就要谈到初始化了,当第一次内层循环执行完之后,j = 3,这时候在第二次执行内层循环时,j因为没有被初始化为某个数字,所以j依然为3,所以便不满足判断条件,不再执行。
int i = 0;
for (i = 0; i = 1; i++)
{
printf("hehe");
}
这样一个代码,会打印多少个“hehe”?
答案是:无数个,死循环的打印。
要注意的是这里的i = 1,是判断语句吗?并不是,它其实是一个赋值语句,并且是把1 赋给了i,所以判断条件一直为真,便会死循环的打印。
continue,其英文含义即为“继续”,当它用在循环语句中时,会立即结束当前循环,停止其后边的语句的执行并重新开始循环。
#include
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d", i);
if (i == 5)
continue;
i++;
}
return 0;
}
来看上述代码,这个代码的输出结果会是什么呢?
你猜对了吗?
没错,在打印出1,2,3,4之后,它会死循环的一直打印5。为什么呢?当我们满足i==5这个条件时,if语句便会执行,continue这时候便要作妖了,它直接终止了后边i++的执行,并重新开始循环,这时候i一直为5,便会一直执行continue,i不再会++,所以便会死循环的打印5。
break,其英文含义即为“打破”,当它出现在循环语句中时,不管在什么位置,只要它一出手,便会直接打破整个循环,整个循环便不再执行,直接执行循环后边的语句。
#include
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
if (i == 5)
break;
i++;
}
printf("循环被打破了");
return 0;
}
同样是这样一个代码,它又会输出什么结果呢?
是的,当我们循环打印到5的时候,if语句执行,break它出手了,直接结束了i= 5之后的整个循环,然后执行循环后printf的语句。
本次关于循环的知识分享到这里也要结束啦,如果大家对于我的分享有任何的疑问或者补充,欢迎评论私信哦。
喜欢博主文章的小伙伴不要忘记一键三连哦,我们下期再见!