c語言雙精度的格式符是le還是,C語言雙精度的格式符是 le還是 lf

2021-12-22 19:52:54 字數 3835 閱讀 1643

1樓:

都可以,只是輸出形式有所不同,%lf是以普通的浮點數的方式輸出,而%le是以科學計數法的形式輸出。

例如:int main()

double n;

scanf("%lf",&n);

printf("浮點數的方式%lf\n 科學計數法的方式%le",n,n);

return 0;

輸入:123.4556666

浮點數的方式123.455667   科學計數法的方式1.234557e+002

擴充套件資料:單精度浮點數(float)與雙精度浮點數(double)的區別如下:

1,在記憶體中佔有的位元組數不同

單精度浮點數在機內佔4個位元組

雙精度浮點數在機內佔8個位元組

2,有效數字位數不同

單精度浮點數有效數字7位

雙精度浮點數有效數字16位

3,所能表示數的範圍不同

單精度浮點的表示範圍:-3.40e+38 ~ +3.40e+38雙精度浮點的表示範圍:-1.79e+308 ~ +1.79e+3084,在程式中處理速度不同

一般來說,cpu處理單精度浮點數的速度比處理雙精度浮點數快。

2樓:天堂妹兒

輸出浮點數可以使用的轉換說明符是%f和%e。%f顯示小數表示的普通浮點數,%e顯示科學計數法表示的浮點數。輸出雙精度(double)型別時,還需要在轉換字元前加上字母l。

3樓:蕭竣閏

c語言雙精度浮點型別即double的格式控制符為%lf。

其他如單精度浮點型別float %f整型 int %d

字元型別 char %c

4樓:匿名使用者

output:123456.123

printf("%n1.n2f\n",123456.123);中n1、n2是指定的輸出欄位寬度,n1表示小數點前的,n2表示小數點後的。

如果n1小於要輸出數小數點前的寬度,則按實際寬度輸出,如果大於則在左端補上相應個空格,比如

printf("%7.3f\n",123456.123456),則輸出 123456.123,注意1前面有一個空格。而n2表示小數點後要保留幾位。

清楚了吧,沒有的話再問。

5樓:劍遺碧城

答案是「le%」。我也不知道為什麼,反正答案沒選「lf%」。

6樓:**夢幻

雙精度?double?那是%lf

c語言問題%f和%lf的區別

7樓:徜逸

由於精度的原因,輸出%lf和%f的資料不同,可能會造成錯誤。

主要有一下四點專區別:

1、代表的資料型別不同屬

%f代表單精度浮點型資料(float),%lf代表雙精度浮點型資料(double)。

2、有效數字位數不同

單精度浮點數有效數字保證6位,部分7位,雙精度浮點數有效數字保證15位,部分16位。

3、所能表示數的範圍不同

單精度浮點的表示範圍:-3.40e+38 ~ +3.40e+38,雙精度浮點的表示範圍:-1.79e+308 ~ +1.79e+308

4、在程式中處理速度不同

一般來說,cpu處理單精度浮點數的速度比處理雙精度浮點數快。

8樓:張

第6課時 c語言和c++的區別

9樓:匿名使用者

好好看看資料型別的概念吧,把前面的double換成float後面就可以用%f;%f代表按回實型輸入或輸出答,而%lf代表按雙精度輸入或輸出,怎麼會沒有關係呢?輸入時採取的格式不同,存在電腦裡的資料就不同,電腦裡同樣的資料(都是由0和1組成的相同的二進位制數)按不同的格式輸出結果也不會相同

10樓:匿名使用者

你之前已經定義到double了,最後的輸出值是按照表示式中的最多有效數字的形式定義的,也就是說如果你定義int a;doubule b;但是輸出是c=a+b,c則是double型

11樓:匿名使用者

你定義的double 當然配套的就要用%lf啊 至於%d 和%ld是一樣的 並不是你資料不存在就可以不用%lf

12樓:匿名使用者

float型別只有7位

