㈠ c語言中整型和浮點型混合運算的結果是什麼類型
c語言中整型和浮點型混合運算的結果為double型(雙精度浮點類型)。
c語言中如果一個運算符兩邊的運算數類型不同,先要將其轉換為相同的類型,即較低類型轉換為較高類型,然後再參加運算,轉換規則:float(浮點型)轉化為double(雙精度浮點類型)、int(整型)轉為unsigned(無符號整型)轉為long(長整型)轉為(雙精度浮點類型)。
因此,c語言中整型和浮點型混合運算,只能是整型和浮點型同時強制轉換為相同的double型(雙精度浮點類型)。如兩個float型數參加運算,雖然它們類型相同,但仍要先轉成double型再進行運算,結果亦為double型。
(1)c語言同時使用int和double擴展閱讀:
在C語言中,自動類型轉換遵循以下規則:
1、若參與運算量的類型不同,則先轉換成同一類型,然後進行運算。
2、轉換按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。若兩種類型的位元組數不同,轉換成位元組數高的類型。若兩種類型的位元組數相同,且一種有符號,一種無符號,則轉換成無符號類型。
3、所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算。
4、char型和short型參與運算時,必須先轉換成int型。
5、在賦值運算中,賦值號兩邊量的數據類型不同時,賦值號右邊量的類型將轉換為左邊量的類型。如果右邊量的數據類型長度比左邊長時,將丟失一部分數據,這樣會降低精度,丟失的部分按四捨五入向前舍入。
㈡ C語言int和double的運用
對於b=a/c;,因圖2中a和c都是整型,因此發生的是整除,小數部分被直接丟棄了。
比如:
int a=3,b=2;
double c=a/b;
因為a、b都是整型,/進行的是整除運算,c的值就是1,0.5被丟棄了。
而圖1中b是double型,/運算的結果會保留小數部分,所以兩個結果不同。
㈢ C語言里int與double是怎麼回事 剛學
s是int 但是你3.14是double 乘以int結果也是double,相當於把double隱形的轉為int了你應該定義為double
㈣ 在C語言中Int和double怎麼轉換
1、打開vc軟體,新建一個空白的vc項目文件: