流程控制
條件語句
程序執(zhí)行中,,有時(shí)候需要判斷某個(gè)條件是否滿足,,根據(jù)判斷結(jié)果實(shí)施不同的操作,這就需要條件語句來實(shí)現(xiàn),。Pascal語言中條件語句主要有if語句和case語句,。
if 語句的最基礎(chǔ)格式如下:
if 判斷條件 then 滿足條件的處理語句;

圖1. if...then 語句
if...then 語句后面可以跟一個(gè)可選的 else 語句,格式如下,,注意,,此時(shí) then 后的語句不能加分號,因?yàn)?if 語句還沒結(jié)束,。
if 判斷條件 then 滿足條件的處理語句 else 不滿足條件的處理語句;
圖2. if…then…else語句
then 和 else 后面的處理語句中可以再嵌套 if語句,,特別是 else 后面,,可以形成 if…then…else if…then…else if…then…else的多支路語句。但一定要小心使用嵌套,!有可能程序運(yùn)行結(jié)果不是你所預(yù)期的那樣。
圖3. if…then…else if…then…else if…then……else多支路語句
當(dāng)支路越來越多時(shí),,用嵌套的 if 語句就顯得太繁瑣,。如果多支路的選擇是由同一個(gè)變量或表達(dá)式的不同結(jié)果值所決定的,其實(shí)也可以用 case 語句來實(shí)現(xiàn),,而且更顯簡潔,、清晰。如圖3的例子,,用 case 語句可以改寫成:

圖4. case多支路語句
流程控制
循環(huán)語句
程序執(zhí)行中,,需要多次規(guī)律性的重復(fù)處理時(shí),特別是一些數(shù)組的運(yùn)算處理時(shí),,就需要用到循環(huán)語句,。Pascal 語言中循環(huán)語句主要有while…do 語句、repeat…until 語句和 for…do 語句,。
while…do 語句的基礎(chǔ)格式如下:
while 判斷條件 do 循環(huán)體語句;
每輪循環(huán)之前,,都先進(jìn)行條件判斷,當(dāng)判斷條件滿足時(shí),,則執(zhí)行循環(huán)體,;當(dāng)判斷條件不滿足,則結(jié)束循環(huán),。循環(huán)體可以是單個(gè)語句,,也可以是由 begin 和 end;包含起來的程序塊,,但其語句中一定要包含有能改變判斷條件控制變量的語句,,能使判斷條件不滿足,以免形成死循環(huán),。

圖5. while…do循環(huán)語句
與 while…do 語句相反,,repeat…until 語句是先執(zhí)行循環(huán)體,然后再看判斷條件是否滿足,,如果滿足則結(jié)束循環(huán),,所以循環(huán)體至少會(huì)被執(zhí)行一次。循環(huán)體可以是單個(gè)語句,,也可以由多個(gè)語句組成,,但不一定用 begin 和 end;包含起來,,repeat 和 until 本身具備包含程序塊的功能,。其基礎(chǔ)格式如下:
repeat 循環(huán)體語句 until 判斷條件;

圖6. repeat…until循環(huán)語句
while…do 語句和 repeat…until 語句中循環(huán)次數(shù)不定,,根據(jù)某一條件來決定是否繼續(xù)循環(huán),如果要進(jìn)行固定次數(shù)的循環(huán),,可以用 for…do 語句:
for 計(jì)次變量:=初始值 to 終止值 do 循環(huán)體,;
for 計(jì)次變量:=初始值 downto 終止值 do 循環(huán)體;
其中,,計(jì)次變量一般為整數(shù)類型(也可以是字符類型),;第一輪循環(huán)時(shí),計(jì)次變量被賦予初始值,,此后每輪循環(huán)計(jì)次變量都會(huì)遞增(to 關(guān)鍵字)或遞減(downto 關(guān)鍵字)1,;如果計(jì)次變量沒超過終止值,則執(zhí)行循環(huán)體,,否則結(jié)束循環(huán),。
循環(huán)體內(nèi)還可以用 continue 和 break 這兩個(gè)關(guān)鍵字對循環(huán)做額外的控制,上述的三種循環(huán)語句內(nèi)都可使用,,一般配合條件語句決定什么情況下要 continue 或 break,;continue 起效時(shí),在該輪次循環(huán)內(nèi),,循環(huán)體里在其后的語句將不再執(zhí)行,,而是立即進(jìn)行下一輪次循環(huán)是否進(jìn)行的條件判斷;break 則直接就此結(jié)束循環(huán),;它們的影響范圍只在它們所處的那一層級的循環(huán)語句,。

圖7. for…do循環(huán)語句
for…do 語句還有一種特殊形式的for…in…do 循環(huán),本文不再贅述,,感興趣的可以移步Free Pascal wiki了解,。
較為復(fù)雜的運(yùn)算,可能會(huì)用到循環(huán)語句的嵌套,,Pascal語言中允許任何類型的循環(huán)語句嵌套于任何類型的循環(huán)語句內(nèi),。

圖8. 循環(huán)語句嵌套
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載,、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,,應(yīng)在授權(quán)范圍內(nèi)使用,,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,,本網(wǎng)將追究其相關(guān)法律責(zé)任,。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任,。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),,必須保留本網(wǎng)注明的作品第一來源,,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容,、版權(quán)等問題,,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利,。