C语言(八)– 循环

  • Post author:
  • Post category:其他


循环语句使我们可以多次执行一个语句或一组语句。

序号 循环类型和说明
1 while 循环


在给定条件为真时重复一个语句或一组语句。

2 for循环


多次执行一系列语句,并简化管理循环变量的代码。

3 do…while循环


它更像while语句,除了它在循环主体的末尾测试条件。

4 嵌套循环


可以在任何其他while,for或do..while循环内使用一个或多个循环。

While循环

语法:

while(condition) {
   statement(s);
}

statement(s)

可以是单一语句或语句块。所述

condition

可以是任何表达,和真正的是任何非零值。条件为真时,循环将迭代。


当条件变为假时,程序控制转到循环后的语句。

在这里,需要注意的关键是

while循环可能根本不执行

。当测试条件并且结果为false时,将跳过循环主体,并执行while循环之后的第一条语句。

#include <stdio.h>
 
int main () {
   /* 声明一个局部变量 */
   int a = 10;
   /* while循环控制输出 */
   while( a < 20 ) {
      printf("value of a: %d\n", a);
      a++;
   }
   return 0;
}

for循环


for

循环是一个重复控制结构,这样就有效地编写一个循环,需要执行的特定次数。

语法:

for ( init; condition; increment ) {
   statement(s);
}


这是“ for”循环中的控制流程-


  • 所述

    init

    步骤首先被执行,并且只有一次。此步骤允许声明和初始化任何循环控制变量。只要出现分号,就不需要在此处声明。


  • 接下来,

    condition

    。如果为true,则执行循环主体。如果为假,则不执行循环主体,并且控制流仅在“ for”循环之后跳转到下一条语句。


  • 在“ for”循环的主体执行之后,控制流跳回到

    增量

    语句(increment)。该语句允许您更新任何循环控制变量。只要条件后出现分号,该语句就可以留空。


  • 再次评估条件。如果为true,则循环执行,并且


    过程重复其本身(循环的主体,然后是递增步,然后再次是条件)


    。条件变为假之后,“ for”循环终止。

#include <stdio.h>
 
int main () {
   int a;
   /* for循环控制输出*/
   for( a = 10; a < 20; a = a + 1 ){
      printf("value of a: %d\n", a);
   } 
   return 0;
}

do…while循环



for



while

循环不同,

for



while

循环在循环的顶部测试循环条件,



C编程中的

do … while

循环在循环的底部检查其条件。它是

保证循环主体执行至少一次。

语法:

do {
   statement(s);
} while( condition );


条件表达式出现在循环的末尾,因此循环中的语句在测试条件之前执行一次。如果条件为真,则控制流跳回去做,并且循环中的语句再次执行。重复此过程,直到给定条件变为假。

#include <stdio.h>
 
int main () {

 
   int a = 10;
   /* do...while循环 */
   do {
      printf("value of a: %d\n", a);
      a = a + 1;
   }while( a < 20 );
   return 0;
}


循环控制语句

循环控制语句从其正常顺序更改执行。

当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。

序号 控制声明和说明
1 break 声明


终止

循环



切换

语句,并在循环或切换后立即将执行转移到该语句。

2 continue 声明


使循环跳过其其余部分,并在重新进行迭代之前立即重新测试其状况。

3 goto 声明


将控制权转移到带标签的语句。

break


C编程中的

break

语句具有以下两种用法-


  • 当在循环内遇到

    break

    语句时,循环立即终止,程序控制在循环后的下一条语句处恢复。


  • 它可用于终止

    switch

    语句中的case。


如果使用


嵌套循环,则break语句将停止执行最内部的循环


,并开始执行该块之后的下一行代码。

continue


C编程中的

continue

语句的工作原理与

break

语句类似。而不是强制终止,它会


强制执行循环的下一次迭代


,(不执行代码块,增量直接加一)从而跳过之间的任何代码。


对于

for

循环,

continue

语句使条件测试和循环的增量部分执行。对于

while



do … while

循环,

continue

语句使程序控制权传递给条件测试。

goto(避免使用)



goto

C编程语句提供从“转到”的标记声明相同功能的无条件跳转。





– 在


任何编程语言中都强烈建议不要使用

goto

语句


,因为它会使跟踪程序的控制流变得困难,使程序难以理解和修改。可以重写任何使用goto的程序来避免它们。


语法:

goto label;
..
.
label: statement;
#include <stdio.h>
 
int main () {

   /* local variable definition */
   int a = 10;
   /* goto 控制循环 */
   LOOP:do {
      if( a == 15) {
         /* skip the iteration */
         a = a + 1;
         goto LOOP;
      }	
      printf("value of a: %d\n", a);
      a++;
   }while( a < 20 );
   return 0;
}

输出:

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19


无限循环


如果条件永远不会为假,则循环将变成无限循环。传统上,

for

循环用于此目的。由于不需要形成“ for”循环的三个表达式,因此可以通过将条件表达式保留为空来进行无限循环。

或者通过while(true){} 来实现无限循环.(再结合break来控制结束循环)

#include <stdio.h>
 
int main () {
   for( ; ; ) {
      printf("This loop will run forever.\n");
   }
   while(ture) { 
       printf("This loop will run forever.\n"); 
   }
   return 0;
}



版权声明:本文为qq_34975445原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。