让我们考虑一下你想打印 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.
总之,循环语句允许我们执行多个语句或一组语句倍.下面给出的是大多数编程语言中循环语句的一般形式 :
本教程旨在向非程序员介绍编程的基本概念,因此让我们讨论C编程语言中可用的两个最重要的循环.一旦你清楚这两个循环,那么你可以选择C编程教程或参考书,并检查C中可用的其他循环及其工作方式.
C编程语言中的 while循环具有以下语法 :
while ( condition ) { /*....while loop body ....*/ }
上面的代码可以用流程图的形式表示,如下所示 :
关于while循环和减号,需要注意以下要点;
A while循环以关键字开始,而后跟<)中包含的条件.
继续在while()语句中,你将用大括号 {...} 包围循环体.
A而l oop body可以有一行或多行源代码重复执行.
如果while循环的主体只有一行,则其可选使用花括号 {...} .
while循环继续执行其主体直到给定的条件成立.一旦条件变为假,while循环就会出现,并从while循环体后面的紧接的下一个语句继续执行.
条件通常是关系语句,被评估为true或false.等于零的值被视为false,任何非零值都被视为true.
while循环在执行正文部分中给出的任何语句之前检查给定条件. C编程提供了另一种形式的循环,称为 do ... while ,它允许在检查给定条件之前执行循环体.它具有以下语法 :
do { /*....do...while loop body ... .*/ } while(condition);
上面的代码可以用流程图的形式表示,如下所示 :
如果你将使用 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 语句可以流程图的形式表示,如下所示 :
以下是上述程序的变体,但会在打印后出现你好,世界!只有三次 :
#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 语句可以流程图的形式表示,如下所示 :
以下是上述程序的变体,但它会跳过打印时变量的值等于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编写的等效程序,它也支持而和做......而循环.以下程序打印 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也支持而和执行...而循环.以下程序打印 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编程中一样.