循環(huán)結(jié)構(gòu)
三。循環(huán)結(jié)構(gòu):前面我們學(xué)習(xí)的順序結(jié)構(gòu)和選擇結(jié)構(gòu)有一個(gè)共同點(diǎn),即程序語(yǔ)句不能重復(fù)執(zhí)行。而在實(shí)際應(yīng)用中,常常需要多次重復(fù)執(zhí)行某些語(yǔ)句。這樣的需求適合于用循環(huán)語(yǔ)句來(lái)處理。在vfp中,提供了3種循環(huán)語(yǔ)句:do while循環(huán)、for循環(huán)及scan循環(huán)。
1.while循環(huán):
格式:
do while 條件
語(yǔ)句序列
[loop]
[exit]
enddo
說(shuō)明:
(1)."do while 條件"是循環(huán)說(shuō)明語(yǔ)句,它標(biāo)志循環(huán)的開(kāi)始,并判斷循環(huán)條件是否為真值;當(dāng)條件為真值時(shí),則執(zhí)行語(yǔ)句序列;否則跳到enddo后面的語(yǔ)句繼續(xù)執(zhí)行。
(2).do while和enddo之間的語(yǔ)句序列也被稱作循環(huán)體,是需要多次重復(fù)執(zhí)行的語(yǔ)句,由它完成規(guī)定的數(shù)據(jù)處理工作。
(3).循環(huán)語(yǔ)句中的可選項(xiàng)exit,用于退出循環(huán)語(yǔ)句,可放在循環(huán)體語(yǔ)句的任意位置上。若在循環(huán)體中加上該可選項(xiàng),當(dāng)執(zhí)行exit時(shí),跳出循環(huán)體去執(zhí)行 enddo后面的語(yǔ)句。通常,exit是在條件語(yǔ)句控制下,當(dāng)條件得到滿足時(shí)便跳出循環(huán);否則永遠(yuǎn)不能執(zhí)行exit后面的循環(huán)體語(yǔ)句。
(4).可選項(xiàng)loop,是循環(huán)短路語(yǔ)句,也可以放在循環(huán)體語(yǔ)句的任意位置上。當(dāng)執(zhí)行l(wèi)oop時(shí),其后的循環(huán)體語(yǔ)句部分不予執(zhí)行,直接返回到循環(huán)起始語(yǔ)句。loop也通常放在條件語(yǔ)句的控制下。
(5).enddo和do while必須成對(duì)出現(xiàn)。
例:將"職工檔案"表中所有職稱是"講師"的工資加200元,副教授加150元,無(wú)職稱的加100元。
首先,我們修改一下"職工檔案"表的結(jié)構(gòu),為其增加一個(gè)"工資"字段:
在命令窗口依次執(zhí)行如下命令:
use 職工檔案
modify structure
彈出"表設(shè)計(jì)器"窗口,添加一個(gè)新字段:工資 N6.1,單擊"確定",保存更改。
再執(zhí)行browse命令,在彈出的browse窗口中為每條記錄的"工資"填上值,
新建一個(gè)程序文件xiugai.prg,程序文件的內(nèi)容如下:
clear
use 職工檔案
do while .not.eof()
do case
case 職稱="講師"
replace 工資 with 工資+200
case 職稱="副教授"
replace 工資 with 工資+150
case 職稱="無(wú)"
replace 工資 with 工資+100
endcase
skip
enddo
use
return
程序分析:循環(huán)程序由以下4個(gè)主要部分構(gòu)成:
A.循環(huán)的工作部分。它完成循環(huán)的主要工作,是循環(huán)體的主要部分。這里由do case---endcase組成。
B.循環(huán)的修改部分。它保證循環(huán)體在循環(huán)過(guò)程中,有關(guān)的量能按一定的規(guī)律變化。這里的循環(huán)修改部分是skip語(yǔ)句,用來(lái)實(shí)現(xiàn)依次操作文件的各條記錄。
C.循環(huán)的控制部分。它保證循環(huán)體語(yǔ)句按規(guī)定的循環(huán)次數(shù)正常執(zhí)行。此例中的循環(huán)控制部分是。not.eof()邏輯表達(dá)式,它表示做完所有記錄的操作。
D.循環(huán)的初始部分。它是循環(huán)控制初值。本程序中循環(huán)控制初值是隱含的,因?yàn)榇蜷_(kāi)文件后,記錄指針指向首記錄,所以操作是從首記錄開(kāi)始的。
相關(guān)推薦:計(jì)算機(jī)等級(jí)考試二級(jí)VF三套全真預(yù)測(cè)試題及答案全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VF輔導(dǎo)筆記匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |