目錄
算術運算符:
+
? -
? *
? /:不能除0
?%:不能對浮點數操作
++:自增與運算符? ?i++:先用再加? ?++i:先加再用
--:自減運算符
常量,表達式不可以++,--,變量可以
賦值運算符
三目運算符
逗號表達式
sizeof運算符
運算優先級
算術運算符:
+
? -
? *
? /:不能除0
?%:不能對浮點數操作
++:自增與運算符? ?i++:先用再加? ?++i:先加再用
--:自減運算符
常量,表達式不可以++,--,變量可以
賦值運算符
=
左值:允許放在賦值運算符左邊的值,只有變量可以作為左值
右值:允許放在賦值運算符右邊的值,常量,變量,常量變量組成的表達式都可以是右值
左值為浮點數類型,右值為整型,會擴展精度。
左值為整數類型,右值為浮點數類型,會舍棄精度
左右兩邊均為整型,會將右值直接拷貝到左值空間中去。(注意有無符號轉換,符號位注意)
小數據放入大數據:數據擴展,有無符號數高位都補符號位,無符號數都補0
大數據放入小空間:直接截取數據地位放入小空間
a +=3;? ? a= a+3
a *= 2+3;? ? ?a= a*(2+3)? 先算右邊加號,再算乘等于,乘等于優先級低。
三目運算符
表達式?表達式1:表達式2;? ? 如果第一個表達式為真就執行表達式1,否則就執行表達式2
eg? ?int? a= 1;
? ? ? ? int b = 3;
? ? ? ? int max =0;
max = a>b ? a : b;
上式就會比較a,b的大小從而作為右值的最終值,再進行賦值給max
逗號表達式
從左到右依次執行表達式,并將最后一個逗號表達式的結果作為整體逗號表達式的結果
sizeof運算符
sizeof(數據類型/變量名):獲得數據類型,或者是變量在內存中所占的字節