C語言中double和int型的資料之間可相互賦值

2021-03-04 08:48:31 字數 1634 閱讀 3754

1樓:匿名使用者

可以。 如:

double a=1.2;

int b;

b=a;   b=1;//取整了

int a=1;

double b;

b=a;  b=1.00000

(1)double(雙精度浮點型)是計算機使用的一種資料型別。比起單精度浮點數(float),double(雙精度浮點數)使用 64 位(8位元組) 來儲存乙個浮點數。

(2)int是將乙個數值向下取整為最接近的整數的函式。int是資料庫中常用函式中的取整函式,常用來判別乙個數能否被另乙個數整除。

c語言的double 和int的區別,%d和%f的區別

2樓:南北浮生

int:整型,即我們通常意義下的整數變數,例如1、2、3、4、5等。

double:雙精度實型數,即我們通常意義下的小數,例如1.25、1.37、5.0等。

%d:這是c語言中scanf用於輸入整數的格式,輸入整數的格式是scanf("%d",&a)。

%f:這是c語言中scanf用於輸入小數的格式,輸入整數的格式是scanf("%lf",&a)。

在你的公式c=(f-32)*5/9計算結果應該為雙精度,不能用int來定義變數。如果強制賦型會導致資料丟失:小數部分會丟失,只保留整數部分。

雙精度浮點數(double)是計算機使用的一種資料型別,使用 64 位(8位元組) 來儲存乙個浮點數。 它可以表示十進位制的15或16位有效數字,其可以表示的數字的絕對值範圍大約是:2.

23x10-308 ~ 1.79x10308。ieee754為其定製標準。

c/c++程式語言中,int表示整型變數,是一種資料型別,用於定義乙個整型變數,在不同編譯環境有不同的大小,不同編譯執行環境大小不同。在32/64位系統中都是32位,範圍為-2147483648~+2147483647,無符號情況下表示為0~4294967295。

參考資料

3樓:墨軒

double是雙精度實型數(小數),int為整型,%d是輸出有符號的十進位製數,%f輸出實型數(小數),%lf輸出doule型資料,當用int代替double時,會發生資料丟失,也就是說小數部分丟失,只留下整數部分,希望可以幫到你!

4樓:匿名使用者

不能用int替換

設f為33.0,(f-32)*5/9的值為0.55。即c的值為0.55

如果用int型別,不能帶小數點後的數,所以c的值為0,結果是錯誤的。

只有當f-32為9的倍數時,就可以用int代替,否則會因為有小數導致結果出錯。

double是能記錄帶小數點的資料,int只能是整數。如果將小數賦值給int型資料,如6.3賦值給int,值為6,小數後的值被刪去了。

在scanf裡面,輸入整數的格式是scanf("%d",&a);輸入double數的格式是scanf("%lf",&f);

5樓:匿名使用者

因為所有的計算機語言,每個型別都向更精確的方向去自動轉。比如說,int能自動轉double型,但是倒過來就不行,必須強制轉。

6樓:匿名使用者

double就是小數,int是整數,%f是浮點數佔位符,要換成int整型的,要寫%d 不能是%f

c語言中int型與double型能進行換算加減乘除嗎

能進bai行,不會錯,系統實際會把du參加運zhi算的所有變數轉換為double後進dao行計算專,只要表示式屬裡面有乙個float或者double的量,例如 int i 1 float x 5,y y x i 執行的時候系統會把x和i都轉換為double進行計算,最後的結果再儲存為y的double...

c語言裡,double和int在開頭都是定義嗎?有啥區別

double表示的是浮點數,範圍大,但值是近似值。int只能表示整型。定義的話,最原始的c要求 所有變數都要在 塊開頭定義不過後來放寬了 現在幾乎所有的編譯器 都是可以在函式中間定義變數了。c語言double和int有什麼區別,各個表示範圍是多少,double可以表示負數嗎 區別 double雙精度...

在C語言中,怎麼判斷變數是int型的還是char型的

變數是int型的還是char型,是由宣告決定的。函式呼叫時引數型別錯,你編譯時就通不過呀。unsigned char 可以當無符號整型用。假設函式形式為 int function int n 方法1 判斷實參字長 int function int n 在c語言裡有個函式可以判斷輸入的是不是數字或者字...