版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第8章 循環(huán)與結(jié)構(gòu)化命令南京財(cái)經(jīng)大學(xué) 江蘇省電子商務(wù)重點(diǎn)實(shí)驗(yàn)室伍之昂 王有權(quán)提綱 for循環(huán) 列表for循環(huán) 不帶列表for循環(huán) 類(lèi)C風(fēng)格的for循環(huán) while循環(huán) 計(jì)數(shù)器控制的while循環(huán) 結(jié)束標(biāo)記控制的while循環(huán) 標(biāo)志控制的while循環(huán) 命令行控制的while循環(huán) until循環(huán) 嵌套循環(huán) 循環(huán)控制符 break循環(huán)控制符 continue循環(huán)控制符 select結(jié)構(gòu)列表for循環(huán) 列表for循環(huán)語(yǔ)句用于將一組命令執(zhí)行已知的次數(shù),下面給出了for循環(huán)語(yǔ)句的基本格式:for variable in list docommand commanddone 其中do和done之間的命令稱(chēng)
2、為循環(huán)體,執(zhí)行次數(shù)和list列表中常數(shù)或字符串的個(gè)數(shù)相同。 當(dāng)執(zhí)行for循環(huán)時(shí),首先將in后的list列表的第一個(gè)常數(shù)或字符串賦值給循環(huán)變量,然后執(zhí)行循環(huán)體;接著將list列表中的第二個(gè)常數(shù)或字符串賦值給循環(huán)變量,再次執(zhí)行循環(huán)體,這個(gè)過(guò)程將一直持續(xù)到list列表中無(wú)其他的常數(shù)或字符串,然后執(zhí)行done命令后的命令序列。 演示例8-1和8-6不帶列表for循環(huán) 不帶列表的for循環(huán)執(zhí)行時(shí)由用戶(hù)指定參數(shù)和參數(shù)的個(gè)數(shù),下面給出了不帶列表的for循環(huán)的基本格式:for variable docommand commanddone 其中do和done之間的命令稱(chēng)為循環(huán)體,Shell會(huì)自動(dòng)的將命令行鍵入的
3、所有參數(shù)依次組織成列表,每次將一個(gè)命令行鍵入的參數(shù)顯示給用戶(hù),直至所有的命令行中的參數(shù)都顯示給用戶(hù)。 演示例8-9類(lèi)C風(fēng)格的for循環(huán)(2) 類(lèi)C風(fēng)格的for循環(huán)也可被稱(chēng)為計(jì)次循環(huán),一般用于循環(huán)次數(shù)已知的情況,下面給出了類(lèi)C風(fēng)格的for循環(huán)的語(yǔ)法格式:for( expr1; expr2; expr3 ) docommand commanddone 對(duì)類(lèi)C風(fēng)格的for循環(huán)結(jié)構(gòu)的解釋?zhuān)?其中表達(dá)式expr1為循環(huán)變量賦初值的語(yǔ)句 表達(dá)式expr2決定是否進(jìn)行循環(huán)的表達(dá)式,當(dāng)判斷expr2退出 狀態(tài)為0執(zhí)行do和done之間的循環(huán)體,當(dāng)退出狀態(tài)為非0時(shí)將退出for循環(huán)執(zhí)行done后的命令 表達(dá)式ex
4、pr3用于改變循環(huán)變量的語(yǔ)句 類(lèi)C風(fēng)格的for循環(huán)結(jié)構(gòu)中,循環(huán)體也是一個(gè)塊語(yǔ)句,要么是單條命令,要么是多條命令,但必須包裹在do和done之間。 演示例8-10和8-11while循環(huán) while循環(huán)語(yǔ)句也稱(chēng)前測(cè)試循環(huán)語(yǔ)句,它的循環(huán)重復(fù)執(zhí)行次數(shù),是利用一個(gè)條件來(lái)控制是否繼續(xù)重復(fù)執(zhí)行這個(gè)語(yǔ)句。while語(yǔ)句與for循環(huán)語(yǔ)句相比,無(wú)論是語(yǔ)法還是執(zhí)行的流程,都比較簡(jiǎn)明易懂。while循環(huán)格式如下:while expression docommand commanddone while循環(huán)語(yǔ)句之所以命名為前測(cè)試循環(huán),是因?yàn)樗扰袛啻搜h(huán)的條件是否成立,然后才作重復(fù)執(zhí)行的操作。也就是說(shuō),while循環(huán)
5、語(yǔ)句執(zhí)行過(guò)程是:先判斷expression的退出狀態(tài),如果退出狀態(tài)為0, 則執(zhí)行循環(huán)體,并且在執(zhí)行完循環(huán)體后,進(jìn)行下一次循環(huán),否則退出循環(huán)執(zhí)行done后的命令。 為了避免死循環(huán),必須保證在循環(huán)體中包含循環(huán)出口條件,即存在expression的退出狀態(tài)為非0的情況。計(jì)數(shù)器控制的while循環(huán) 假定該種情形是在已經(jīng)準(zhǔn)確知道要輸入的數(shù)據(jù)或字符 串的數(shù)目,在這種情況下可采用計(jì)數(shù)器控制的while循 環(huán)結(jié)構(gòu)來(lái)處理。這種情形下while循環(huán)的格式如下所示:counter = 1 while expression docommandlet command to operate counter command
6、done 演示例8-15結(jié)束標(biāo)記控制的while循環(huán) 在Linux Shell編程中很多時(shí)候不知道讀入數(shù)據(jù)的個(gè)數(shù),但是可以設(shè)置一個(gè)特殊的數(shù)據(jù)值來(lái)結(jié)束while循環(huán),該特殊數(shù)據(jù)值稱(chēng)為結(jié)束標(biāo)記,其通過(guò)提示用戶(hù)輸入特殊字符或數(shù)字來(lái)操作。當(dāng)用戶(hù)輸入該標(biāo)記后結(jié)束while循環(huán),執(zhí)行done后的命令。在該情形下,while循環(huán)的形式如下所示:read variablewhile $variable != sentinel doread variable done 演示例8-16標(biāo)志控制的while循環(huán) 標(biāo)志控制的while循環(huán)使用用戶(hù)輸入的標(biāo)志的值來(lái)控制循環(huán)的結(jié)束,這樣避免了用戶(hù)不知到循環(huán)結(jié)束標(biāo)記的麻煩。
7、在該情形下,while循環(huán)的形式如下所示:signal=0while ( signal != 1 ) doif expression thensignal=1演示例8-19fidone命令行控制的while循環(huán) 有時(shí)需要使用命令行來(lái)指定輸出參數(shù)和參數(shù)個(gè)數(shù),這時(shí)用其他的三種形式的while循環(huán)是無(wú)法實(shí)現(xiàn)的,所以需要使用命令行控制的while循環(huán)。該形式下,while循環(huán)通常與shift結(jié)合起來(lái)使用,其中shift命令使位置變量下移一位(即$2代替$1,$3代替$2),并且使$#變量遞減,當(dāng)最后一個(gè)參數(shù)也顯示給用戶(hù)后,$#就會(huì)等于0,同時(shí)$*也等于空,下面是該情形下,while循環(huán)的形式為:whi
8、le $* != doecho $1 shiftdone 演示例8-20until循環(huán) 在執(zhí)行while循環(huán)時(shí),只要是expression的退出狀態(tài)為0將一直執(zhí)行循環(huán)體。until命令和while命令類(lèi)似,但區(qū)別是until循環(huán)中expression的退出狀態(tài)不為0 將循環(huán)體一直執(zhí)行下去,直到退出狀態(tài)為0,下面給出了until循環(huán)的結(jié)構(gòu):until expression docommand commanddone 演示例8-21嵌套循環(huán) 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱(chēng)為循環(huán)的嵌套。在外部循環(huán)的每次執(zhí)行過(guò)程中都會(huì)觸發(fā)內(nèi)部循環(huán), 直至內(nèi)部完成一次循環(huán),才接著執(zhí)行下一次的外部循環(huán)。for循環(huán)、while循環(huán)和until循環(huán)可以相互嵌套。 演示例8-23 演示例8-26break循環(huán)控制符 break語(yǔ)句可以應(yīng)用在for、while和until循環(huán)語(yǔ)句中,用 于 退出循環(huán),也就是忽略循環(huán)體中任何其他語(yǔ)句和循環(huán)條件的限制。 演示例8-29 演示例8-30continue循環(huán)控制符 continue循環(huán)控制符應(yīng)用在for、while和until語(yǔ)句中, 用于讓腳本跳過(guò)其后面的語(yǔ)句,執(zhí)行下一次循環(huán)。 演示例8-32 演示例8-33sel
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于賓館管理制度的規(guī)定(3篇)
- 安全改造項(xiàng)目管理制度范本(3篇)
- 2026廣東廣州生物醫(yī)藥與健康研究院數(shù)字生物醫(yī)學(xué)研究中心招聘科研助理1人筆試參考題庫(kù)及答案解析
- 2026重慶市銅梁區(qū)巴川街道福利院工作人員招聘2人(第二次)考試參考題庫(kù)及答案解析
- 2026年吉安市青原區(qū)兩山人力資源服務(wù)有限公司面向社會(huì)公開(kāi)招聘2名超市店員參考考試題庫(kù)及答案解析
- 2026年上半年云南省科學(xué)技術(shù)廳直屬事業(yè)單位公開(kāi)招聘人員(8人)參考考試題庫(kù)及答案解析
- 2026春季江西贛州石城縣西外公立幼兒園教職工招聘?jìng)淇伎荚囶}庫(kù)及答案解析
- 2026年臨沂市市直部分事業(yè)單位公開(kāi)招聘綜合類(lèi)崗位工作人員(21名)參考考試題庫(kù)及答案解析
- 2026年度濟(jì)南市章丘區(qū)所屬事業(yè)單位公開(kāi)招聘初級(jí)綜合類(lèi)崗位人員備考考試題庫(kù)及答案解析
- 2026山東事業(yè)單位統(tǒng)考濱州市陽(yáng)信縣招聘30人備考考試題庫(kù)及答案解析
- GB/T 17587.2-2025滾珠絲杠副第2部分:公稱(chēng)直徑、公稱(chēng)導(dǎo)程、螺母尺寸和安裝螺栓公制系列
- 鍋爐應(yīng)急預(yù)案演練(3篇)
- 2026中國(guó)數(shù)字化口腔醫(yī)療設(shè)備市場(chǎng)滲透率與增長(zhǎng)動(dòng)力研究報(bào)告
- 2025中證信息技術(shù)服務(wù)有限責(zé)任公司招聘16人筆試參考題庫(kù)附答案
- 建筑工程決算編制標(biāo)準(zhǔn)及實(shí)例
- 安徽省江淮十校2025年高二數(shù)學(xué)第一學(xué)期期末質(zhì)量檢測(cè)試題含解析
- 電力工程項(xiàng)目預(yù)算審核流程
- GB/T 14748-2025兒童呵護(hù)用品安全兒童推車(chē)
- 蒸汽管道-應(yīng)急預(yù)案
- 疊合板專(zhuān)項(xiàng)施工方案(完整版)
- 造價(jià)咨詢(xún)溝通和協(xié)調(diào)方案(3篇)
評(píng)論
0/150
提交評(píng)論