c語言中的自動型別轉換

2021-10-12 00:22:11 字數 736 閱讀 4838

問題:輸入乙個值,若小於110(規定用100的1.1倍表示)輸出yes。

最初**:

#include

intmian

(void

)return0;

}

執行結果:

修改後**:

#include

intmain

(void

)return0;

}

執行結果:

問題原因:1.1*b 表示式的值為double型別的110.000000。

c語言自動型別轉換規則:

1、若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。

2、轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。

a、若兩種型別的位元組數不同,轉換成位元組數高的型別。

b、若兩種型別的位元組數相同,且一種有符號,一種無符號,則轉換成無符號型別。

3、所有的浮點運算都是以雙精度進行的。

4、char型和short型參與運算時,必須先轉換成int型。

5、在賦值運算中,「 = 」 兩邊的資料型別不同時, 「 = 」 右邊的型別將轉換為左邊的型別。

6、當浮點型別被降級(把一種型別轉換成更低階別的型別)為整數型別時,原來的浮點值會被截斷(小數部分丟棄)。

C語言中型別的自動轉換

同一句語句或表示式如果使用了多種型別的變數和常量 型別混用 c 會自動把它們轉換成同一種型別。以下是自動型別轉換的基本規則 1.在表示式中,char 和 short 型別的值,無論有符號還是無符號,都會自動轉換成 int 或者 unsigned int 如果 short 的大小和 int 一樣,un...

C語言中的型別轉換

計算機進行算術運算時,通常要求運算元具有相同的位數 相同的儲存方式。而c語言支援在表示式中混合使用基本資料型別,因此需要在不同的資料型別之間進行轉換。在c語言中存在兩種型別的轉換,一種是隱式轉換,由編譯器自動處理轉換而無需程式開發人員介入,另一種是強制型別轉換 顯式轉換 需要程式開發人員使用強制轉換...

C語言中的型別轉換!

自動轉換發生在不同資料型別運算時,在編譯的時候自動完成 自動轉換遵循的規則就好比小盒子可以放進大盒子裡面一樣,下圖表示了型別自動轉換的規則。縮寫 ascii 英文全稱 american standard code for information interchange 美國資訊交換標準 是一種用於資...