程式的結構及分類
分支語句介紹
if語句介紹
switch語句介紹
迴圈語句介紹
「當」型迴圈while
"直到"型迴圈do...while
最常用的迴圈for
程式的結構化是乙個設計思想,規定了一套方法,是程式具有合理的結構,以保證和驗證程式的正確性。這種方法要求程式設計者布恩那個隨心所欲的編寫程式,而要按照一定的結構形式來設計和編寫程式。他的乙個重要目的是使程式具有良好的結構,使程式易於設計,易於理解,易於除錯修改,以提高設計和維護程式工作的效率。
結構化程式設計的三種基本結構是:順序結構、選擇結構(分支結構)、迴圈結構。
順序結構表示程式中的各操作是按照它們出現的先後順序執行的。
選擇結構表示程式的處理步驟出現了分支,它需要根據某一特定的條件選擇其中的乙個分支執行。選擇結構有單選擇、雙選擇和多選擇三種形式。
迴圈結構表示程式反覆執行某個或某些操作,直到某條件為假(或為真)時才可終止迴圈。在迴圈結構中最主要的是:什麼情況下執行迴圈?哪些操作需要迴圈執行?迴圈結構的基本形式有兩種:當型迴圈和直到型迴圈。
當型迴圈:表示先判斷條件,當滿足給定的條件時執行迴圈體,並且在迴圈終端處流程自動返回到迴圈入口;如果條件不滿足,則退出迴圈體直接到達流程出口處。因為是"當條件滿足時執行迴圈",即先判斷後執行,所以稱為當型迴圈。
直到型迴圈:表示從結構入口處直接執行迴圈體,在迴圈終端處判斷條件,如果條件不滿足,返回入口處繼續執行迴圈體,直到條件為真時再退出迴圈到達流程出口處,是先執行後判斷。因為是"直到條件為真時為止",所以稱為直到型迴圈。
順序結構的程式雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程式設計方法的關鍵在於構造合適的分支條件和分析程式流程,根據不同的程式流程選擇適當的分支語句。分支結構適合於帶有邏輯或關係比較等條件判斷的計算,設計這類程式時往往都要先繪製其程式流程圖,然後根據程式流程寫出源程式,這樣做把程式設計分析與語言分開,使得問題簡單化,易於理解。
c語言中分支結構包括:if語句和switch語句。
形式一(if):如果表示式為真,則執行語句塊1,否則不執行。
1if(表示式)
25 後續語句;
形式二(if...else...):如果表示式為真則執行語句塊1,否則執行語句塊2
1if(表示式)else
形式三(if...else if...else if ...else):if 和 else之間可以有多個else if,從上往下只執行第乙個為真的表示式對應的**塊內容。
從表示式1開始往下判斷,當表示式為真就執行該表示式對應的語句塊,例如從表示式1開始判斷一直到表示式n才出現表示式的值為真,那麼就執行語句塊n中的內容,當語句塊執行結束後跳出整個if語句。如果表示式1到表示式n的值都為假則執行else後面的語句塊n+1。
且根據情況需要可以省略最後的else及語句塊內容。
1if(表示式1)else
if(表示式2)else
if(表示式3)
8...
9else
if(表示式n)else
形式四(if 語句的巢狀):if語句中根據需要還可以巢狀if語句。
使用if語句值得注意的地方:
#1 if(表示式) ;//if後面跟空語句,表示如果表示式的值為真則什麼也不幹。
#2 if(表示式) return 0; //函式不會往下執行了,直接退出。乙個函式可以有多個return,但只有乙個起作用。
#3 if(非零常量) 表示永真、if(0)表示永假。沒有實際意義
#4 遇到省略大括號的if語句,從下往上依次匹配 else 匹配 if
又稱開關語句。
1)使用格式
switch(表示式)
其語義是:計算表示式的值。並逐個與其後的常量表示式值相比較,當表示式的值與某個常量表示式的值相等時, 即執行其後的語句,然後不再進行判斷,繼續執行後面所有case後的語句。如表示式的值與所有case後的常量表示式均不相同時,則執行default後的語句。
2)case穿透問題
ase語句執行的過程中,一旦進入某個分支後就會一直執行到switch結束。
為了避免上述情況,c語言還提供了一種break語句,專用於跳出switch語句.
3)swith語句值得注意的地方:
1) 表示式的型別(case語句後的值)必須是整型或可以轉變為整型的值(byte、short、char和int型別)。
整形變數整形常量返回值是整形的表示式可以裝換為int型別的表示式
2) 功能**部分可以寫任意多句。
3) case語句可以有任意多句,可以不用加括號「{}」
4) break關鍵字的意思是中斷,指結束switch語句,break語句為可選。
4)case值得注意的地方
1)case的值1、值2...值n只能為常數或常量,不能為變數。
2)case的值必須是整數,不能為浮點數。
3)case後面不可以直接定義變數
4)如果在case後面定義的變數必須加上大括號
5) default語句可以寫在switch語句中的任意位置,功能類似於if語句中的else。
但是寫在最上面會重新一次往下執行,
穿透是往下穿透的。
default寫在最後省略break不影響。
執行流程:在執行的過程中,如果遇到break語句,則跳出switch語句。如果沒有遇到break語句,則一直執行到switch語句的結束。
在不少實際問題中有許多具有規律性的重複操作,因此在程式中就需要重複執行某些語句。一組被重複執行的語句稱之為迴圈體,能否繼續重複,決定迴圈的終止條件。迴圈結構是在一定條件下反覆執行某段程式的流程結構,被反覆執行的程式被稱為迴圈體。 迴圈語句是由迴圈體及迴圈的終止條件兩部分組成的。
while結構迴圈為當型迴圈(when type loop),一般用於不知道迴圈次數的情況。維持迴圈的是乙個條件表示式,條件成立執行迴圈體,條件不成立退出迴圈。
一般形式:
while (表示式){
迴圈體;
do…while語句結構為直到型迴圈(until type loop),也用於不知道迴圈次數的情況。do…while和while的區別在於do…while結構是執行完一遍迴圈體再判斷條件。
一般形式:
do while(表示式); //注意最後的分號
⑴控制變數的初始化。
⑵迴圈的條件。
⑶迴圈控制變數的更新。
表示式1:一般為賦值表示式,給控制變數賦初值;
表示式2:關係表示式或邏輯表示式,迴圈控制條件;
表示式3:一般為賦值表示式,給控制變數增量或減量。
語句:迴圈體,當有多條語句時,必須使用復合語句。
for(表示式1;表示式2;表示式3)語句:/*迴圈體*/
①先對表示式1賦初值;
②判別表示式2是否滿足給定條件,若其值為真,滿足迴圈條件,則執行迴圈體內語句,然後執行表示式3,進入第二次迴圈,再判別表示式2……;否則判斷表示式2的值為假,不滿足條件,就終止for迴圈,執行迴圈體外語句。
python語句和程式結構 Python 語句結構
一.順序結構 一般正常的初級簡單的書寫方式 二.分支結構 1.if if 表示式 語句2.if.else.if 表示式 語句else 語句以縮排判斷if 和elif的配對情況 3.if.elif.else.if 表示式 語句elif 表示式 語句else 語句以縮排判斷if 和elif的配對情況 注...
程式結構和程式執行
有兩個方法來實現條件分支,乙個是條件控制來實現條件分支,另乙個是條件傳送來實現條件分支。int max int a,int b 條件控制 像 x y的結果對處理器來說非常不可 即使最精密的分支 硬體也只有50 的概率 正確。int max int a,int b 條件傳送 一般來說,同樣功能的 條件...
程式結構 流程控制語句
什麼是結構化程式?結構化程式的優勢?結構化程式有哪些?什麼情況下使用什麼結構 條件結構 當某乙個或者多個條件同時成立時執行相應的 塊 這就是條件結構 語法1if boolean表示式 語法2 if boolean表示式 else 語法3 if true elseif true else 總 swhi...