類型轉換分類:若參與運算的量類型不同,則先轉成同一類型再進行計算,分爲隱式轉換和顯示轉換。
①隱式轉換:由編譯器完成。
C語言規定轉換規則是由低級向高級轉換。
注:賦值運算時,如兩邊類型不同,將自動轉換爲和左邊相同的類型。
②顯示轉換:又叫強制類型轉換。直接在要轉換的數據前面用小括號加需要轉換成的類型。一般形式爲:(類型名)表達式;
如: a = ( int )7.6; //表示把7.6強轉成整型,結果爲7。
int sum = 0;
sum = 1.6 + 1.7; //3.3轉成整型結果爲3
sum = (int)1.6 + (int)1.7; //先強制轉換,變成1 + 1 = 2
無論是強制轉換還是自動轉換,都只是爲了本次運算的需要對變量的數據長度進行臨時性轉換,而不改變數據說明時對該變量定義的類型。
轉換規則:爲確保計算精度,按數據長度增加的方向進行(如上圖)。
注:浮點型運算都是按雙精度進行的,即使兩個單精度的float數據也要先轉成double型數據再進行計算;char型和short型進行計算時,都要先轉成int型數據。