位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 類型自動(dòng)轉(zhuǎn)換

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-28

    類型自動(dòng)轉(zhuǎn)換是在運(yùn)算時(shí)系統(tǒng)自動(dòng)完成的。轉(zhuǎn)換規(guī)則由級(jí)別低的類型轉(zhuǎn)換為級(jí)別高的類型,即由存儲(chǔ)位數(shù)少的向存儲(chǔ)位數(shù)多的轉(zhuǎn)換。

    圖中橫向箭頭表示必須的轉(zhuǎn)換,例如,兩個(gè)char型數(shù)據(jù)或兩個(gè)short數(shù)據(jù)也必須轉(zhuǎn)換為int型才進(jìn)行運(yùn)算。圖中縱向箭頭表示當(dāng)運(yùn)算符兩側(cè)的操作數(shù)類型不同時(shí),由級(jí)別低的向級(jí)別高的轉(zhuǎn)換。如int型與long型運(yùn)算,將int型轉(zhuǎn)換為long型,結(jié)果也為long型。這里需要注意的是,當(dāng)int型與double型進(jìn)行運(yùn)算時(shí),并不是int先轉(zhuǎn)換為unsigned int,再轉(zhuǎn)換為long等逐層轉(zhuǎn)換,而是直接將int型轉(zhuǎn)換為double型。當(dāng)然,所有的轉(zhuǎn)換都是由系統(tǒng)自動(dòng)完成的。

    例如:

    5+'a'/2.0+14.0/2

    運(yùn)行步驟為:

①先進(jìn)行優(yōu)先級(jí)最高的運(yùn)算,先將字符專換為整型97。

②因?yàn)?7為整型,2.0為double型,要進(jìn)行運(yùn)算,先將97轉(zhuǎn)換為double型,再運(yùn)算97/2.0, 結(jié)果為48.5。

③再運(yùn)行14.0/2,結(jié)果為6.5。

④之后計(jì)算5+48.5+6.5,將5轉(zhuǎn)換為double型,結(jié)果為60。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部