C 語言的常量
我們通常意義上的常量其實和英語中的常量這個單詞不是一個意思,漢語中的常量對應的是 Literal(字面值),而不是 Constant(常量)。
這里我們分別講一下這兩個內容,大家就會有自己的對于“常量”的相關的認識了。
1. 字面值
字面值通常用來表示一個固定的值。這些值可以直接用在程序中,而不需要像變量一樣經過聲明和初始化以后才可以使用。
字面值分為以下幾種:
1.1 整數
這里的整數包含十進制,八進制和十六進制。
八進制前要加上前綴 0,十六進制前要加上前綴 0x 或者 0X 。
同時在這些整數的后面可以增加后綴 U 或者 L。這里和上面一樣帶小寫都可以。這兩個后綴分別代表著 unsigned 和 long,
Tips: 請大家注意 C 語言對于大小寫是敏感的。所以在十六進制的時候才會出現兩種前綴。
比如:
- 十進制:1,2,3,4;
- 八進制:0345;
- 十六進制:0xef12。
1.2 浮點數
浮點數的表示一般由整數部分,小數點,小數部分,和指數部分組成。指數部分的符號 e 可以大寫為 E。一般會有一下幾種形式。
- 只有整數部分,小數點和小數部分。例如:3.1415926;
- 包含整數部分,小數點,小數部分和指數部分。例如:1.312E-3;
- 只有整數和指數部分。例如:31415926e-7L。
1.3 字符
字符就是常見的我們鍵盤上可以敲入的英文字母,符號等。如:a,s,d,f,;,@ 等
1.4 字符串
字符串就是由一些列的字符用雙引號包圍。例如:
Tips:這里的雙引號(" ")是在英文輸入法下輸入的引號,不是中文輸入法中的引號。這點在系統中同時有中文和英文輸入法的環境下很容易引起錯誤。
"hello world!"
"This is a lesson for C language."
2. 常量
講完了字面值之后,我們就可以在這里可以認識一下 C 語言中的用英文原文直譯過來的常量是什么了。
有些時候,我們需要反復使用一些內容,比如計算圓周率的派值。如果程序中很多地方使用,而這個值始終又是不變的,甚至應該是不能隨意改變的。那么這是時候。我們就會用到 C 語言中的常量。
這里有 2 種方式來定義常量。
一種是使用預處理命令 #define
。
#define pi 3.1415926
這種方式一般出現在程序函數體的外部。還有一種方式是在函數體內部使用關鍵字 const。
const float pi = 3.1415926;
常量定義好之后在程序編譯和執行的過程中是永遠不會改變的,直接拿來使用即可。
3. 小結
C 語言中的常量可能和我之前所認識的常量不太一樣。其實叫做字面值更為貼切一點。它是由整數數字,浮點數字,字符,字符串等組成。
而與常量這個英文單詞對應的確實也是一個常量,只不過這個常量是一個不可以變化的量。只是用一個特定的名稱,代表了另外一個字面值。這個常量是恒定的。不可以嘗試改變一個常量,因為會產生錯誤。而常量的定義也會有兩種不同的方式。一種是采用預處理的方式,而另外一種則是采用了關鍵字的定義。兩者定義的位置也是不一樣的,我們在使用的時候要注意這一點。