24周年

財稅實務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠

安卓版本:8.7.20 蘋果版本:8.7.20

開發(fā)者:北京正保會計科技有限公司

應(yīng)用涉及權(quán)限:查看權(quán)限>

APP隱私政策:查看政策>

HD版本上線:點擊下載>

程序結(jié)構(gòu)類的應(yīng)用

來源: 編輯: 2009/06/03 11:34:54  字體:

  DO WHILE...LOOP:先判斷后執(zhí)行循環(huán)語句;

  DO...LOOP WHILE:先執(zhí)行后判斷循環(huán)語句;

  FOR...NEXT:限定次數(shù)循環(huán)語句;

  GOTO...:無條件轉(zhuǎn)移語句。

  所謂程序結(jié)構(gòu),就是指程序代碼的執(zhí)行順序,按照執(zhí)行順序的不同我們將程序結(jié)構(gòu)大致分為以下三類:順序結(jié)構(gòu)、分支判斷選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。基本上我們目前能接觸到的語句結(jié)構(gòu)都離不了這三種類別。

  第一類,順序結(jié)構(gòu)。這類語句是按照程序代碼書寫的先后順序一句一句從前往后順序執(zhí)行的,這類語句結(jié)構(gòu)是最簡單且容易理解的一類。那么如何才算一個完整的語句結(jié)束呢?這在不同的編程語言環(huán)境中是不盡相同的,比如C語言中以分號作為每個語句的結(jié)束標(biāo)志,而VBA中,則以換行符作為一個語句的結(jié)束標(biāo)志,換句話說,只要在同一行書寫,哪怕再多的代碼都被看作一條語句來執(zhí)行。

  第二類是分支判斷選擇結(jié)構(gòu)。這類結(jié)構(gòu)并不像順序結(jié)構(gòu)那樣按順序逐條執(zhí)行代碼,而需要按照判斷語句的結(jié)果對各條分支語句進行選擇執(zhí)行,所以需要通過分支判斷選擇語句,對本結(jié)構(gòu)代碼加以控制執(zhí)行。例如,“IF...ELSE...END IF”,這條語句以“IF”開始,至“END IF”結(jié)束,其中在IF所在行書寫判斷的條件表達式,“IF”和“ELSE”之間書寫條件表達式為“真”時執(zhí)行的代碼,“ELSE”和“END IF”之間書寫條件表達式為“假”時執(zhí)行的代碼。實例如下:

  IF 條件 THEN

  語句1

  ELSE

  語句2

  END IF

  在這里實例程序中,就體現(xiàn)了一個典型的分支判斷選擇結(jié)構(gòu),程序是這樣執(zhí)行的:當(dāng)程序執(zhí)行到IF語句時,系統(tǒng)會計算條件表達式的值,如果該值為“真”(即條件成立),那么就執(zhí)行語句1,然后結(jié)束該IF結(jié)構(gòu)去執(zhí)行END IF后面的代碼;如果該值為“假”(即條件不成立),那么就執(zhí)行語句2,然后結(jié)束該IF結(jié)構(gòu)去執(zhí)行END IF后面的代碼。所以通過這里實例可以看出,在分支判斷選擇結(jié)構(gòu)中包含的語句不是每一個都被執(zhí)行到的,其執(zhí)行與否、何時執(zhí)行由條件表達式控制。1條IF條件語句可以區(qū)分2種情況下的執(zhí)行代碼,那么多于2種情況該怎么辦呢?可以通過在IF語句中嵌套IF語句來實現(xiàn)多條件判斷執(zhí)行的效果。實例如下:

  IF 條件1 THEN

  語句1

  ELSE

  IF 條件2 THEN

  語句2

  ELSE

  語句3

  END IF

  END IF

  這和EXCEL中的IF函數(shù)的嵌套類似。除了IF語句外,該類結(jié)構(gòu)還有一條語句,也可以實現(xiàn)多條件的分支判斷選擇結(jié)構(gòu),即:

  SELECT CASE 條件

  CASE 值1:

  語句1

  CASE 值2:

  語句2

  CASE ...

  ...

  ELSE CASE:

  語句3

  END SELECT

  這里通過計算條件表達式的值與各分支語句中的值進行比較來選擇具體到哪個分支中執(zhí)行相應(yīng)的代碼。

  第三類是循環(huán)結(jié)構(gòu)。和第二類分支結(jié)構(gòu)類似,循環(huán)結(jié)構(gòu)也需要通過循環(huán)語句來控制程序代碼的執(zhí)行。按照循環(huán)條件的位置和計算方法不同,循環(huán)語句大致分為如下三種:

  DO WHILE...LOOP:先判斷后執(zhí)行循環(huán)語句;

  DO...LOOP WHILE:先執(zhí)行后判斷循環(huán)語句;

  FOR...NEXT:限定次數(shù)循環(huán)語句;

  前2類是不限定次數(shù)或者在代碼執(zhí)行前無法確切指定循環(huán)次數(shù)的循環(huán)控制語句。實例程序分別為:

  DO WHILE 條件

  語句1

  語句2

  LOOP

  這類語句先判斷條件表達式的值,然后根據(jù)該值決定是否進入或繼續(xù)執(zhí)行循環(huán)體內(nèi)部的語句1和2。

  DO

  語句1

  語句2

  LOOP WHILE 條件

  這類語句先執(zhí)行循環(huán)體內(nèi)部的語句1和2,然后進一步根據(jù)條件表達式的值決定是否再次回到DO語句繼續(xù)執(zhí)行循環(huán)體內(nèi)的語句。

  第3類是限定循環(huán)執(zhí)行次數(shù)的循環(huán)語句。實例程序為:

  FOR 控制變量=1 TO N STEP 步長

  語句

  NEXT

  這里通過每次循環(huán)后控制變量的自動增加步長值,然后與最大值N比較,來決定是否繼續(xù)執(zhí)行循環(huán)體內(nèi)的語句。

  循環(huán)語句也是可以嵌套使用的。無論分支結(jié)構(gòu)還是循環(huán)結(jié)構(gòu)的控制語句,都會打亂原先執(zhí)行的語句順序,從而給理解和維護代碼帶來困難,因此要恰當(dāng)利用這些結(jié)構(gòu)控制語句,并加上相關(guān)注釋,以防代碼出現(xiàn)錯誤或今后理解困難。

  還有一條語句,稱為無條件轉(zhuǎn)移控制語句,即GOTO 轉(zhuǎn)移地址名稱,這條語句可以方便編程人員在無法確知轉(zhuǎn)移條件和難于控制時將程序執(zhí)行順序強制轉(zhuǎn)移到指定的地址。由于是無條件轉(zhuǎn)移,這種情況中存在著編程人員的主管隨意性,因此必須加上必要的注釋,并盡量少用,以避免今后程序理解和維護的困難。

責(zé)任編輯:zoe

實務(wù)學(xué)習(xí)指南

回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - m.jnjuyue.cn All Rights Reserved. 北京正保會計科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號-7 出版物經(jīng)營許可證 京公網(wǎng)安備 11010802044457號