一、C语言中的循环语句

while 循环

while(//条件语句)
{
  //语句块
}

执行的逻辑:在执行到while()这一行时,会根据条件语句的真和假来判断是否继续进行循环,若条件语句为真则继续循环,如果条件为假则结束循环。

do while循环

do
{
//语句块
}
while(条件语句);

执行的逻辑:和while类似,但是要注意,这个循环内的语句至少do一次,而上面的while如果不满足条件语句则可以一次都不执行。

for 循环

for(语句块1;判断条件;语句块3)
{
	语句块2;
}

执行的逻辑:通俗地理解,语句块2插到判断条件和语句块3之间,看做插入后for()括号内从左到右执行,而第二次的时候,跳过语句块1,直接到判断条件的部分,如果为真,则继续执行,如果为假则退出循环。

以上就是常见的三种循环语句的写法,可以试着自己写一个简单的流程图方便理解。

二、给循环加点料:break 和 continue 的使用

下面以while循环为例:

while(//条件语句)

{

  //语句块1
  break;
  //语句块2
  break;

}

此处break的效果为跳出循环,何为跳出循环,在循环内,执行到break语句,会直接跳出循环体,语句块二将不会被执行,后面的一个break也不会执行。

而continue语句是跳回到循环的while语句刚开始执行的部分,即条件语句,再次判断条件,开始新的一次循环,也就是说在上一次循环中,continue语句以后的语句将不会被执行,continu和break语句的执行方向“分道扬镳”了。

三、分支语句

常见的分支语句

多if语句:

if(条件语句1)
{
  语句块1
}
if(条件语句2)
{
  语句块2
}

执行的逻辑:如果if()括号内的条件语句为真,则进入对应的语句块,不满足就直接跳过,执行后面的代码。

if else 语句

执行的逻辑:与上一个不同的是,此处的分支具有互斥性,进入了某一个分支就不会进入其他分支。

if(条件语句1)
{
  语句块1
}
else if(条件语句2)
{
  语句块2
}
else
{
  语句块3
}   

此处的else怎么理解呢?else可以看成是帮前面的if    else if语句 “擦屁股”,前面的都没进去,else内的语句会执行。

注意,if else语句中可以不包含else if语句。

下一篇文章我将写关于分支语句在循环语句中的应用,让循环语句更灵活。