1、定義:
某些**可能執行,也可能不執行,有選擇的執行某些**。
2、分類:
(1)if: 非零為真,是零則假
if(表示式)
語句1)範圍問題:
if(表示式)
語句a;
語句b; //if成立則預設只執行下一行 (語句a)
if(表示式)
語句a;
語句b;
} //if成立執行大括號內所有的語句
2)if…else…
if(1)
a;else if (2)
b;else if (3)
c;else
d;3)if常見問題歸納:
if(); —— if 空語句
if(表示式1)
a;else if (表示式2)
b;else if (表示式3)
c;else
d; //即使表示式1和2都成立,也只會執行a語句
if(表示式1)
a;else if (表示式2)
b;else if (表示式3)
c; //去掉else後,語法沒問題,邏輯有漏洞
if(表示式1)
a;else if (表示式2)
b;else if (表示式3)
c;else(表示式4)
d; //錯誤寫法。要麼去掉(表示式4),要麼改為else if(表示式4)
if(表示式1)
a;else if (表示式2)
b;else if (表示式3)
c;else(表示式4);
d; //語法沒問題,邏輯上有錯誤,空語句
3、switch —— case(break)—— default(break)
(1)表示式:
switch(表示式)
case 常量表示式1:語句1;
case 常量表示式2:語句2;
case 常量表示式n:語句n;
default: 語句 n+1;
(2)知識考點:
1)所有的case後面的常量表示式為便與描述我們稱為——標籤,則標籤只能是:列舉常量(列舉元素)、數值常量、字元常量、常變數、巨集名中的一種普通變數;切記列舉變數不能作為標籤來使用。
2)switch後面的括號裡的「表示式」允許是任何型別;但vc++只允許 int 或 char;
3)執行完乙個case語句後,流程控制就轉移到下乙個case子句繼續執行。
例子:switch(i)
當i == 1時,從case1向下依次執行;當i == 2時,從case2向下依次執行;當i == 3時,只執行case 3 一句;當i == 4時,從default開始往下依次執行。
1、定義:某些**會被重複執行。
2、分類:
(1)for:
for(1; 2; 3)
語句a;
1)執行流程:單個for迴圈、多個for迴圈巢狀;
for(1; 2; 3) //1
for(4; 5; 6) //2
a; //3
b; //4 整體是兩個語句,1/2/3為語句一,4為語句二
1完了執行2,2成立執行4,4完了執行5, 5成立執行6和a,5不成立執行3,3完了執行2,2不成立執行b
一句一句依次向下迴圈執行!
for(1; 2; 3) //1
for(4; 5; 6) //2
a; //3
b; //4
} //整體是乙個語句
for(7; 8; 9)
for(1; 2; 3)
a;b;
for(4; 5; 6)
c; //3
} //整體是乙個語句
(2)while
while(表示式)
語句;1)與for比較
for(1; 2; 3)
a;等價於
1;while(2)
a;3;
(3) do…while…
dowhile(表示式); //主要用於人機互動
(4)break和continue:
1)break:
如果用於迴圈是用來終止迴圈;如果用於switch,則用來終止switch;不能直接用於if,除非if屬於迴圈內部的乙個子句。
在多層迴圈中,break只能終止最裡面包裹它的那個迴圈。
在多層switch(迴圈)巢狀中,break只能終止距離它最近的switch(迴圈)。
2)continue:
用於跳過本次迴圈餘下的語句,轉去判斷是否需要執行下次迴圈。
《一》 強制型別轉換:
格式:(資料型別) (表示式)
功能: 把表示式的值強制轉化為前面所執行的資料型別
例子:
( int ) (4.5 + 2.2) //結果為6
( float ) ( 5 ) //結果為5.000000,float 型別必須用%f輸出
sum = sum + (float)( 1 / i ) 等價於 sum = sum + 1.0 / i;
《二》 浮點數的儲存帶來的問題:
float 和 double 都不能保證可以精確到的儲存乙個小數。
迴圈更新的變數不能定義成浮點型!
C語言流程控制
1迴圈 for while do while while 邏輯值的表示式 先判斷再執行 迴圈體do while 邏輯值的表示式 先執行再判斷 注 1 表示式為真,繼續迴圈 表示式為假,退出迴圈 2 表示式中值是否初始化。3 結束退出 運算子 8 逗號運算子 表示式1,表示式2,表示式3,表示式n 結...
C語言流程控制
當分支語句過多時,使用if語句會提高 閱讀難度。判斷浮點數大小時需通過區間來進行,浮點數在進行儲存的時候會喪失了一定的精度,而對比浮點數大小的時候比較的是他們二進位制的數值。判斷浮點數是否等於0 define epsinon 0.0000001 int main return 0 先判斷條件再執行循...
C語言 流程控制
流程控制內容主要由選擇控制和迴圈控制組成。一 選擇控制 一 if 選擇結構 1 if 表示式 語句1 2 if 表示式 語句1 else 語句2 3 if 表示式 為作用域,裡面可以放多個滿足條件的語句 4 if else if else 只有乙個表示式會被判斷執行 舉例 1 int a 6 2 3...