C語言 的 整型資料和浮點型資料

來源:互聯網
上載者:User

整型資料

沒有小數位或指數的資料類型被稱為整型資料,根據使用方法的分類,整型資料可分為整型常量和整型變數。根據定義或顯示的數制分類,可分為十進位、八進位和十六進位。

整型常量

整型常量是在運算中不可改變的整數資料型別,可使用十進位、八進位和十六進位描述一個整型常量。十進位整型常量的表述形式是:

    [正負符號] 十進位整數值

其中十進位整數值可以是從 0 到 9 的一個或多個十進位數位,第 1 位可以是正負符號,但不能是0。八進位整型常量的表述形式是:

    [正負符號]x八進位整數值

八進位整數值可以是從 0 到 7 的一個或多個八位元位,正負符號後的第 1 位必須是0。十六進位整型常量的表述形式是:

    [正負符號]0x 十六進位整數值        // 使用小寫x
    [正負符號]0X 十六進位整數值        // 使用大寫X

正負符號後第 1 位必須是 0,第2位必須是小寫x或大寫X。十六進位的 10~15分別用字母 A~F 表示。(例如十進位 162,用八進位表示為0242,用十進位表示為 0xA2)。

正值整數常量可省略正負符號,負值整型常量必須在數值前加上負號“-”說明。整型常量的資料類型取決於數值本身,如果常量運算式沒有使用負號,編譯器會認為該常量為無符號數。編譯器會根據整型常量的長度自動分配儲存空間,甚至可以認為常量的資料長度是沒有上限的。但並不代表任意大的資料都能被C語言處理。

八進位和十六進位整型常量在儲存方式上與十進位數並無區別,只是定義時使用了不同的表述方法。八進位和十六進位整型常量的儲存空間長度也有數值來決定,並且可以存在負值。

整型變數

為變數命名的過程稱為“聲明”,C語言規定,變數使用前必須聲明。整型變數用 int修飾符聲明,參見下列原始碼。

main()
{
    int a, c;                    // 聲明整型變數
    unsigned int b;                // 聲明無符號整型變數
    a = 15;                        // 為變數 a 賦值
    b = a;                        // 為變數 b 賦值,b 的值來至 a
    c = a + b;                    // 為變數 c 賦值,c 的值來至 a 與 b 的和
    printf("c = %d\n", c);        // 輸出提示字串和 c 的值
}

通過上例可以看到,不同類型的整型資料也能進行算術運算。



浮點型資料


浮點型資料又稱實型資料,是一個以十進位表示的符號實數。符號實數的值包括整數部分、尾數部分和指數部分。

浮點型常量

一些較大的數值,或者有小數位、指數位的數值都需要用浮點型常量表示。浮點型常量的形式是:

    [正負符號] [數值] .[數值] [E | e [正負符號] 數值]

其中,“數值”是一位或多位十進位數字,E 或 e 是指數符號。小數點之前是整數部分,小數點之後是尾數部分,如果小數點後沒有數值,尾數部分可以省略。指數符號後的正負符號修飾指數,如果是正數,可省略正負符號。如果沒有指數,指數符號及其後的內容可省略。例如,浮點型常量 2.734E3 與 數學運算式 2.734 x 10的3次方意義相同。在浮點型常量中不得出現任何空白符號。在不加說明的情況下,實型常量為正值。如果表示負值,需要在常量前使用負號。

注意:字母 E 或 e 之前必須有數字,且 E 或 e 後面指數必須為整數,如 “e6”、“1.414e6.1”、“.e7”、“e”等都是不合法的指數形式。

浮點型變數

浮點型變數為 單精確度(float型)和雙精確度(double型)。對每一個浮點型變數都應在使用前加以定義。如下例所示:

    float a;        // 聲明單精確度浮點型變數
    double b;       // 聲明雙精確度浮點型變數

如果浮點型常量是雙精確度浮點型,當把該常量賦給一個單精確度浮點型變數時,系統會截取相應的有效位元。如下例所示:

    float a;            // 聲明單精確度浮點型變數
    a = 1.23456789;     // 為單精確度浮點型變數賦值

由於 float 型變數只能接收 7 位有效數字,因此最後兩位小數不起作用。如果 a 改為 double 型,則能全部接收上述 9 位元字並儲存在變數 a 中。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.