(三)程序的基本結(jié)構(gòu)
1.定義:是指程序中命令或語句執(zhí)行的流程結(jié)構(gòu)。
共有順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種。
2.順序結(jié)構(gòu):是最簡單的程序結(jié)構(gòu),按命令在程序中出現(xiàn)先后次序依次執(zhí)行,最為常用。
3.選擇結(jié)構(gòu):
1)定義:根據(jù)條件成立與否,選擇執(zhí)行相關(guān)語句的結(jié)構(gòu)。
2)類型:if條件語句和do case分支語句
& if條件語句:
、贌oelse子句時:
if 條件表達(dá)式 如果條件為真,執(zhí)行if下面的命令語句序列
命令語句序列 如果條件為假,則執(zhí)行endif后面的語句
endif if-endif必須成對出現(xiàn)
、谟衑lse子句時:
if 條件表達(dá)式 如果條件為真,執(zhí)行if下面的命令語句序列1,然后到endif后面的語句
命令語句序列1 如果條件為假,執(zhí)行else后的命令語句序列2,然后到endif后面的語句
else if-else-endif必須成對出現(xiàn)
命令語句序列2
endif
注意:有else子句時還可能出現(xiàn)嵌套,在if-else或者else-endif之間都有可能出現(xiàn)新的if-else-endif語句。
& do case分支語句
do case
case 條件1 如果條件1為真,則執(zhí)行命令語句序列1,然后執(zhí)行endcase后的語句
命令語句序列1 如果條件1為假,則轉(zhuǎn)去判斷條件2
case 條件2 如果條件2為真,則執(zhí)行命令語句序列2,然后執(zhí)行endcase后的語句
命令語句序列2 如果條件2為假,則轉(zhuǎn)去判斷條件3
…… 依次類推,判斷完所有的條件
otherwise 如果上述所有條件都為假,那么執(zhí)行otherwise后的語句n后轉(zhuǎn)向endcase后的語句
命令語句序列n
endcase
4.循環(huán)結(jié)構(gòu):
1)定義:也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過程中,其中的某段代碼被重復(fù)執(zhí)行若干次,其中被重復(fù)執(zhí)行的代碼段通常稱為循環(huán)體。
2)類型:do while – enddo語句、for – endfor語句和scan – endscan語句
& do while – enddo語句
、贌oloop/exit時:
do while 條件 當(dāng)條件為真時,執(zhí)行循環(huán)體,到enddo時,返回do while
語句序列1(循環(huán)體) 處繼續(xù)判斷條件是否為真,以確定是否還執(zhí)行循環(huán)體
enddo 若條件為假,則結(jié)束該循環(huán),執(zhí)行enddo后面的語句
注意:若第一次判斷條件為假,則循環(huán)體一次都不被執(zhí)行,直接轉(zhuǎn)至執(zhí)行enddo后的語句;
do while-enddo必須成對出現(xiàn)
若do while處條件始終為真,則該循環(huán)為死循環(huán)
②有l(wèi)oop/exit時:
do while 條件 當(dāng)條件為真時,執(zhí)行語句序列1,遇到loop時,結(jié)束本次執(zhí)
語句序列1 行,也不執(zhí)行l(wèi)oop后的語句序列2,而是直接轉(zhuǎn)回do while
[loop] 處重新判斷條件的真假;若遇到exit時,則結(jié)束該語句的執(zhí)
語句序列2 行,其后的語句序列3也不被執(zhí)行,而是轉(zhuǎn)去執(zhí)行enddo后面
[exit] 的語句
語句序列3
enddo
注意:若第一次判斷條件為假,則其后的所有語句一次都不被執(zhí)行,直接轉(zhuǎn)至執(zhí)行enddo后的語句
通常loop或exit可單獨出現(xiàn),也可同時出現(xiàn)。同時出現(xiàn)時經(jīng)常用在循環(huán)體內(nèi)嵌套的選擇語句之中,根據(jù)條件來決定是執(zhí)行l(wèi)oop回去,還是執(zhí)行exit出去,以防止出現(xiàn)矛盾現(xiàn)象
do while-enddo必須成對出現(xiàn)
若do while處條件始終為真,則該循環(huán)為死循環(huán)
、蹆蓚重要的推論:
推論一:完成對表中所有滿足條件的記錄循環(huán)操作的目的
locate for 條件(即定位表達(dá)式) 使指針定位于當(dāng)前表中滿足條件的第一條記錄上
do while found() 若found()函數(shù)返回值為真,則執(zhí)行其后的語句序列
語句序列 遇到continue時,返回do while處重新判斷found()函數(shù)的值是否為真
continue 為真就繼續(xù)執(zhí)行語句序列,若found函數(shù)的值為假,則轉(zhuǎn)去執(zhí)行enddo后的語句
enddo
推論二:完成對表中每條記錄逐條操作的目的
go top 使指針指向當(dāng)前表中的首記錄
do while not eof() 若不在文件尾為真,則執(zhí)行語句序列,遇到skip時
語句序列 表中指針向下跳一下,而此程序則返回到do while處
skip n(n默認(rèn)為1) 繼續(xù)判斷not eof()是否為真,為真就繼續(xù)執(zhí)行語句序列
enddo 若not eof()為假,則轉(zhuǎn)去執(zhí)行enddo后的語句
& for – endfor語句:用于某個值域范圍內(nèi)的循環(huán)
for 循環(huán)變量=初值 to 終值 [step 步長n] 先把初值賦給循環(huán)變量,然后判斷循環(huán)條件
循環(huán)體 是否成立;成立則執(zhí)行循環(huán)體,然后給循環(huán)變量增加一個步長值并再次判斷循環(huán)條件是否成立endfor 以確定是否再次執(zhí)行循環(huán)體。若循環(huán)條件不成立,則結(jié)束該循環(huán),轉(zhuǎn)去執(zhí)行endfor后的語句
注意:若步長n為正值,循環(huán)條件為:循環(huán)變量<=終值;若步長n為負(fù)數(shù),循環(huán)條件為:循環(huán)變量>=終值;n的默認(rèn)值為1可省略
& scan – endscan語句:
scan [范圍] [for 條件1] [while 條件2] 若條件為真,則執(zhí)行循環(huán)體
語句序列(循環(huán)體) 遇到endscan時返回scan for條件處繼續(xù)判斷條件是否為真
endscan 為真繼續(xù)執(zhí)行循環(huán)體,若條件為假,則轉(zhuǎn)去執(zhí)行endscan后的語句
相關(guān)推薦:計算機(jī)等級考試二級VF三套全真預(yù)測試題及答案北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |