常量是指程式在執行期間不會改變的固定值。這些固定值也稱為文字。
常量可以是任何基本資料型別,如整數常量,浮點常量,字元常量或字串文字,還有列舉常量。
常量被視為常規變數,除了它們的值在定義後無法修改。
整數文字
整數文字可以是十進位制,八進位制或十六進位制常量。字首指定基數或基數:十六進位制為0x或0X,八進位制為0,十進位制為空。
整數文字也可以有一個字尾,它是U和L的組合,分別對於unsigned和long。字尾可以是大寫或小寫,可以按任何順序排列。
以下是整數文字的一些示例 -
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’),轉義序列(例如,‘ t’),或通用字元(例如,‘ u02C0’)。
C中有某些字元代表特殊含義,例如字首為反斜槓,換行符( n)或製表符( t)。
在這裡,您有一個這樣的轉義序列程式碼列表
以下是顯示一些轉義序列字元的示例
#include
int main() {
printf(“Hello World ”);
return 0;}
編譯並執行上述程式碼時,會產生以下結果 -
Hello World
字串常量
字串文字或常量用雙引號“”括起來。字串包含與字元文字類似的字元:普通字元,轉義序列和通用字元。
您可以使用字串文字將長行分成多行,並使用空格分隔它們。
以下是字串文字的一些示例。所有三種形式都是相同的字串。
“hello, dear”
“hello,
dear”
“hello, ” “d” “ear”
定義常量
C中有兩種簡單的方法來定義常量 -
使用#define預處理器。
私信我 “程式碼” 獲取大量專案原始碼,學習資料
使用const關鍵字。
#define預處理器
下面給出了使用#define預處理器定義常量的形式
#define identifier value
以下示例詳細說明了
#include
#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
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
私信我 “程式碼” 獲取大量專案原始碼,學習資料
請注意,在CAPITALS中定義常量是一種很好的程式設計習慣。