1. 程式人生 > >C語言學習記錄_2019.02.04

C語言學習記錄_2019.02.04

!= 條件運算 輸出 tip ips 並不是 好的 賦值 匹配

  • 邏輯性變量的定義符:bool,在C語言中只有true和false;
  • 定義方式:bool t = true;
  • 邏輯運算符:

!:邏輯非

&&:邏輯與

||:邏輯或

  • 表達區間的錯誤形式:4<x<6;(由左到右順序執行)
  • 表達區間的正確形式:x>4&&x<6;
  • 判斷大寫字母:c>=’A’&& c<=’Z’;
  • 單目運算符的優先級高於雙目運算符;
  • 例:!age<20;--------> (!age)<20; !單目,<雙目;
  • index<0||index>99; ------->index不屬於0-99範圍;
  • 優先級:

1 ()

2 !+ – ++ -- 單目運算符;

3 */ %

4 + -

5 < <= > >= 例:a>6 && a<8;

6 == !=

7 &&

8 ||

9 = += –= *= /= %=

與或的優先級很低,但賦值的優先級永遠是最低的。

  • if (i!=k)

{if (i!=j)

{ if (j!=k)

{

}

}

}

等價於----> if(i!=j && i!=k && j!=k)

{}

  • 註意:邏輯與a&&b運算:自左向右進行,當左面的a為false之後,則不會再進行右面的b運算;
  • 因此賦值最好不要放在表達式中;
  • 對於&&,左邊是false時就不做右邊了,短路
  • 對於||,左邊是true時就不做右邊了,短路
  • 條件運算符: a?b:c; 不推薦使用嵌套的表達式;
  • 條件運算符的優先級僅高於賦值=運算符,低於其他運算符;
  • 逗號表達式:, i=(3+4,5+6);
  • 逗號表達式其結果為逗號後面的東西;所以i=11;
  • 在沒有大括號的情況下,else總是和最近的if去匹配;
  • tips:在if或else後面總是用大括號{},良好的編程習慣;
  • 多路條件選擇 / 級聯的if else:

int f ; ------------------------>單一出口,最後輸出;

if ( ) { }

else if ( ) { }

else if ( ) { }

else if ( ) { }

………

else { }

  • switch( type)

{

case1:{…;break;}

case2:{…;break;}

……….

de‘fault:{…;break;}

}

優點:克服了級聯語句需要不斷嘗試運行每個判斷語句的缺點;

註意:type只能為int整數類型;

  • type只是指示開始的路標,若跳轉後遇不到break,那麽繼續往下走,執行下一條case語句;case並不是劃分的標誌,case只是一個路口;

C語言學習記錄_2019.02.04