控制語句
一、分支語句(選擇結構)
if分支語句
單分支選擇
if(條件表達式)
{
語句塊A
}
例子:
定義兩個整型變量a和b,通過比較它們的大小,求出較大者。
int a, b, max;
a = 4; //a賦初值爲4
b = 2; //b賦初值爲2
max = a; //假設a是a、b兩者之間較大的數
if ( a < b ) //判斷a是否小於b
{
//如果表達式爲真,b就是最大值
max = b;
}
雙分支選擇
if(條件表達式)
{
語句塊A
}
else
{
語句塊B
}
備註:必有一個語句塊會被執行
例子:輸入你的成績 打印及格與否
同樣還是定義兩個整型變量a和b,並比較它們的大小,求出較大者。
int a, b, max;
a = 4;
b = 2;
if ( a < b ) //判斷a是否小於b
{ //第一個程序段
max = b; //如果表達式a < b爲真,則b爲最大值
}
else
{
//第二個程序段
max = a; //如果表達式a < b爲假,則a爲最大值
}
多分支選擇
if(條件表達式)
{
語句塊A
}
else if (條件表達式)
{
語句塊B
}[else if (條件表達式)
{
語句塊B
}...]
[else
{
語句塊C
}
備註:
1、else if分支可以N個
2、else分支可選
if分支判斷語句有以下3種分支塊
if() {}
else if() {}
else{}
備註:
1、其中if(){}分支是必選的
2、else if(){}和else{}是可選的
3、else if(){}可多個
4、else{}至多隻能有一個
5、書寫順序爲 if(){} -> else if(){} -> else{}
switch分支語句
語法:
switch(表達式)
{
case 常量1:
語句A;
語句B;
語句C;
[break;]
[
case 常量2:
語句A;
語句B;
語句C;
[break;]
......
]
[
default:
語句A;
語句B;
語句C;
break;
]
}
備註:
break的作用:跳出分支
default分支塊作用:當沒有滿足條件的分支,那麼default分支會被執行
case分支塊,可多個
default分支塊至多一個
書寫順序先case分支塊最後default分支塊
條件運算符
C語言中唯一一個三目運算
a ? b : c簡單理解方式爲:
if(a)
{
return b;
}
else
{
return c;
}
例子:
1、1<2?4:5 4
a > b ? (c = a) : (c = b);//c存放最大值
等價於if語句
Int a = 10;
Int b = 30;
Int c = -1;
a < b ? (b = 1) : b > 20 ? (c = 2) : (c = 4);//短路現象
例如:
⑴ m<n ? x : a+3
等價於:(m<n) ?(x) :(a+3)
⑵ a++>=10 && b-->20 ? a : b
等價於:(a++>=10 && b-->20) ? a : b
⑶ x=3+a>5 ? 100 : 200
等價於:x= (( 3+a>5 ) ? 100 : 200 )