计算机编程 - 循环

让我们考虑一下你想打印 Hello,World!五次的情况.这是一个简单的C程序来做同样的 :

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

执行上述程序时,会产生以下结果 :

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

这很简单,但是当你想写 Hello,World!一千次时,我们再考虑另一种情况.我们当然不能写一千次printf()语句.几乎所有的编程语言都提供了一个名为 loop 的概念,它有助于执行一个或多个语句达到所需的次数.所有高级编程语言都提供各种形式的循环,可用于重复执行一个或多个语句.

让我们在的帮助下编写上述C程序循环以后,我们将讨论这个循环如何工作

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

执行上述程序时,会产生以下结果 :

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

上面的程序使用 while循环,它用于执行{.中包含的一组编程语句. ...}.这里,计算机首先检查给定条件,即变量"a"是否小于5,如果它发现条件为真,则进入循环体以执行给定语句.这里,我们在循环体中有以下两个语句 :

  • 第一个语句是 printf() function,打印Hello World!

  • 第二个语句是 i = i + 1 ,用于增加变量值 i

执行循环体中给出的所有语句后,计算机将返回当再次检查(i<5)和给定条件(i <5)时,如果条件成立,则再次执行循环.这个过程重复进行,直到给定条件保持为真,这意味着变量"a"的值小于5.

总之,循环语句允许我们执行多个语句或一组语句倍.下面给出的是大多数编程语言中循环语句的一般形式 :

Loop Architecture

本教程旨在向非程序员介绍编程的基本概念,因此让我们讨论C编程语言中可用的两个最重要的循环.一旦你清楚这两个循环,那么你可以选择C编程教程或参考书,并检查C中可用的其他循环及其工作方式.

while循环

C编程语言中的 while循环具有以下语法 :

while ( condition ) {
   /*....while loop body ....*/
}

上面的代码可以用流程图的形式表示,如下所示 :

while C in C

关于while循环和减号,需要注意以下要点;

  • A while循环以关键字开始,而后跟<)中包含的条件.

  • 继续在while()语句中,你将用大括号 {...} 包围循环体.

  • A而l oop body可以有一行或多行源代码重复执行.

  • 如果while循环的主体只有一行,则其可选使用花括号 {...} .

  • while循环继续执行其主体直到给定的条件成立.一旦条件变为假,while循环就会出现,并从while循环体后面的紧接的下一个语句继续执行.

  • 条件通常是关系语句,被评估为true或false.等于零的值被视为false,任何非零值都被视为true.

do ... while循环

while循环在执行正文部分中给出的任何语句之前检查给定条件. C编程提供了另一种形式的循环,称为 do ... while ,它允许在检查给定条件之前执行循环体.它具有以下语法 :

 
 do {
/*....do...while loop body ... .*/
} 
 while(condition);

上面的代码可以用流程图的形式表示,如下所示 :

do ... while循环在C

如果你将使用 do ... while 循环,然后 Hello,World 将产生相同的结果 :

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

执行上述程序时,会产生以下结果 :

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

中断语句

当在循环中遇到中断语句时,循环立即终止,程序控制在循环后的下一个语句处重新开始. C语言中 break 语句的语法如下 :

 
 break;

break 语句可以流程图的形式表示,如下所示 :

c break statement

以下是上述程序的变体,但会在打印后出现你好,世界!只有三次 :

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

执行上述程序时,会产生以下结果 :

Hello, World!
Hello, World!
Hello, World!

继续语句

C编程语言中的 continue 语句有点像打破声明. 继续强制执行循环的下一次迭代,而不是强制终止,跳过其间的任何代码. C中 continue 语句的语法如下 :

 
 continue;

a continue 语句可以流程图的形式表示,如下所示 :

C continue statement

以下是上述程序的变体,但它会跳过打印时变量的值等于3 :

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

执行上述程序时,会产生以下结果 :

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Java中的循环

以下是用Java编写的等效程序,它也支持做......而循环.以下程序打印 Hello,World!五次,就像我们在C编程和减去的情况下一样;

您可以尝试执行以下程序来查看输出,必须与上面例子生成的结果相同.

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

休息继续 Java编程中的语句与它们在C编程中的工作方式完全相同.

Python中的循环

以下是用Python编写的等效程序. Python也支持执行...而循环.以下程序打印 Hello,World!五次,就像在C编程中一样.在这里你必须注意Python没有对循环体使用花括号,而是使用语句的缩进来简单地识别循环体.

你可以尝试执行以下程序查看输出.为了显示差异,我们再使用了一个print语句,它将在循环结束时执行.

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

执行上述程序时,会产生以下结果 :

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

Python中的 break continue 语句的工作方式完全相同就像他们在C编程中一样.