因為是double型別乘一起去就不知道多少位了

所以得變成longfloat

13樓:_葉子妞妞

%f和%lf分別是復float型別和double型別用制於格式化輸入輸出時對bai應的格式符號。

其中:du

float,單精度浮點zhi型,對應dao%f.

double,雙精度浮點型,對應%lf.

在用於輸出時:

float型別可以使用%lf格式,但不會有任何好處。

double型別如果使用了%f格式可能會導致輸出錯誤。

在用於輸入時:

double 型別使用了%f格式,會導致輸入值錯誤。

float型別使用double型別不僅會導致輸入錯誤,還可能引起程式崩潰。

所以在輸入輸出時,一定要區分好double和float,而使用對應的格式符號。

14樓:寳貝謙

因為你定義的a,b,c都是double型吖…所以scanf()接收的a,b,c都是double型…double就是%lf咯…

如果用%f就是flout型咯…就跟定義的卟同了喔…

15樓:匿名使用者

f: float

lf:double

16樓:流星劃破夜空

#include

#include "math.h"

int main(void)

else

printf("it is not ********!\n");

return 0;

}試試這個

17樓:匿名使用者

你要輸出多少位,那按照下面這種輸出試試:

printf("%hf",yourfloat) ,其中,h用個小數替換掉回(用整數會成預設位數)

答,小數點後面的數字的值就是你列印yourfloat的小數點後面的位數,如"%0.15f" 、"%123.15f" 、"%0.000015f"都是列印小數點後15位

18樓:

看了你抄的**再結合你說的有時襲沒問題,

有時有問題,我判斷應該是你**中沒有將求出來的面積放入變數中儲存導致的。如果不放入變數中,你求出來的就是一個double型別的數值,此時你以float型輸出,由於型別不匹配所以程式自然報錯。如果你將這個值賦給一個變數則程式會自動分配一個記憶體給此變數,這樣當你以double輸出時程式會自動進行型別運算,自然也就不會出錯了。

19樓:斬月諸河

%f:float

%lf:double

因為你定義時用的是double型別,佔8個位元組而指定格式符是%f,對應的是float佔4個位元組,而資料型別位元組小的可以向大的轉換,反之則不行,所以會錯。

20樓:御板

scanf()語句:"%lf"用於double型別,"%f"用於float型別

printf(語句:"%f"既可用於double型別,又可用於float型別,但意思是指「保留6位小數」

21樓:匿名使用者

嘗試了一遍,還真是,十分感謝

22樓:匿名使用者

定義double 就用lf輸入輸出 定義float就用f輸入輸出

C語言運算子是怎麼運算的,C語言運算子

是除法取餘運算。用於整數與整 數運算。否則,不同的編譯器會得不同結內果。為取餘運算子,容用於把它前面的整數值或表示式除以其後面的整數值或表示式,結果為不能被後面的整數或表示式整除的最小整數,它後面的數值應該為大於1的正整數。如 13 7 就表示13 除以7餘6。作為雙目運算子,左右運算元可以是數值,...

c語言運算子,C語言 運算子 是怎麼運算的

9 7 是 1.幾,舍位後不是鐵定是 1嗎?不是的,不能通過舍位來判定,不同的機器結果不同,可能是 1,也可能是 2 什麼叫向上取整 向下取整 向上取整指當計算的結果不為整數時取大於計算結果的整數,向下取整指當計算的結果不為整數時取小於計算結果的整數。當計算結果為整數時直接取整數。計算結果處於兩個整...

c語言運算子是怎麼運算的C語言運算子是怎麼運算的

c語言中 的作用 作為運算子是用來取餘的 運算子 operator 是可以對資料進行相應操作的符號。如對資料求和操作,用加法運算子 求積操作使用乘法運算子 求餘數用運算子 等等 例如 一 25 4 1 25除以4商6餘數是1 二 33 5 3 33除以5商6餘數是3 擴充套件資料 c語言常用的運算子...