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