提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
2.2 while语句中的 break 和 continue
4.3 do.....while循环中的break 和 continue
前言
全文2000字左右,主要讲的是循环语句,包括不同情况不同的例子,可以细细品味一下,任何问题可以在评论区发言,看到都会回复。
一、循环语句
1.1什么是循环语句?
c语言中包括了循环结构,那么为了实现循环结构,诞生出一种语句叫循环语句,主要为了实现让程序满足一定条件下进行循环往复的实现。
下面用一个图像举例
这就是一个循环结构,通过学习或者买彩票中奖最终都可以迎娶白富美。
1.2循环语句关键词都有哪些呢?
- while
- for
- do while
下面我们对这几个关键字进行依次详细的讲解。
2.1while 循环
上一篇文章我们已经讲过了if语句,其中if语句的结构:
if(条件)
语句;
当if中条件为真时,if后的语句执行,否则不执行。但是语句只会执行一次。
而while循环和if结构相似
//while 语法结构
while(表达式)
循环语句;
while 语句的执行的流程:
那么我们如何使用while语句,我来给大家具体举一个例子
在屏幕上打印1-10数字
这段代码帮我们了解了while语句的基本语法,那么我们接下来再了解一下:
2.2 while语句中的 break 和 continue
break介绍
先看一段代码:
这段代码输出的结果会是什么呢?
为什么会出现这样的结果呢?
这里就必须说到break的作用了。
break 在循环中的作用:
其实在循环中只要遇到break,就会停止后期的所有的循环,直到终止循环。
所以:while中的break是用来永久终止循环的。
continue介绍
先看一段代码:
这里的代码输出结果会是什么?
因为当 i == 5为真时,continue会执行,而continue执行的时候程序的逻辑会直接跳过continue后面的代码回到while的判断部分。如图:
再来看一段代码:
这个的结果会是什么呢?
总结:continue在while循环中的作用是:
continue是用来结束本次循环的,也就是本次循环中continue 后面的代码不再回执行。
而是直接跳转到while语句的判断部分。进入下一次语句的入口判断。
3.1for循环
我们已经学习过while循环,但是我们为什么还要去一个for循环呢?
这种情况下我们使用for 循环就好多了。
for循环的语法:
for(表达式1:表达式2:表达式3)
循环语句;
表达式1:
表达式1为 初始化部分,用于初始化循环变量的。
表达式2:
表达式2为 条件判断部分,用于判断循环时候的终止。
表达式3:
表达式3为 调整部分,用于循环条件的调整。
那么如何去解决实际问题呢?
例如:利用for循环打印1-10数字
for循环的执行流程图:
对比一下while 和 for循环
int i = 0;
//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
printf("hehe\n");
i = i+1;//调整部分
}
//实现相同的功能,使用while
for(i=1; i<=10; i++)
{
printf("hehe\n");
}
可以发现while循环中依旧存在循环的三个必要条件,但是由于风格的问题使三个部分很可能偏离比较远,这样修改不方便,所以for更胜一筹。
3.2break 和continue 在for循环中
我们发现在for循环中也可以出现break和continue ,他们的意义和在while循环中一样的。
但是有一些差异。
break跳过循环。
continue 跳过本次循环的后边部分。
3.3for语句的循环控制变量
建议:
- 不可以在for循环中修改变量,防止for循环失去控制。
- 建议在for循环的判断范文采取”前闭后开“的原则。
3.4一些for循环的变种
1.大家看下一段代码
结果会是死循环,因为for循环的判断部分为空,默认为真,判断一直为真,所以死循环打印 hehe
2.
答案是100个hehe
3.看下面一段代码
答案是:10次
因为省略初始化部分以后 当j = 11的时候,下面for的判断条件不满足。
4.1 do....while()循环
do语句的语法:
do
循环语句;
while(表达式);
do.....while() 循环的执行流程图:
4.2 do....语句的特点
循环至少执行一次,适用的场景有限,所以不是很常用。
举一个例子 用 do语句打印1-10数字:
4.3 do.....while循环中的break 和 continue
1.break:当满足一定会条件使用break会跳出循环。
2.continue:当满足一定条件时跳过continue后面的代码,直接进入,循环的判断部分。