前言
在上期中,我们掌握了 if 语句:
if(条件) 语句;
当条件满足的情况下,if语句后的语句执行,否则不执行。
但是这个语句只会执行一次。
很多情况下我们执行的某件事情需要反复执行,这时我们就需要使用 while 语句来实现循环。
1.1、while
while 语句如下:
while(表达式) 循环语句;
我们来看下面的例子,来更好的学习它。
#include <stdio.h> int main() //在屏幕上打印1~10 { int i = 1; while(i<=10) //当i<=10时为真,执行while里的语句 { //当i=11时为假,不执行while里的语句 printf("%d ", i); i = i+1; //每次打印完i加一,再回到(i<=10)进行判断 } return 0; }
1.2、while语句中的break和continue
在上期的 switch 中,我们了解了 break ,那它在 while 语句中又是怎样的呢?
话不多说,我们上代码:
#include <stdio.h> int main() //大家觉得最终输出结果是什么呢? { int i = 1; while(i<=10) { if(i == 5) break; printf("%d ", i); i = i+1; } return 0; }
输出结果:1 2 3 4
从这个输出结果我们可以猜出 break 的作用就是退出循环了
下面我们再来看一下 continue 作用,话不多说直接上代码:
#include <stdio.h> int main() //大家可以猜猜这个代码输出结果是啥 { int i = 1; while(i<=10) { if(i == 5) continue; printf("%d ", i); i = i+1; } return 0; }
输出结果:1 2 3 4
那么 continue 的作用是什么呢?
continue是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
2.1、for循环
我们来看一下 for 循环的语法:
for(表达式1; 表达式2; 表达式3) 循环语句;
表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。
我们来看个简单例子:
#include <stdio.h> int main() //打印数字1~10 { int i = 0; for(i=1; i<=10; i++) printf("%d ", i); return 0; }
对比 while 循环,for 循环更加简洁明了,更容易修改。
所以 for 循环的使用频率最高。我们也优先选择 for 循环。
2.2、for循环中的break和continue
在for循环中也可以使用break和continue,break 的作用不变,continue 略有差异。
我们上代码来看看吧
#include <stdio.h> int main() { int i = 0; for(i=1; i<=10; i++) { if(i == 5) continue; printf("%d ",i); } return 0; }
我们来看输出结果吧 :1 2 3 4 6 7 8 9 10
这里的 continue 作用是直接回到 for 后面的 i++ ,也就是表达式3,使得5没有被打印。
3.1、do…while()循环
do语句的语法:
do 循环语句; while(表达式);
do语句的特点:
循环至少执行一次,使用的场景有限,所以不是经常使用。
#include <stdio.h> int main() { //打印1~10 int i = 1; do { printf("%d ", i); i=i+1; } while(i<=10); //若i<=10,进入循环语句 return 0; }
3.2、do while循环中的break和continue
break 作用还是退出循环
我们来看看 continue 吧
#include <stdio.h> int main() { int i = 1; do { if(5 == i) continue; printf("%d ", i); i=i+1; } while(i<=10); return 0; }
输出结果:1 2 3 4
那么 continue 的作用也就很明显了,就是直接去到 i<=10 ,也就是表达式里进行判断。
总结
break和continue的用法大同小异,记住这几点就没错了:
1、break 是退出该循环。
2、continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,而是直接跳转到循环语句的判断部分(for 循环是跳到表达式3)。
最后
如果有错误的地方还请大家指出,有问题也可以在评论区讨论,我们下期见。