C語言3 分支結構和迴圈結構

2021-10-16 12:25:42 字數 2717 閱讀 2222

分支結構

分支語句就是從幾組無關的語句中選擇一組來執行。

1.if語句

if語句就是根據乙個邏輯表示式的記結果來決定一組語句是否執行

語法:if(邏輯表示式)

如果有多組相關的if語句,可以用else將這些if語句連線起來

if(…)

else if(…)

else

如果希望以上的if語句至少執行一組,可以省略最後乙個邏輯表示式

注意事項:

1)如果if語句下的大括號內只有一條語句,此時可以省略大括號(不推薦使用)

2)不能在if的小括號後加分號

3)if語句可以巢狀使用,但是巢狀的層數一般不要超過2層

4)邏輯表示式中不能用浮點數進行 ==和 !=運算,要用《和》代替

float型別:

float f_num = ***;

f_num == 0 *****> f_num>-1e-6 && f_num<1e-6

double型別:

double d_num = ***;

d_num == 0 *****> d_num>-1e-15 && d_num<1e-15

2.switch … case語句

switch … case語句也可以實現分支結構,根據算術表示式的結果選擇分支

語法:switch(算術表示式)

注:算數表示式和常量表示式的型別必須是 整數型別(long int short char)

if else和switch case都可以實現分支,其中switch case的效率稍高,在語法簡便實現的前提下,可以優先選擇switch case來實現。

流程控制語句

二.迴圈結構

迴圈也是一種流程控制語句

作用是讓一組語句反覆執行,降低**的冗餘度

1.for迴圈

(1)for語句可以實現迴圈結構

語法:for(迴圈變數的初始化;迴圈結束條件;每次迴圈對迴圈變數的操作)

注:迴圈變數用於控制迴圈的變數,需要事先宣告,c99開始允許在小括號內部宣告。

可以在迴圈中使用break語句直接退出迴圈,之後的迴圈不再進行。

在for迴圈中,如果有break語句,在迴圈結束後可以通過判斷小括號內的迴圈結束條件的真假來區分是break退出還是迴圈條件不滿足推出,如果迴圈結束條件為真,迴圈通過break退出,迴圈結束條件為假,迴圈由於迴圈條件不滿足退出。

可以在迴圈中使用continue語句,作用是立即結束本次迴圈,重新開始下一次迴圈。

(2)for迴圈的執行順序

假設有如下迴圈

for(1;2;3)

他的執行順序:

[1 2] [4 3 2] [4 3 2]…

正常情況下(無break)在兩組之間結束,在一組結束後檢查2的結果,為真繼續執行下一組,為假就退出迴圈。

正常退出情形下2的結果一定為假

for迴圈可能一次都不執行

(3)for迴圈的常見用法

1)如果大括號中只有一條語句,可以省略大括號

2)不要在for迴圈小括號後加分號

3)小括號中的每個部分可以用逗號連線多條語句,其中退出條件一定要寫到最後。

4)小括號內部的三個部分都可以省略(分號不能省略),如果省略退出條件,表示退出條件永遠為真,迴圈變成死迴圈。

//死迴圈

for(;?

5)for迴圈的語句體中一條語句都沒有,這種迴圈叫空迴圈。此時可以省略大括號,同時在小括號後加分號。

6)迴圈巢狀,指的是迴圈語句中還有迴圈與具,用來解決一些複雜的迴圈問題。如果乙個問題可以分解為幾組,每一組又有多種情況,這樣的問題就可以用迴圈巢狀來解決。break和continue只影響本層迴圈。

編寫方法:

首先列出所有的數字(情況)

然後將所有的數字(情況)分組,為每一組指定乙個編號

使用兩層迴圈,外層迴圈描述組編號的變化構成,內層迴圈描述組內數字的變化過程

3.while迴圈

while語句也可以實現迴圈,它和for迴圈完全可以互相替代

(1)語法

while(邏輯表示式)

通過邏輯表示式控制迴圈的執行,邏輯表示式為真繼續迴圈,為假結束迴圈

while迴圈中可以i使用break和continue語句,效果和在for迴圈中一樣

(2)while迴圈的執行順序

假設有如下語句

while(1)

(3)while迴圈的特殊用法

1)如果邏輯表示式永遠為真,while迴圈就是乙個死迴圈

while(1)

2)while迴圈也可以實現空迴圈,語法類似於for

while(邏輯表示式);

3.do…while迴圈

do…while語句也可以實現迴圈結構

(1)語法

dowhile(邏輯表示式);

do…while語句類似於while語句,也是根據邏輯表示式的真假來決定是否繼續迴圈,區別在於執行順序有變化。

(2)執行順序

假設有如下語句

dowhile(2);

執行順序:[1 2] [1 2] [1 2] [1 2]…

相當於去掉while迴圈的的一組

do…while迴圈至少執行一次

注:其他操作和while語句完全一致

4.goto語句

goto語句也屬於流程控制語句,作用是實現無條件跳轉。

也就是可以任意執行下一條執行語句的位置。

隨意使用goto語句會破壞**的邏輯性,一般不允許使用goto語句。

C語言篇 5 分支結構 迴圈結構

第一種 如果條件表示式成立就執行小括號後面大括號中的語句 if 條件表示式 第二種 如果條件表示式成立就執行if後面小括號後面大括號中的語句,否則就執行else後面大括號中語句 這裡至少有乙個 會被執行 if 條件表示式 else 第三種 if 條件表示式1 else if 條件表示式2 else ...

C語言程式設計2 分支結構

第一題 1.輸入乙個整數,判斷奇偶,並輸出 某某是奇數 或者 某某是偶數 import int main int argc,const char argv 2.輸入乙個數,判斷符號。如果大於0,輸出 正數 如果小於0,輸出 負數 如果等於0,輸出 0 import int main int argc...

Python 學習 6 分支和迴圈結構

if語句 python中的if語句和其他程式語言中的結構相同,由三部分組成 單個if語句可以使用and or not實現多重條件的判斷。若執行的 塊僅有一行,則可以與if語句放在一行。else語句 和其他語言一樣,python也提供了與if配套使用的else語句。要注意的是,python使用縮排而不...