C語言 常量詳解及範例程式碼_C 語言

來源:互聯網
上載者:User

C 常量

常量是固定值,在程式執行期間不會改變。這些固定的值,又叫做字面量。

常量可以是任何的基礎資料型別 (Elementary Data Type),比如整數常量、浮點常量、字元常量,或字串字面值,也有枚舉常量。

常量就像是常規的變數,只不過常量的值在定義後不能進行修改。

整數常量

整數常量可以是十進位、八進位或十六進位的常量。首碼指定基數:0x 或 0X 表示十六進位,0 表示八進位,不帶首碼則預設表示十進位。

整數常量也可以帶一個尾碼,尾碼是 U 和 L 的組合,U 表示不帶正負號的整數(unsigned),L 表示長整數(long)。尾碼可以是大寫,也可以是小寫,U 和 L 的順序任意。

下面列舉幾個整數常量的執行個體:

  1. 212         /* 合法的 */
  2. 215u        /* 合法的 */
  3. 0xFeeL      /* 合法的 */
  4. 078         /* 非法的:8 不是八進位的數字 */
  5. 032UU       /* 非法的:不能重複尾碼 */

以下是各種類型的整數常量的執行個體:

  1. 85         /* 十進位 */
  2. 0213       /* 八進位 */
  3. 0x4b       /* 十六進位 */
  4. 30         /* 整數 */
  5. 30u        /* 不帶正負號的整數 */
  6. 30l        /* 長整數 */
  7. 30ul       /* 無符號長整數 */

 浮點常量

浮點常量由整數部分、小數點、小數部分和指數部分組成。您可以使用小數形式或者指數形式來表示浮點常量。
當使用小數形式表示時,必須包含小數點、指數,或同時包含兩者。當使用指數形式表示時,必須包含整數部分、小數部分,或同時包含兩者。帶符號的指數是用 e 或 E 引入的。

下面列舉幾個浮點常量的執行個體:

  1. 3.14159       /* 合法的 */
  2. 314159E-5L    /* 合法的 */
  3. 510E          /* 非法的:不完整的指數 */
  4. 210f          /* 非法的:沒有小數或指數 */
  5. .e55          /* 非法的:缺少整數或分數 */

字元常量

字元常量是括在單引號中,例如,'x' 可以儲存在 char 類型的簡單變數中。
字元常量可以是一個普通的字元(例如 'x')、一個逸出序列(例如 '\t'),或一個通用的字元(例如 '\u02C0')。
在 C 中,有一些特定的字元,當它們前面有反斜線時,它們就具有特殊的含義,被用來表示如分行符號(\n)或定位字元(\t)等。下表列出了一些這樣的逸出序列碼:

逸出序列 含義
\\ \ 字元
\' ' 字元
\" " 字元
\? ? 字元
\a 警報鈴聲
\b 退格鍵
\f 換頁符
\n 分行符號
\r 斷行符號
\t 水平定位字元
\v 垂直定位字元
\ooo 一到三位的八位元
\xhh . . . 一個或多個數位十六進位數

 下面的執行個體顯示了一些逸出序列字元:

#include <stdio.h>int main(){  printf("Hello\tWorld\n\n");  return 0;}

 當上面的代碼被編譯和執行時,它會產生下列結果:

 Hello   World

 字串常量

字串字面值或常量是括在雙引號 "" 中的。一個字串包含類似於字元常量的字元:普通的字元、逸出序列和通用的字元。
您可以使用空格做分隔字元,把一個很長的字串常量進行分行。

下面的執行個體顯示了一些字串常量。下面這三種形式所顯示的字串是相同的。

"hello, dear""hello, \dear""hello, " "d" "ear"

 定義常量

在 C 中,有兩種簡單的定義常量的方式:

1.使用 #define 前置處理器。

2.使用 const 關鍵字。

#define 前置處理器

下面是使用 #define 前置處理器定義常量的形式:

#define identifier value

具體請看下面的執行個體:

#include <stdio.h>#define LENGTH 10  #define WIDTH 5#define NEWLINE '\n'int main(){  int area;    area = LENGTH * WIDTH;  printf("value of area : %d", area);  printf("%c", NEWLINE);  return 0;}

當上面的代碼被編譯和執行時,它會產生下列結果:

value of area : 50

const 關鍵字

您可以使用 const 首碼聲明指定類型的常量,如下所示:

const type variable = value;

具體請看下面的執行個體:

#include <stdio.h>int main(){  const int LENGTH = 10;  const int WIDTH = 5;  const char NEWLINE = '\n';  int area;     area = LENGTH * WIDTH;  printf("value of area : %d", area);  printf("%c", NEWLINE);  return 0;}

當上面的代碼被編譯和執行時,它會產生下列結果:

value of area : 50

請注意,把常量定義為大寫字母形式,是一個很好的編程實踐。

以上就是對C語言 常量的資料整理,後續繼續補充相關資料,謝謝大家對本站的支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.