1樓:騎著你狂奔的我
你定義的float是浮點小數的意思,電腦不能自己分辨是小數還是整數,需要說明。。。嚴重鄙視你的基礎知識。。。
c語言裡%f中間加數字是什麼意思
2樓:匿名使用者
%f是用於格式化輸入輸出函式,對應型別為float的格式字元。加數字的情況僅適用於輸出函式,比如printf。
其形式為
printf("%a.bf", var);
其中a,b為常數。
含義為:
1 a, 代表輸出佔|a|(a的絕對值)個位元組的寬度,當實際寬度超過a時,按實際寬度輸出,否則輸出a個位元組,不足部分補空格。
如果a為正數,輸出的有效數字在右側,左側補空格。
如果a為負數,輸出的有效數字在左側,右側補空格。
2 b,代表輸出帶有b位小數,不足部分補0。
a,b可單獨使用,比如
printf("%4f", 1.2); 會輸出一個空格加上1.2。
printf("%.3f", 1.2); 會輸出1.200。
printf("%-8.4f", 1.2); 會輸出1.2000再輸出兩個空格。
3樓:匿名使用者
比如%7.2f 點前面的7代表輸出的數的寬度,也就是位數~包括小數點後的數字;點後的2代表小數點後面的數字的個數;,一般只寫成%.2f,比如
float pi=3.1415
printf("%.2f",pi)
輸出結果為3.14
參考
4樓:多啦
以浮點資料格式輸出,加數字就是表示輸出浮點資料小數點後的位數
請採納答案,支援我一下。
5樓:匿名使用者
這是為了說明輸出小數的格式。12.9的意思就是佔12個格,其中小數部分佔9格。
c語言中%f表示的是什麼,為什麼有時小數點後保留6位,有時小數點後保留1位
6樓:匿名使用者
printf("%f", fval ); //這是浮點預設輸出格式,小數點保留6位
printf("%.1f", fval ); //.1是說明,小數點保留1位,對其後的
資料進行四捨五入
printf("%.2f", fval ); //.2是說明,小數點保留2位,對其後的資料進行四捨五入,你想保留幾位,就用點幾
printf("%10f", fval ); //輸出寬度為10個字元,右對齊,前補空格,小數點保留6位
printf("%10.2f", fval ); //輸出寬度為10個字元,右對齊,前補空格,小數點保留2位
7樓:匿名使用者
printf("%.mf",fval)的舍入這裡,有個巨大的誤區,不是四捨五入,它採用的是四捨六入五成雙規則,詳情各位可參考百科。
四捨六入無成雙網頁連結
數值修約網頁連結
c語言中,為什麼%f中,要加小數點和0才能輸出數值?
8樓:匿名使用者
3/4 會自動認為二者都是int型,所以做的是整數除法:3/4為0餘3,餘數捨去於是為0
而3.0會認為是浮點型,於是4被自動型別轉換為浮點型做浮點除法
9樓:匿名使用者
同意樓上,樓主不信的話可以int a = 3/4; 看看結果是不是0,f%只是按照規定的格式輸出而已
c語言中%f中間加小數是什麼意思?如%7.2f
10樓:匿名使用者
表示最大場寬m,小數位為n位,整數位則為m-n-1位,夠m位右對齊。
%7.2f 表示輸出場寬為7的浮點數, 其中小數位為2,整數位為4,小數點佔一位,不夠9位右對齊
11樓:白了少
7.2是輸出控制,輸出7位,不滿7位用空格代替,超過7位這個7無效.
.2是輸出兩位小數.
c語言中一個數的小數如何表示
12樓:匿名使用者
4.2用c語言表示:double d = 4.2。c語言中用於描述小數的資料型別是float和double,float型別表示單精度浮點數,double表示雙精度浮點數。
1、float:
float 資料型別用於儲存單精度浮點數或雙精度浮點數。浮點型別的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 excess-127 二進位制指數和一個 23 位尾數。
2、double:
double(雙精度浮點數)使用 64 位(8位元組) 來儲存一個浮點數。 它可以表示十進位制的15或16位有效數字。
擴充套件資料
(1) 浮點型與整型
將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:
賦值時的型別轉換實際上是強制的。
(2) 單、雙精度浮點型
由於c語言中的浮點值總是用雙精度表示的,所以float 型資料只是在尾部加0延長為double型資料參加運算,然後直接賦值。double型資料轉換為float型時,通過截尾數來實現,截斷前要進行四捨五入操作。
13樓:blackpink_羅捷
兩種表示
方式:1、定點表示:必須有小數點。
例如:0.123, .123, 123.0。
2、指數表示:e或e之前必須有數字,指數必須為整數。
例如:12.3e3 ,123e2, 1.23e4。
注意:浮點數常量預設為double型別,如果浮點數常量表示float型別,在末尾新增小寫的f或者大寫的f,表示此常量為單精度浮點常量。
定點小數是純小數,約定的小數點位置在符號位之後、有效數值部分最高位之前。若資料x的形式為x=x0.x1x2...xn(其中x0為符號位,x1~xn是數值的有效部分,也稱為尾數,x1為最高有效位),則在計算機中的表示形式為:
一般說來,如果最末位xn= 1,前面各位都為0,則數的絕對值最小,即|x|min= 2^(-n)。如果各位均為1,則數的絕對值最大,即|x|max=1-2^(-n)。所以定點小數的表示範圍是:
2^(-n)≤|x|≤1 -2^(-n)。
擴充套件資料
由於「編碼總位數為8」的限制,真值-128無法用原碼、反碼來表示,似乎不能用上述規則來求解補碼,但實際上是可行的——只要不管它的最高位即可,操作辦法如下:
將128化為二進位制為:1 0000000,最高位為1,可以只對捨去最高位後剩餘的7位進行處理即可,首先取反得:1111111,加1得:
1 0000000,最高位有進位需丟棄,即得:0000000,加上符號位就得補碼:1 0000000。
又如,當編碼總位數為4時,真值x=+0.101的原碼、反碼、補碼均為:0 101。
真值x=-0.101的原碼、反碼、補碼依次為:1 101、1 010、1 011。
同理,特例,-1的補碼為:1 000。
在定點小數中,小數點隱含在第一位編碼和第二位編碼之間
定點小數,是指小數點準確固定在資料某個位置上的小數,從實用角度看,都把小數點固定在最高資料位的左邊,小數點前邊再設一位符號位。按此規則,任何一個小數都可以被寫成 :n = ns .
n-1 n-2 ... n-m。
14樓:
我想你的意思是這樣的,a變數為浮點型資料(4.2),想得知其小數部分。
不知道是不是呢?
如果是的話,那麼:
float b = a-(int)(a);
15樓:匿名使用者
c語言中用於描述小數的資料型別是float和double,float型別表示單精度浮點數,double表示雙精度浮點數。
c語言中浮點數常量有兩種表示方式:
1、定點表示:(必須有小數點) 如:0.123, .123, 123.0。
2、指數表示:(e或e之前必須有數字,指數必須為整數)如:12.3e3 ,123e2, 1.23e4。
錯誤的寫法:e-5 ,1.2e-3.5,e3。
注意:浮點數常量預設為double型別,如果浮點數常量表示float型別,請在末尾新增小寫的f或者大寫的f,表示此常量為單精度浮點常量。
float f1 = 1.1f; //小寫f
float f2 = 1.1f; //大寫f
double d = 1.1; //double型別
16樓:中國中醫拔罐器
好像有什麼函式吧。
不過一般的思路都是。
double d=4.2;
double m;
m=d-int(d);
printf("m=%0.1f",m ) //要幾位就零點幾位。
求助C語言,連結串列輸出正確結果的前面為什麼多了
看你的太麻煩 這是我以前做的 你看看 比你的那個要完善 include stdio.h include malloc.h include stdlib.h typedef struct node node,pnode pnode creste lise void 建立一個非迴圈單連結串列 void ...
c語言後定義函式前面在函式原型中為什麼要加
傳遞引數為陣列或者指標。形參都是以指標形式表示。你的例,第一個引數的實參為int型,第二個的實參可以是int陣列名 第一元素地址 int型指標 指標的值就是地址 int值的地址 x int 是一個型別 就好比如char也是一個型別。double也是一個型別。int型別 int 型別這是兩個型別 加 ...
c 裡面的應用符號為什麼有的在變數名前面,有的在後面?有什麼區別
sales item operator const sales item const sales item sales item是型別。是 函式的宣告 可以寫成 專,屬 兩種寫法一樣的 你確認sales item是一個變數名麼。可以作為引用宣告符宣告一個引用。也是運算子,一元的 獲得指向運算元的指標...