C語言(yan):if-else語句
時(shi)間:2019-03-29 來源:華(hua)清遠見
嗨,今天咱們講講C語言控制語(yu)句(ju)里的條件選擇,主要總結下if else語(yu)句(ju)。
咱們(men)生活(huo)里經(jing)常(chang)會(hui)有這(zhe)樣(yang)的(de)(de)(de)場景,明天(tian)該怎么穿(chuan)呢,得考慮下具體(ti)的(de)(de)(de)天(tian)氣。如(ru)果(guo)(guo)是晴天(tian),溫度還不錯,可以(yi)(yi)穿(chuan)T恤;如(ru)果(guo)(guo)是陰天(tian),就得穿(chuan)夾克,當然(ran)刮大風就得加一件(jian)風衣了(le)。根據不同(tong)的(de)(de)(de)情(qing)況,經(jing)常(chang)會(hui)有不同(tong)處(chu)理(li)方式(shi)。編(bian)程也會(hui)遇(yu)到這(zhe)樣(yang)的(de)(de)(de)情(qing)況,提供的(de)(de)(de)數據符合(he)目前的(de)(de)(de)需求,可以(yi)(yi)實現后續的(de)(de)(de)工作,如(ru)果(guo)(guo)不符合(he),就得處(chu)理(li)其(qi)他(ta)的(de)(de)(de)安排(pai)。所以(yi)(yi)說編(bian)程和生活(huo)其(qi)實沒有界限,可以(yi)(yi)說編(bian)程來(lai)源(yuan)于生活(huo)。
在C語(yu)言(yan)中,處(chu)理這種(zhong)選擇(ze)場景(jing)的(de)(de)語(yu)法叫做條件語(yu)句(ju),條件語(yu)句(ju)有兩種(zhong)形式(shi):if else和switch case。其中判斷情況(kuang)的(de)(de)條件可以羅列更為詳細具體,選擇(ze)情況(kuang)可以根據(ju)需要(yao)疊加的(de)(de)語(yu)法是if else。當然switch case很(hen)好用(yong),不(bu)過應用(yong)場景(jing)是判斷情況(kuang)比較多的(de)(de)時候,可以提高代碼質量(liang)。
那么,我們來聊下怎么用,書寫標(biao)準:
if (表達式){
語句塊1
}else{
語句塊2
}
注意啦,上面是語法(fa)規范,怎么用具體的細節在(zai)下面分析:
1. 語句塊(kuai):當有若干條語句時,必(bi)須(xu)用{…}括起來(lai)。
2. 表達(da)式:
if語句的表達(da)式一(yi)般情況下為邏輯表達(da)式或關系表達(da)式。
如:
if( a == b && x == y ) {
printf(“a=b,x=y”);
}else{
printf(“a!=b, x!=y”);
}
也可以是任意類型(xing)(包括整型(xing)、實型(xing)、字符型(xing)、指針(zhen)類型(xing)),表示(shi)“真”和“假(jia)”的邏(luo)輯情況。
例如:if(‘a’) printf(“%d”,’a’);
if(‘3’) printf(“OK!”);
注意:
數(shu)值在if里只有“非零(ling)”與(yu)“零(ling)”的用法;
請區分if(x=1)與if(x= =1)的不同,=是(shi)賦值符號(hao), ==是(shi)邏(luo)輯判斷(duan)符號(hao)。
當然規范(fan)的形(xing)(xing)式只適(shi)用用于條件邏輯比較單一(yi)的情(qing)況,以下(xia)是一(yi)些根據實際情(qing)況做出的一(yi)些變形(xing)(xing)形(xing)(xing)式。
1. 簡化形式(shi)
if(表達式(shi)) {
語句塊
}
例如:
if( x>y ) {
printf(“%d”,x);
}
2. 階梯形式
if(表達式1) 語句塊1
else if(表達式2) 語句塊2
else if(表達式3) 語句塊3
else if(表達式4) 語(yu)句塊4
...
else 語句塊(kuai)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(表(biao)達式(shi)){
if(表達式(shi)){ 語句塊1 }
else{ 語(yu)句(ju)塊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;
}
這(zhe)里再提一種特殊(shu)情況:
if(表達式){
語句塊1;
}
if(表達式(shi)){
語句塊2
}
if(表達式){
語句塊3;
}
...
else{
表達式4;
}
這種情況的條件語句(ju)組合(he)中(zhong),else要(yao)注意(yi)是(shi)后最后一if結合(he)。
好(hao)啦,if else的(de)(de)用法講(jiang)到(dao)這里(li),多(duo)做實(shi)踐應用,嘗試(shi)多(duo)種場景(jing)。當然因為其可以組(zu)(zu)合(he)的(de)(de)特性(xing),到(dao)實(shi)際(ji)實(shi)踐中組(zu)(zu)合(he)形式很自由,可能會(hui)有迷惑性(xing),其實(shi)本質很簡單,就是(shi)上面的(de)(de)幾種語法,不要被(bei)騙了,要仔細辨別哦。

