C語言中經常使用的小數有兩種類型,分別是float或double;float稱爲單精度浮點型,double稱爲雙精度浮點型。編程
不像整數,小數沒有那麼多幺蛾子,小數的長度是固定的,float始終佔用4個字節,double始終佔用8個字節。函數
c語言double類型默認輸出幾位小數?學習
C語言中,輸出double類型(雙精度實型)以及float類型(單精度實型)時,默認輸出6位小數(不足六位以0補齊,超過六位按四捨五入截斷)。spa
doublea=1; printf("%lf\n",a);視頻
輸出會是:blog
1.000000教程
可是有時六位會顯得很長,不必。好比計算平均分,一到兩位小數就足夠了。但是有時六位又不夠,須要更多位小數,好比計算高精度平方根。get
這時能夠用printf的格式控制。若是要輸出n位小數,那麼能夠用%.nlf的格式。其中n爲數字。源碼
如要輸出10位小數,那麼io
printf("%.10lf\n",a);
便可。
小數的輸出
小數也能夠使用printf函數輸出,包括十進制形式和指數形式,它們對應的格式控制符分別是:
%f以十進制形式輸出float類型; %lf以十進制形式輸出double類型; %e以指數形式輸出float類型,輸出結果中的e小寫; %E以指數形式輸出float類型,輸出結果中的E大寫;
%le以指數形式輸出double類型,輸出結果中的e小寫; %lE以指數形式輸出double類型,輸出結果中的E大寫。
下面的代碼演示了小數的表示以及輸出:
#include<stdio.h>
#include<stdlib.h>
int main()
{ float a=0.302; float b=128.101; double c=123; float d=112.64E3; double e=0.7623e-2; float f=1.23002398; printf("a=%e\nb=%f\nc=%lf\nd=%lE\ne=%lf\nf=%f\n",a,b,c,d,e,f); return 0; }
運行結果:
a=3.020000e-01
b=128.100998
c=123.000000
d=1.126400E+05
e=0.007623
f=1.230024
另外若是你想更好的提高你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這裏或許能夠幫到你~
歡迎轉行和學習編程的夥伴,利用更多的資料學習成長比本身琢磨更快哦!
編程學習: