C語言中強制轉換的問題,C語言強制型別轉換問題

時間 2021-08-30 10:36:08

1樓:巧

float x;你是定義的單精度型,int i;定義的是整型。

i=(int)x;是將x強制轉換成整型。整型整型,就是要整數部分,小數部分就會捨去掉。

printf("x=%f,i=%d\n",x,i);輸出時,x是以百分號f輸出,那麼就不是以整型輸出。在整數後面就會跟六位小數部分,沒有值的位數會以0補上。就像此題的輸出,x=3.

60000後面就是用0補出。

由於 i 的值是x的值強制轉換的整型資料,後面就不會有0佔位的情況。就直接輸出3,後面小數就去掉了。

若想要一個單精度資料保留小數位數的話在輸出時候可以這樣書寫:printf("x=%n.mf");其中的n和m,即輸出總共佔n位其中有m位小數 如a=1.

23456 用%4.2f輸出為1.23如果用%5,1f輸出為123.

4即長度為5小數為1!這裡也有當原數字長度小於n時左端補空格這個規則!還有就是當n前面有個負號時即%-nf或%-n.

mf時就右端補空格!

2樓:

i=(int)x; int強制轉換表示只保留x數值的整數部分,捨去小數部分,不是四捨五入!例如x=4.7

(int)x 結果就是4了。

3樓:白貓

強制將浮點數轉化為整型型別,並不是四捨五入的,而是直接取整!想實現四捨五入,需要自己寫函式的,大致思路就是整數和小數部分分開,然後通過判斷小數部分返回四捨五入值

4樓:發憤圖強的大悟

說明float型強制轉換成int的原則是直接捨棄小數點後面的數

5樓:德眾

比如說(int)5.6,就強制轉化為5,(double)5強制轉化為5.0,計算機不懂四捨五入,它只知道整型去掉小數點後的數字

6樓:

強制轉換是「取整」,不進行「四捨五入」,也就是取不大於被強制的資料的最大(絕對值)整數!

7樓:常玉標

c語言中,float 強制轉換為 int型 採用小數點後直接刪除,所以為3.

8樓:

他直接不要小數後面的,不是四捨五入!

c語言強制型別轉換問題

9樓:樂跑小子

強制型別

bai轉換的一般形式為:(類du型說明符)zhi(表示式),例如: (float) a 把a轉換為浮dao點型,版(int)(x+y) 把x+y的結果轉換為 整型強制類權型轉換是通過型別轉換運算來實現的。

功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。

注意事項:①型別說明符和 表示式都必須加括號(單個 變數可以不加括號),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。

②無論是 強制轉換或是自動轉換,都只是為了本次運算的需要而對 變數的資料長度進行的臨時性轉換,而不改變資料說明時對該 變數定義的型別。

10樓:匿名使用者

此時a的值是52,仍然是int型。

補:b的型別並沒有發生變化,同樣是int型,值也沒有改變。

11樓:123冰霜雪月

a是int型的

b是char型的

然後轉換

型別轉換就是(加上你要轉的型別)

有問題再問

12樓:匿名使用者

a是char型的,只有8位,謝謝。

13樓:納良銳卿雲

c語言bai的運算規律是(char、dushort)--->int------>unsigned------->long------->double<------float,

所以你第一第二個比較都zhi是轉換成unsignedint型計算,-3在計dao算機是版補碼形式存在,權大於100,更是大於3

第三第四十轉換成double,float型變數是把整數部分放在23到30位,轉換成double數當然很大,所以都比100大呀

C語言進位制轉換問題,C語言中各進位制的轉換問題

大數轉換成小數進位制時主要是求餘演算法,小數進位制轉換成大數進位制時要用n次方演算法。求餘後把數字儲存起來輸出就可以了。16進位制 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 a 1010 b 1011 ...

C語言中的問題,幾個C語言中的問題???

將憶梅僑寶 getchar和putchar是c語言中的函式 getchar從鍵盤讀入字元 putchar在螢幕上顯示字元 吳幼珊佘溶 getchar和putchar是c語言中的函式,叫作標準字元輸入輸出函式,這裡的標準表示輸入是從標準裝置輸入的,即鍵盤,輸出是從標準裝置輸出的,即顯示器。這兩個函式包...

c 語言問題?在c語言中的問題?

c 語言是c語言發展起來的,所以繼承了c語言幾乎所有的特點,但c 語言又有自己的個性。c語言是一種程序導向的程式語言,而c 主要是程序導向的,因此c 有類的概念,而c語言就沒有。c 的功能強大,編譯器複雜,適合高階程式的設計和,c語言的編譯器簡易,適合低端程式。邏輯混亂,參考正常的實現吧。c語言的基...