C語言學習記錄_2019.02.04
阿新 • • 發佈:2019-02-05
!= 條件運算 輸出 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