11.3 選擇結構的一些坑

C中的語句以分號;結尾(西文),表示當前語句的結束,特殊一點的有兩種,一個是空語句,一個是複合語句。

一、空語句就是一個分號;,它什麼也不作,可是它是一條語句。

例如:spa

int x=3,y=5;
;  //這個空語句是執行的,但它什麼也不幹
printf("%d,%d",x,y);

 

二、複合語句是用{ }括起來的多條語句, { }也稱爲語句塊,經常使用在選擇結構和循環結構中,{ }總體上看是一條語句,注意{ }的末尾沒有分號;

三、選擇語句有if和switch,先說if語句

常見的if語句:code

int x=3,y=5,max=0;
if(x>y)
       max=x;
else
       max=y;
printf("max=%d",max);

這個代碼求的是x,y的最大值賦值給max,並打印最大值max的值。it

 

注意失誤會帶來的「坑」

1號坑:if後面必須跟( ),可是右括號的後面沒有空語句;

錯誤寫法:class

if(x>y);  //括號後面多寫了分號;
    .......
else
    .......

2號坑:注意if()裏的=和==號,帶來的運算和結果是徹底不同的。

int x=3,y=5;
if(x=y)
       .......
else
       .......

3號坑:if控制的語句若是超過一條語句,必定要用複合語句括起來,不然題目的邏輯就容易出錯。下例中,若是沒有使用{ },則if控制的是t=x;後面的x=y;y=t;與if沒有關係,整個邏輯就變了。

int x=3,y=5,t;
if(x>y)
{
       t=x;
       x=y;
       y=t;
}
相關文章
相關標籤/搜索