循环语句、break与continue

一、for语句

for(表达式1;表达式2;表达式3)//表达式2为判断语句:若真->语句块;若假不执行
{
   语句块;//若加入break;跳出时不执行表达式4
}

单次循环执行顺序:表达式1—>表达式2—>语句块—>表达式3
for循环的嵌套:最开始进入的是第一层for循环,再进入第二层for循环,一直到最后一层for循环执行完,再依次返回上一层for循环一次,完成单次循环。进入下一层循环,一直到所有循环结束。
这里写图片描述
二、while语句

while(表达式)//循环条件
{
     语句块;//循环体
}

单次循环执行顺序:先计算表达式的值,当值为真(非0)时, 执行循环体语句;执行完循环体语句,再次计算表达式的值。
如果为真,继续执行循环体……这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行后面的语句。其执行过程如下图所示:
这里写图片描述
三、do-while 语句

do
{
    语句块
}while(表达式);

先执行循环体,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while 循环至少要执行一次循环体。其执行过程可用下图表示:
这里写图片描述
四、while与do-while
(1)循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。
(2)循环变量需在循环体内手动添加自增或自减,而for循环可以在表达式3中实现循环变量的变化。
五、for、while、do-while
1、特点:
for循环:
多用于指定初始值和已知终止条件的循环(有点儿类似于do while ,多出的功能是初始化条件,如果把第一个条件添空,则相当于while循环)
while循环:
在循环开始前判断是否满足条件进行循环(通过在循环前添加初始化语句可以达到for循环效果)
do while循环:
无初始条件,循环体执行过后判断是否继续进行循环,也就是说,它无论如何都会执行一次
2、增加程序灵活性
(1)可通过添加if语句互相代替:
do-while外嵌if语句达到while循环效果,在while之前加初始化语句可达到for循环语句。
(2)执行次数:
do-while循环至少执行一次循环体,而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
(3)适用范围:
for一般用于循环次数确定的场合,while和do while用于循环次数不确定的场合,do while适合用于写了循环体后才好写表达式的场合,例如:辗转相除法求两数的最大公约数 。
六、break与continue
break语句:结束循环;使程序跳到switch或者整个循环体后面 的语句处继续执行。
continue语句:结束本趟循环;使程序跳过switch或者循环体内continue后面的语句,继续新一轮的循环。
(1)均可用于循环语句;仅break可用于switch语句,表示跳出整switch块。
(2)

for (int i = 0; i < 5; i++)
{
      if(i == 3)
      {
              break;
      }
      else
      {
            printf("%3d", i);
      }
}
   ```
   打印结果为0 1 2 

for (int i = 0; i < 5; i++)
{
      if(i == 3)
      {
             continue;
      }
      else
      {
            printf("%3d", i);
      }
}

   打印结果为0 1 2 4

猜你喜欢

转载自blog.csdn.net/qq_39191122/article/details/78827719