跳轉到內容

程式設計基礎/迴圈

來自華夏公益教科書,開放的書籍,開放的世界

for 迴圈是一種用於指定迭代的控制流語句,它允許程式碼重複執行。for 迴圈有兩個部分:指定迭代的頭部,以及每個迭代執行一次的迴圈體。頭部通常宣告一個顯式的迴圈計數器或迴圈變數,它允許迴圈體知道正在執行哪個迭代。for 迴圈通常用於在進入迴圈之前已知迭代次數的情況。for 迴圈可以被認為是 while 迴圈的簡寫,它遞增並測試迴圈變數。[1][1]

迴圈前測試簡介

[編輯 | 編輯原始碼]

在迭代(或重複)類控制結構中,有兩種常用的迴圈前測試。他們是:while 和 for。本模組涵蓋:for。

理解迭代概述 - for

[編輯 | 編輯原始碼]

在許多程式語言中,for 迴圈專門用於計數;也就是說,在計數增加或減少時重複迴圈操作。有一個起始值和一個停止值。控制迴圈的問題是一個測試表達式,它將起始值與停止值進行比較。這個表示式是一個布林表示式,通常使用小於(向上計數)或大於(向下計數)的關係運算符。術語迴圈來自使用流程圖時出現的迴圈運動。for 迴圈的基本形式(向上計數)如下

for
    initialization of the starting value
    starting value is less than the stopping value
    some statements or action
    some statements or action
    some statements or action
    increment the starting value

透過理解像計數迴圈一樣工作的 while 迴圈,可能最好地理解 for 迴圈。讓我們考慮;

initialization of the starting value 
while the starting value is less than the stopping value
    some statements or action
    some statements or action
    some statements or action
    increment the starting value

在 for 控制結構中,一個正常工作的迴圈有四個屬性。他們是

  • 初始化標誌 - 完成一次
  • 測試表達式
  • 操作或操作
  • 標誌更新

標誌的初始化在技術上不是 while 控制結構的一部分,但通常是 for 控制結構的一部分。英文表達是,“對於 x 等於 1;x 小於 3;執行以下操作;遞增 x;迴圈回測試表達式”。這是對真值進行操作。當測試表達式為假時,您將停止迴圈,並繼續執行程式中的下一項。請注意,因為這是一個迴圈前測試,所以操作可能不會發生。它被稱為迴圈前測試,因為測試是在操作之前進行的。它有時也被稱為預測試迴圈,這意味著測試是在操作和更新之前(或拉丁語中的 before)進行的。

一個例子

[編輯 | 編輯原始碼]
For counter = 0, counter < 5, counter += 1
    Output "I love ice cream!"

迴圈前測試的四個屬性(記住 for 迴圈是迴圈前測試的一個例子)都存在。

  • 將標誌初始化為 0。
  • 測試是標誌變數中的值與常數值 5 的小於關係比較。
  • 操作部分包含 1 行輸出。
  • 使用遞增運算子更新標誌。

使用縮排對齊迴圈操作是行業標準做法。

無限迴圈

[編輯 | 編輯原始碼]

在這一點上,值得一提的是,良好的程式設計總是提供一種方法來確保迴圈問題最終會變成假,以便迴圈停止執行,程式繼續執行下一行程式碼。但是,如果這種情況沒有發生,那麼程式就處於無限迴圈中,並且不會停止,直到程式被外部終止或計算機重新啟動。考慮以下程式碼

For counter = 0, counter < 5
    Output "I love ice cream!"

程式設計師在初始化步驟中為標誌分配了一個值,這是正確的。但是,他們忘記更新標誌(更新步驟丟失了)。每次詢問測試表達式時,它始終為真。因此,這是一個無限迴圈,因為程式設計師沒有提供退出迴圈的方法(他忘記更新標誌)。

關鍵術語

[編輯 | 編輯原始碼]
for 迴圈
一個迴圈前迭代控制結構,通常用於計數。
無限迴圈
一個永遠執行的迴圈,因為沒有給出停止值。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書