目录

Computer Programming - 循环

让我们考虑一下你想要打印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的概念,它有助于执行一个或多个语句达到所需的次数。 所有高级编程语言都提供各种形式的循环,可用于重复执行一个或多个语句。

让我们在while 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 loop ,它用于执行{....}中包含的一组编程语句。 这里,计算机首先检查给定条件,即变量“a”是否小于5,如果发现条件为真,则进入循环体以执行给定语句。 在这里,我们在循环体中有以下两个语句 -

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

  • 第二个陈述是i = i + 1 ,用于增加变量i的值

执行循环体中给出的所有语句后,计算机返回while(i <5)并再次检查给定条件(i <5),如果条件成立则再次执行循环。 重复该过程直到给定条件保持为真,这意味着变量“a”具有小于5的值。

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

循环架构

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

while循环

C编程语言中提供的while loop具有以下语法 -

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

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

在C中循环

关于while循环,需要注意以下要点 -

  • while循环以关键字开头,后跟()括起来的condition

  • 除了while()语句之外,还将用大括号{...}括起循环体。

  • while循环体可以有一行或多行源代码重复执行。

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

  • while循环继续执行其正文,直到给定condition成立为止。 一旦条件变为假,while循环就会出现并继续执行while循环体之后的紧接下一个语句。

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

做... while循环

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

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

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

做...在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!

break (The break statement)

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

break;

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

c break语句

以下是上述程序的变体,但它将在打印Hello World后出现! 只有三次 -

#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!

continue (The continue statement)

C编程语言中的continue语句有点像break语句。 而不是强制终止, continue强制循环的下一次迭代发生,跳过其间的任何代码。 C语言中continue语句的语法如下 -

continue;

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

C继续声明

以下是上述程序的变体,但当变量的值等于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编写的等效程序,它支持whiledo...while循环。 以下程序打印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编程中的breakcontinue语句与它们在C编程中的工作方式完全相同。

Python中的循环

以下是用Python编写的等效程序。 Python也支持whiledo...while循环。 以下程序打印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中的breakcontinue语句的工作方式与它们在C编程中的工作方式完全相同。

↑回到顶部↑
WIKI教程 @2018