
- 計算機程式設計教程
- 計算機程式設計 - 首頁
- 計算機程式設計 - 概述
- 計算機程式設計 - 基礎
- 程式設計 - 環境
- 程式設計 - 基本語法
- 程式設計 - 資料型別
- 計算機程式設計 - 變數
- 計算機程式設計 - 關鍵字
- 計算機程式設計 - 運算子
- 計算機程式設計 - 決策
- 計算機程式設計 - 迴圈
- 計算機程式設計 - 數字
- 程式設計 - 字元
- 計算機程式設計 - 陣列
- 計算機程式設計 - 字串
- 計算機程式設計 - 函式
- 計算機程式設計 - 檔案 I/O
- 計算機程式設計 - 總結
- 計算機程式設計資源
- 程式設計 - 快速指南
- 計算機程式設計 - 資源
- 程式設計 - 討論
計算機程式設計 - 迴圈
讓我們考慮這樣一個情況,您希望列印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() 語句寫一千次。幾乎所有程式語言都提供了一個名為迴圈的概念,它有助於執行一個或多個語句直至達到所需的次數。所有高階程式語言都提供各種形式的迴圈,這些迴圈可用於重複執行一個或多個語句。
讓我們使用while 迴圈編寫上述 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()函式,它列印 Hello World!
第二個語句是i = i + 1,用於增加變數i的值
執行迴圈體中給出的所有語句後,計算機返回到 while( i < 5),並再次檢查給定條件 (i < 5),如果條件成立,則再次執行迴圈。此過程重複,直到給定條件保持為真,這意味著變數“a”的值小於 5。
總之,迴圈語句允許我們多次執行語句或語句組。下面是在大多數程式語言中迴圈語句的一般形式:

本教程旨在向非程式設計師介紹程式設計的基本概念,因此,讓我們討論 C 程式語言中提供的兩個最重要的迴圈。一旦您清楚地瞭解了這兩個迴圈,那麼您就可以選擇 C 程式設計教程或參考書,並檢查 C 中提供的其他迴圈及其工作方式。
while 迴圈
C 程式語言中提供的while 迴圈具有以下語法:
while ( condition ) { /*....while loop body ....*/ }
以上程式碼可以用流程圖表示,如下所示:

關於 while 迴圈,需要注意以下幾點:
while 迴圈以關鍵字while開頭,後跟用 ( ) 包裹的條件。
此外,在 while() 語句之後,您將擁有用花括號{...}括起來的迴圈體。
while 迴圈體可以有一行或多行要重複執行的原始碼。
如果 while 迴圈體只有一行,則可以使用花括號{...}是可選的。
while 迴圈不斷執行其主體,直到給定的條件保持為真。一旦條件變為假,while 迴圈就會退出,並繼續從 while 迴圈體之後的下一個語句執行。
條件通常是一個關係語句,其計算結果為真或假。等於零的值被視為假,任何非零值都像真一樣工作。
do...while 迴圈
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!
break 語句
當在迴圈內遇到break語句時,迴圈會立即終止,程式控制在迴圈後的下一個語句處恢復。C 中break語句的語法如下:
break;
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 語句
C 程式語言中的continue語句在某種程度上類似於break語句。continue不是強制終止,而是強制進行迴圈的下次迭代,跳過中間的任何程式碼。C 中continue語句的語法如下:
continue;
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 中的迴圈
以下是使用 Java 編寫的等效程式,它也支援while和do...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 程式設計中的break和continue語句的工作方式與它們在 C 程式設計中的工作方式完全相同。
Python 中的迴圈
以下是使用 Python 編寫的等效程式。Python 也支援while和do...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 中的break和continue語句的工作方式與它們在 C 程式設計中的工作方式完全相同。