運算符有優先級别,例如加減乘除運算中,乘法和除法優先運算,然後,再到加減法。在寫代碼的時候,我們需要時刻提醒自己:我們寫的代碼不是給機器看的,是給人看的,我們需要和同事相互溝通,協同工作。所以,對于一些想優先運行的代碼,我們就用“小括号”包含起來,就會優先運行小括号中的代碼。
例如 c = a1 || a2 b; 我們想先進行 a1 || a2 運算,用 a1 || a2表達式的結果再與b相加,最後的運算結果賦給c對象。但是,在C語言中,由于存在運算符優先級的規則,算術運算符比關系運算符的優先級高,所以,先運行a2 b運算,再把a2 b表達式的值與a1進行“邏輯或”運算。如下是測試的例子:
測試運行的結果如下:
可以看到,先進行a2 b運算,該表達式的值是16,然後,16這個值與再與a1進行“邏輯或”運算,所以,結果是1。
我們想要先執行a1 || a2運算,那麼,就必須用小括号來包含起來,确保小括号中的代碼優先運算,所以,修改為:
int c = (a1 || a2) b;
完整測試代碼如下:
測試運行的結果如下:
注意:我們不提倡在代碼中使用C語言默認的運行優先級,如果我們想讓某一行代碼優先運行,就必須用小括号包含起來,讓小括号中的代碼優先運行。
6 sizeof運算符在C語言中定義了sizeof運算符,它是一個單目運算符,使用如下:
sizeof(T) --- T可以是一種數據類型,或者一個變量
此時,獲取T類型(或者變量)所占據的内存容量大小,單位是字節。例如 long 類型占據4個字節的空間,所以,sizeof(long) 獲取long類型占據的空間大小,得到4個這個數值,程序測試例子如下:
程序運行結果如下:
可以看到,sizeof運算符返回了long類型的内存容量大小。sizeof運算符也可以獲取一個變量占據的内存容量大小,程序測試例子如下:
程序運行結果如下:
可以看到,定義了double類型的變量d,然後,通過sizeof()運算符,可以獲取該變量占據的内存容量大小。
總結本章節,我們學習了按位與、或、異或和條件運算符、賦值運算符等操作。
這些知識點比較多,而且繁雜,那麼,作者建議讀者,要多動手、多思考;對于有疑問的知識,就盡量通過測試例子來驗證。要自己親手多敲代碼,思考問題,驗證問題。有任何疑問的地方,可以聯系作者,一起讨論C語言的學習。
讀者要仔細分析,掌握好每一個知識點,然後,自己總結出對該知識點的理解。自己總結出來的知識,理解才深刻,才是自己掌握的知識。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!