c語言float輸出
A. c語言如何輸出雙精度浮點型數據
1.雙精度浮點型數據用%lf輸出。因為double是8個位元組的,float是4個位元組的,%f 的格式就是4個位元組的,而 %lf 就是8個位元組的。 例如:printf("%lf ",x);
2.short 佔用內存空間2個位元組,短整型數據用%d輸出 例如:printf("%d ",a);
例:
#include <stdio.h>
int main()
{double x;
short int a;
printf("%lf",x); // 輸入double型
printf("%d",a); //輸入短整型
return 0;
}
(1)c語言float輸出擴展閱讀:
C語言特有特點
1.C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。
2.C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3.不同的變數類型可以用結構體(struct)組合在一起。
4.只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。
5.部份的變數類型可以轉換,例如整型和字元型變數。
6.通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7.預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
B. C語言中printf輸出float和double都用%f么(scanf又如何)
答:
1.C語言中printf輸出float和double都可以用%f,而double型數據還可以用%lf。
2.scanf當中若是對雙精度的變數賦值是必須是%後跟lf,而printf當中可以用%f也可以用%lf沒有限制。
拓展資料:
c語言中的格式控制符:
%d十進制有符號整數
%u十進制無符號整數
%f浮點數
%s字元串
%c單個字元
%p指針的值
%e指數形式的浮點數
%x,%X無符號以十六進製表示的整數
%0無符號以八進製表示的整數
%g自動選擇合適的表示法
C. c語言中double,float輸出問題
double 和 float都可以用%f輸出。默認6位小數。如果是其它要求,需要指定。如
printf("%.11lf\n%.3f",a,b);
D. C語言裡面float數據用printf(「%d」)輸出的問題
首先你接收數據有誤,你只接收第一個元素。
for(i=0;i<3;i++)
scanf("%f",a);
修改為:
for(i=0;i<3;i++)
scanf("%f",&a[i]);
其次,輸出要強制類型轉換
for(i=0;i<3;i++)
printf("%d\n",a[i]);
修改為:
for(i=0;i<3;i++)
printf("%d\n",int(a[i]));
修改後:
#include
void
main()
{
float
a[3]={3*0};
int
i;
for(i=0;i<3;i++)
scanf("%f",&a[i]);
for(i=0;i<3;i++)
printf("%d\n",int(a[i]));
}
E. C語言輸出float變數的問題
數據截斷,把double強制轉換為float會發生這樣的情況,你把數據類型變為double就好了。
F. c語言float類型輸出
可以改成printf("%.1f ",sum);
結果見下圖:
拓展資料
float是C語言中的一個數據類型的關鍵字,表示單精度浮點型(雙精度浮點型為double)。定義格式為:float a // a表示一個浮點型的變數。
C語言規定浮點型在內存佔用4個位元組,精度為7位,取值范圍為:3.4*10^-38 ~3.4*10^38。
浮點型運算可能有誤差。
G. c語言中double與float的輸出
c語言中使用printf函數
float的輸出,用%f格式。
double的輸出,用%f或%lf格式輸出都可以的。
H. C語言float類型儲存和printf輸出問題
原因就是,你使用了lf輸出,其實是將float
x轉換為一個double輸出了。
相當於
double
y
=
x;,然後輸出y,這樣後面的數值其實是因為一個4位浮點數給8位浮點數賦值的時候,將x的真實存儲以double的精度顯示出來了。
具體的說,這涉及float的二進制保存方式,如果你有興趣,可以看看基礎語法書上關於float的講解,這里沒法畫圖,不好解釋,其實就是一個指數為8的位移碼,因為實際不是以10進制存儲,所謂10進制精度只是保障精度,實際的存儲,是一個2^127
I. c語言float輸出為什麼是0.00000
1/3,是整型運算,為整型0,0給float.精度6位,則列印0.00000
J. C語言裡面float數據用printf(「%d」)輸出的問題
C語言裡面float數據用printf(「%d」)輸出是0,是float數據使用錯誤造成的,解決方法如下:
1、首先在電腦中打開C-Free 5編譯器(界面) -> 文件 -> 新建(Ctrl+N)。