語法:(類型) 表達式,如 (float)a、(int)(x+y)。
注意:
1. 類型與表達式均需括號(單變量可省)。
2. 僅臨時轉換,不改變變量原類型。
例:float f=5.75; printf("%d %f", (int)f, f); 輸出 5 5.75,f 本身不變。
C 運算符 10 大類、15 級優先級。單目、三目、賦值為右結合;多數雙目為左結合。
關鍵點:
- ++ -- 右結合,前綴先運算後取值,後綴先取值後運算。
- = 右結合:a=b=c=5 解析為 a=(b=(c=5))。
- 逗號運算符 , 最低優先級,左結合,值為最後表達式值。
/ 整數相除捨小數(20/7=2),含浮點則浮點除(20.0/7=2.857)。% 僅限整數,100%3=1。++i 先增後用,i++ 先用後增。複合表達式極易錯,建議拆行。=、復合 += -= *= /= %=、位運算賦值 &= |= ^= <<= >>=。x=(a=5)+(b=8) → x=13。x=a+b, y=b+c 值為 y。可鏈式擴展 exp1, exp2, ..., expn 值為 expn。聲明、參數表中的逗號非運算符。
原文附帶數據類型長度範圍表、常量後綴、運算符優先級結合性總結、表達式求值順序原則。