請大家關注點贊,已經完成物聯網相關開發,會從硬件層,硬件中間層,傳輸層,軟件中間件(物聯網雲平臺),APP開發相關博文。首先從嵌入式開發博文開始!上一節關於<>。本節關於Linux系統中C語言常量。
常量是固定值,在程序執行期間不會改變。這些固定的值,又叫做字面量。常量可以是任何的基本數據類型,比如整型常量、浮點常量、字符常量,或字符串常量,也有枚舉常量。常量就像是常規的變量,只不過常量的值在定義後不能進行修改。
1、基本數據類型的常量
short、int、long、char、float、double 這六個關鍵字代表C 語言裡的六種基本數據類型。
1)整型常量(通常稱為整數)
整型常量可以是十進制、八進制或十六進制的常量。前綴指定基數:0x 或 0X 表示十六進制,0 表示八進制,不帶前綴則默認表示十進制。整型常量也可以帶一個後綴,後綴是 U 和 L 的組合,U 表示無符號整數(unsigned),L 表示長整數(long)。後綴可以是大寫,也可以是小寫,U 和 L 的順序任意。
舉例:
85 /* 十進制 */
0213 /* 八進制 */
0x4b /* 十六進制 */
30 /* 整數 */
30u /* 無符號整數 */
30l /* 長整數 */
30ul /* 無符號長整數 */
2)浮點常量(又稱實數)
浮點常量由整數部分、小數點、小數部分和指數部分組成。您可以使用小數形式或者指數形式來表示浮點常量。當使用小數形式表示時,必須包含整數部分、小數部分,或同時包含兩者。當使用指數形式表示時,必須包含小數點、指數,或同時包含兩者。帶符號的指數是用 e 或 E 引入的。在C語言中,實數只有十進制實數,分為單精度和雙精度。實數的表現形式有兩種,一般形式和指數形式。
A一般形式表現如下:
[+|-]M.N
比如:3.6,-12.7,3.1415926
B指數形式:由尾數部分,字母e 或 E 和指數部分組成。
[+|-]M.N
比如:0.0018 指數形式為 1.8e-3 (正實數的正符號可以省略)
-0.0018 指數形式為 -1.8e-3
注意:指數形式通常表示特別大或者特別小的數。
舉例:
3.14159 /* 合法的 */
314159E-5L /* 合法的 */
510E /* 非法的:不完整的指數 */
210f /* 非法的:沒有小數或指數 */
.e55 /* 非法的:缺少整數或分數 */
constant/int.c例子:
constant/float.c例子:
3)字符常量(單一字符)
字符常量的表現形式由兩個單引號包括的一個字符。字符常量是括在單引號中,例如,'x' 可以存儲在 char 類型的簡單變量中。字符常量可以是一個普通的字符(例如 'x')、一個轉義序列(例如 '\\t'),或一個通用的字符(例如 '\\\\u02C0')。
舉例:’A’, ’a’, ‘Z’, ‘z’, ‘0’, ‘9’, ‘+’等都是字符常量。在C語言中,字符常量具有數值,字符常量的值就是該字符在ASCII碼的值。(命令man ASCII 查看)。可以把字符常量看成一個字節的正整數。
constant/char.c例子:
在 C 中,有一些特定的字符,當它們前面有反斜槓時,它們就具有特殊的含義,被用來表示如換行符(\\n)或製表符(\\t)等。下表列出了一些這樣的轉義序列碼:
4)字符串常量
字符串字面值或常量是括在雙引號 "" 中的。一個字符串包含類似於字符常量的字符:普通的字符、轉義序列和通用的字符。您可以使用空格做分隔符,把一個很長的字符串常量進行分行。
舉例:下面的實例顯示了一些字符串常量。下面這三種形式所顯示的字符串是相同的。
"hello, dear"
"hello, \\
dear"
"hello, " "d" "ear"
注:字符串常量以\\0結尾。例如:”9”-----’9’,’\\0’。
constant/string.c例子:
2、標識常量(定義常量)
標識常量是指用標識符號代替常量的一種常量,其名稱通常是一個標識符。標識常量也叫符號常量,一般大寫英文字母的標識符。在使用之前必須預先定義。形式為(宏定義)。形式:#define 。
在 C 中,有兩種簡單的定義常量的方式:使用 #define 預處理器。使用 const 關鍵字。
1)#define 預處理器
下面是使用 #define 預處理器定義常量的形式:
#define identifier value
constant/define.c例子:
2)const 關鍵字
可以使用 const 前綴聲明指定類型的常量,如下所示:
const type variable = value;
constant/const.c例子:
例子中涉及指令請查看前幾節相關博文。
閱讀更多 樂創物聯LC 的文章