位置:首頁 > 高級語言 > C語言教學 > C語言常量和文字

C語言常量和文字

常量是指該程序可能無法在其執行期間改變的固定值。這些固定值也被稱為文字。

常量可以是任何像一個整型常量,一個浮點常量,字符常量或字符串文字的基本數據類型。還可以是枚舉常量。

常量隻是它們的值不能定義後像常規變量進行修改處理。

常量整型

整數常量可以是十進製,八進製,或十六進製常數。前綴指定基或基數:0x或0X的十六進製,0表示八進製,十進製不用特彆表示。

整數常量/文字也可以有一個後綴為U和L的組合,分彆為無符號和長整型。後綴可以是大寫或小寫,並且可以以任意順序。

這裡是整數常量的一些例子:

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

以下是不同類型的整型常量的其他例子:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

浮點文字/常量

浮點字麵值具有整數部分,小數點,小數部分和指數部分。可以表示十進製形式或指數形式浮點文字。

同時采用十進製形式表示,則必須包括小數點,指數,或兩者並用而指數形式表示,則必須包括整數部分,小數部分,或者兩者兼有。無符號的指數,通過e或E引入

下麵是浮點麵值/常量的一些例子:

3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

字符常量

字符文字用單引號,例如,'X' 可以存儲在char類型的一個簡單的變量。

字符文字可以是一個普通的字符(例如,'X'),轉義序列(如“ ')或普遍性 (e.g., 'u02C0').

有一些字符在C語言中,當它們前麵加一個反斜杠將有特殊的含義,它們被用來表示類似的換行符( )或製表符( )。在這裡,有一些這樣的轉義序列代碼的列表:

轉義序列 含意
\ 字符
' ' 字符
" " 字符
? ? 字符
a 警報或鐘
 退格
f 換頁
換行符
回車
水平製表
v 水直製表
ooo 一到三位數字的八進製數表示形式
xhh . . . 一個或多個數字的十六進製數

以下為例子來說明一些轉義字符序列:

#include <stdio.h>

int main()
{
   printf("Hello	World

");

   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 '
'

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 = '
';
   int area;  
   
   area = LENGTH * WIDTH;
   printf("value of area : %d", area);
   printf("%c", NEWLINE);

   return 0;
}

讓我們編譯和運行上麵的程序,這將產生以下結果:

value of area : 50

請注意,一個 良好的編程習慣是使用大寫來定義常量。