目录
前言:
continue与break都是用于循环语句的,帮助我们更好的控制循环流程,
我们以while循环为例,来深度解析continue与break语句:
这是while语句的基本结构,结合continue与break,我们来分析一下:
当判断条件为真(即 非0) 时,就会执行循环中的语句,
当我们遇到break语句时,就会直接跳出循环,
当我们遇到continue语句时,又返回判断条件了,进行下一次循环,
那么他的底层逻辑到底是怎么样的呢?
我们来一层层解析:
break:
break语句就是直接终止退出循环
循环中遇到break语句,无论你的循环进行到什么地方,他都会直接将你拽出循环,执行循环后面的语句,
就好比你在房间里工作,突然发生了大地震,这时我们无论在干什么都要立即终止,跑出房间。
下面写一个代码来感受一下:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
if (5 == i)
{
break;
}
printf("%d ", i);
i++;
}
return 0;
}
从 i = 1 进入循环,i != 5,不执行if语句,继续向下走,打印 i , i++
i = 2 i != 5,,不执行if语句,继续向下走,打印 i , i++
i = 3 i != 5,,不执行if语句,继续向下走,打印 i , i++
i = 4 i != 5,,不执行if语句,继续向下走,打印 i , i++
i = 5 符合if 语句的判断条件,执行break语句,直接跳出循环,执行 return 0;
所以,该代码的结果为:1 2 3 4
continue:
continue就是只跳过本次循环,也就是本次循环中continue之后的语句不会再执行了,直接进行下一次循环。
continue语句与break语句有些相似,都是不再进行本次循环后面的语句,但break语句是直接跳出循环,而continue语句只是不执行本次循环后面剩余的代码,但是他要跳到下一次循环,他还是处于循环之中的。
下面写一个代码来感受一下:
#include <stdio.h>
int main()
{
int i = 0;
while (i < 10)
{
i++;
if (5 == i)
{
continue;
}
printf("%d ", i);
}
return 0;
}
和上面的代码差不多,将break换成continue,
从 i = 0 进入循环,
i++( i = 1),i != 5,,不执行if语句,打印 i ,
i++( i = 2),i != 5,,不执行if语句,打印 i ,
i++( i = 3),i != 5,,不执行if语句,打印 i ,
i++( i = 4),i != 5,,不执行if语句,打印 i ,
i++( i = 5),i = 5,,符合if 语句判断条件,执行if语句,遇到continue,跳出本次循环,执行下一次循环,
i++( i = 6),i != 5,,不执行if语句,打印 i ,
i++( i = 7),i != 5,,不执行if语句,打印 i ,
i++( i = 8),i != 5,,不执行if语句,打印 i ,
i++( i = 9),i != 5,,不执行if语句,打印 i ,
i++( i = 10),i != 5,,不执行if语句,打印 i ,
此时 i = 10 不符合while语句判断条件,退出循环,执行return 0;
所以,该代码的结果为:1 2 3 4 6 7 8 9 10
总结:
break 语句 :直接跳出循环
continue 语句 :跳过本次循环,执行下一次循环
好了,本期内容就到这里,感谢大家的阅读,后续会只需更新更多的优质内容,点赞关注不迷路!!!
感谢大家的支持!!!
下期再见!!!