可能有一種情況,當(dāng)需要執(zhí)行一個(gè)代碼塊多次。在一般情況下,語句是順序執(zhí)行的:如在函數(shù)內(nèi)的第一條語句,首先執(zhí)行,然后是第二個(gè) ... 等等。
編程語言提供了各種控制結(jié)構(gòu),允許更多復(fù)雜的執(zhí)行路徑。
循環(huán)語句可以讓我們執(zhí)行語句多次或代碼組,下面是在大多數(shù)編程語言循環(huán)語句的一般形式:
TCL語言提供循環(huán)以下類型來處理循環(huán)。
| 循環(huán)類型 | 描述 |
|---|---|
| while循環(huán) | 重復(fù)聲明語句或一組,當(dāng)給定的條件為真。它測試條件在執(zhí)行循環(huán)體前。 |
| for循環(huán) | 執(zhí)行語句多次,序列和簡寫管理循環(huán)變量的代碼。 |
| 內(nèi)嵌循環(huán) | 可以使用一個(gè)或多個(gè)循環(huán)內(nèi)再使用其它的while語句,或do..while循環(huán)。 |
循環(huán)控制語句改變其正常的順序執(zhí)行。當(dāng)執(zhí)行離開范圍,在該范圍內(nèi)創(chuàng)建的所有自動(dòng)對(duì)象被銷毀。
TCL支持下面的控制語句。
| 控制語句 | 描述 |
|---|---|
| break語句 | 終止循環(huán)或switch語句并將執(zhí)行立即循環(huán)或切換到下面的語句。 |
| continue語句 | 導(dǎo)致循環(huán)跳過它的主體的其余部分,并立即重新測試其條件聲明之前。 |
如果條件永遠(yuǎn)不會(huì)為假那么一個(gè)循環(huán)就是無限循環(huán)。 while循環(huán)是傳統(tǒng)上用于此目的??梢酝ㄟ^條件表達(dá)式為1,來執(zhí)行一個(gè)死循環(huán)。
while {1} { puts "This loop will run forever." }
當(dāng)條件表達(dá)式為不存在,它被假定為真。 TCL程序員更普遍使用while {1} 構(gòu)造以表示無限循環(huán)。
注意:可以通過按 Ctrl+ C鍵 終止無限循環(huán)。