嗨,今天咱們講講C語言控制語句里的條件選擇,主要總結下if else語句。
咱們生活里經常會有這樣的場景,明天該怎么穿呢,得考慮下具體的天氣。如果是晴天,溫度還不錯,可以穿T恤;如果是陰天,就得穿夾克,當然刮大風就得加一件風衣了。根據不同的情況,經常會有不同處理方式。編程也會遇到這樣的情況,提供的數據符合目前的需求,可以實現后續的工作,如果不符合,就得處理其他的安排。所以說編程和生活其實沒有界限,可以說編程來源于生活。
在C語言中,處理這種選擇場景的語法叫做條件語句,條件語句有兩種形式:if else和switch case。其中判斷情況的條件可以羅列更為詳細具體,選擇情況可以根據需要疊加的語法是if else。當然switch case很好用,不過應用場景是判斷情況比較多的時候,可以提高代碼質量。
那么,我們來聊下怎么用,書寫標準:
if (表達式){
語句塊1
}else{
語句塊2
}
注意啦,上面是語法規范,怎么用具體的細節在下面分析:
1. 語句塊:當有若干條語句時,必須用{…}括起來。
2. 表達式:
if語句的表達式一般情況下為邏輯表達式或關系表達式。
如:
if( a == b && x == y ) {
printf(“a=b,x=y”);
}else{
printf(“a!=b, x!=y”);
}
也可以是任意類型(包括整型、實型、字符型、指針類型),表示“真”和“假”的邏輯情況。
例如:if(‘a’) printf(“%d”,’a’);
if(‘3’) printf(“OK!”);
注意:
數值在if里只有“非零”與“零”的用法;
請區分if(x=1)與if(x= =1)的不同,=是賦值符號, ==是邏輯判斷符號。
當然規范的形式只適用用于條件邏輯比較單一的情況,以下是一些根據實際情況做出的一些變形形式。
1. 簡化形式
if(表達式) {
語句塊
}
例如:
if( x>y ) {
printf(“%d”,x);
}
2. 階梯形式
if(表達式1) 語句塊1
else if(表達式2) 語句塊2
else if(表達式3) 語句塊3
else if(表達式4) 語句塊4
...
else 語句塊n
例如:
int main(int argc, const char *argv[])
{
int a;
scanf("%d", &a);
if( a<0 ){
printf("a < 0!\n");
}else if( a == 0){
printf("a == 0!\n");
}else{
printf("(a > 0! \n");
}
return 0;
}
3. 嵌套形式
if(表達式){
if(表達式){ 語句塊1 }
else{ 語句塊2 }
}else{
if(表達式){ 語句塊3 }
else{ 語句塊4 }
}
例如:
int main(int argc, const char *argv[])
{
int a , b, c;
int max;
scanf("%d%d%d", &a, &b, &c);
if( a >= b ) {
max = a;
if( max < c ) {
max = c;
}
} else {
max = b;
if( max < c ) {
max = c;
}
}
putchar(10);
return 0;
}
這里再提一種特殊情況:
if(表達式){
語句塊1;
}
if(表達式){
語句塊2
}
if(表達式){
語句塊3;
}
...
else{
表達式4;
}
這種情況的條件語句組合中,else要注意是后最后一if結合。
好啦,if else的用法講到這里,多做實踐應用,嘗試多種場景。當然因為其可以組合的特性,到實際實踐中組合形式很自由,可能會有迷惑性,其實本質很簡單,就是上面的幾種語法,不要被騙了,要仔細辨別哦。