首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言學習教程第二章(三):實型(浮點型)常量與變數詳解

     編輯:C 語言基礎

實型常量(浮點數)

實型常量只採用十進制,兩種形式:

1. 十進制小數形式

由數字 0-9 和小數點組成。合法範例:0.0、.25、5.789、300.、-267.8230。
非法:345(無小數點)。

2. 指數形式

格式:a E n(a 為十進制數,n 為十進制整數),值為 a × 10ⁿ。
合法:2.1E5、3.7E-2、0.5E7、-2.8E-2。
非法:E7(E 前無數字)、53.-E3(負號位置錯)、2.7E(無指數)。

標準 C 後綴

  • f / F:明確指定為 float 型(預設為 double)。如 356f 等同 356.

實型變數

類型聲明符位元組有效位數數值範圍
單精度float4 (32位)7 位3.4E-38 ~ 3.4E+38
雙精度double8 (64位)15-16 位1.7E-308 ~ 1.7E+308

注意: 實型常數不分單/雙精度,預設按 double 處理。printf 預設顯示小數點後 6 位。

範例:float vs double 精度差異

void main() {
    float a; double b;
    a = 33333.33333;
    b = 33333.33333333333333;
    printf("%f\n%f\n", a, b);
}
// 輸出:
// 33333.332031  (float 只有 7 位有效數字,整數部佔 5 位,小數只剩 2 位可信)
// 33333.333333  (double 16 位有效,但 printf 只印 6 位小數)

練習追蹤

[Practice] //1
int a=32; float b; double d;
b=12345678;        // b=12345678.0 (超出 float 精度,低位不準)
d=b*100;           // d=1234567800
d=d+a;             // d=1234567832
d=d+58.123456;     // d=1234567890.123456

[Practice] //2
int a=543; float b;
b=123.123962+a;    // b=666.123962
b=b-100;           // b=566.123962
a=b;               // a=566 (截斷小數)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved