前面介紹了程式中用到的一些基本要素(常量,變數,運算子,表示式),他們是構成程式的基本成分,下面將介紹c語言中流程控制的三種結構:順序結構、分支結構、迴圈結構
順序結構的程式設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行
分支結構的程式設計是依據一定的條件選擇執行的路徑,而不是嚴格按照語句出現的物理順序
1, if分支
格式一:
if(表示式)
執行流程:
1、當程式執行到if語句時,首先判斷表示式的真假;若表示式的值為真(非0),則執行大括號裡面的語句;若表示式的值為假(0),則執行大括號後面的語句
格式二:
if(表示式) else
執行流程:
1、當程式執行到if-else語句時,首先判斷表示式的真假;若表示式的值為真(非0),則執行語句1,若表示式的值為假,則執行語句2
格式三:
if(表示式1) else if(表示式2) else if(表示式n) else
執行流程:
1、當程式執行到if語句時,首先判斷表示式1的真假;若表示式1的值為真(非0),則執行語句1;若表示式1的值為假(0),判斷表示式2的真假
2、若表示式2的值為真(非0),則執行語句2,若表示式2的值為假(0),判斷表示式3的真假,依次類推
3、若若表示式n的值為假(0),則會執行else裡面的語句m
2, switch分支
格式四:
switch (整型表示式)
執行流程:
1、首先判斷整型表示式的值,然後用值來匹配case後面的整型常量,匹配到整型常量1則執行語句1,匹配到整型常量2則執行語句2
2、如果都沒有匹配到,則執行default中的語句塊n
迴圈結構的程式設計是在合適的條件判斷下,重複做某些操作,只要有重複操作我們就可以使用迴圈,具體**體現在重複執行相同的語句
迴圈結構的三個要素:迴圈變數、迴圈體和迴圈終止條件
c語言中提供四種迴圈:goto迴圈、while迴圈、do…while迴圈和for迴圈,不提倡使用goto語句
1, goto迴圈
int i = 0;
label:/*標籤*/
if (i<100/*表示式*/)
執行過程:
1、首先判斷表示式是否成立,如果不成立,跳出/結束整個迴圈,如果成立那麼執行語句塊的內容,語句塊的內容執行完之後
2、跳到goto後面指定的標籤處,再次執行判斷表示式是否成立
3、如果成立繼續執行語句塊內容,依次類推直到表示式不成立跳出goto迴圈
2, while迴圈
while (1/*表示式*/)
執行過程:
1、首先判斷表示式是否成立,如果不成立,跳出/結束整個迴圈,如果成立那麼執行語句塊的內容,語句塊的內容執行完之後
2、再次判斷表示式是否成立,如果成立繼續執行語句塊內容,依次類推直到表示式不成立跳出迴圈
3, do...while迴圈
do while(1/*表示式*/);
執行過程:
1、程式直接執行語句塊的內容一次(和while的區別)
2、然後判斷表示式是否成立,如果不成立,跳出/結束整個迴圈,如果成立那麼執行語句塊的內容,語句塊的內容執行完之後
3、再次判斷表示式是否成立,如果成立繼續執行語句塊內容,依次類推直到表示式不成立跳出迴圈
4, for迴圈
for (int i=0/*初始化語句*/; i<100/*表示式2*/; i++/*表示式3*/)
執行過程: (初始化語句往往用於初始化迴圈的一些變數)
1、首先執行初始化語句,(初始化語句,在整個for迴圈開始的時候執行一次)
2、判斷表示式2是否成立,如果表示式成立(表示式的值是非0值),那麼執行語句塊的內容,執行完語句塊跳到第3步。否則(表示式不成立)那麼結束整個for迴圈(跳出整個for迴圈)
3、執行表示式3,接著跳到第2步
5, 迴圈的拓展
1、關鍵字 break
break 跳出包含break的迴圈
break 可以出現在switch和迴圈
2、關鍵字 continue
continue 只能用於迴圈
continue 結束本次迴圈,繼續下次迴圈
3、迴圈的特殊寫法
跳出裡層迴圈
for (;;)
}
死迴圈
for(;;)
while (1)
等同於while的迴圈
for(;表示式;)
while (表示式)
(四)Lua 流程控制
控制結構的條件表示式結果可以是任何值,lua認為false和nil為假,true和非nil為真。語句描述 ifif語句 由乙個布林表示式作為條件判斷,其後緊跟其他語句組成 if else 可以與else語句搭配使用 if 表示式為false 執行else語句 if巢狀語句 可以在if或者else中 ...
C流程控制
一 流程控制結構 1 順序結構 按書寫順序執行每一條語句。2 選擇結構 對給定的條件進行判斷,根據判斷結果決定執行哪一段 3 迴圈結構 在給定條件成立的情況下,反覆執行某一段 二 選擇結構 if a 在這種情況下,當條件成立,只執行語句1,語句2不屬於次條件結構,但不推薦此種寫法。if 條件 語句1...
C 流程控制
塊語句 成為乙個整體 else 條件為假 語句 多分支 if 表示式1 語句 1 else if 表示式2 語句 2 else 語句n 巢狀if 雙分支 if 表示式 條件為真 if 表示式 語句 else 條件為假 if 表示式 語句 多分支 switch switch 整型表示式 注 必須為整型...