计算机编程 - 循环

让我们考虑一下您想要打印 Hello, World! 五次的情况。 这是一个简单的 C 程序来执行相同的操作 −

#include <stdio.h>

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

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

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

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

让我们借助 while 循环来编写上述 C 程序,稍后我们将讨论该循环的工作原理

#include <stdio.h>

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

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

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

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

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

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

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

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

循环架构

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

while 循环

C 编程语言中的

while 循环具有以下语法 −

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

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

C 中的 while 循环

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

  • while 循环以关键字 while 开头,后跟括在 ( ) 中的 条件

  • 除了 while() 语句之外,循环体还包含在大括号 {...} 中。

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

  • 如果 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!
");
      i = i + 1;
   }
   while ( i < 5 );
}

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

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

break 语句

当循环内遇到 break 语句时,循环立即终止,程序控制从循环后面的下一条语句恢复。 C 中 break 语句的语法如下 −

break;

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

c 中断语句

下面是上面程序的一个变体,但是它会在打印Hello World!之后出来。 仅三次 −

#include <stdio.h>

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

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

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

continue 语句

C 编程语言中的 continue 语句的工作方式有点类似于 break 语句。 continue 不强制终止,而是强制进行循环的下一次迭代,并跳过其间的任何代码。 C 中 continue 语句的语法如下 −

continue;

Continue 语句可以用流程图的形式表示,如下所示−

C continue 语句

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

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!
");
      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 编程中的工作方式完全相同。