## 常量
在程序執行過程中,值不發生改變的量稱為常量。C語言的常量可以分為直接常量和符號常量。
直接常量也稱為字面量,是可以直接拿來使用,無需說明的量,比如:
* 整型常量:13、0、-13;
* 實型常量:13.33、-24.4;
* 字符常量:‘a’、‘M’
* 字符串常量:”I love imooc!”
下面的代碼分別打印這四種直接常量:
```
printf("%d\n", 100);
printf("%f\n", 3.1415);
printf("%c\n", 'a');
printf("I love You");
```
在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:
```
#define 標識符 常量值
```
符號常量的標示符一般習慣使用大寫字母,變量的標示符一般習慣使用小寫字母,加以區分。
下面是一個使用符號常量的小例子:

```
#include <stdio.h>
#define PI 3.14 // 定義一個圓周率常量
int main() {
printf("圓周率:%f\n", PI);
return 0;
}
```
運算結果為: `圓周率:3.140000`
> 注意:常量是不可改變的
## 常量分類
- 整型常量,也就是整常數。
+ 二進制
+ 十進制
+ 八進制
+ 十六進制
- 實型常量。
+ 單精度
+ 雙精度
- 字符型常量。
+ 普通字符
+ 轉義字符
- 字符串常量。
+ 將一個或者多個字符用雙引號("")括起來,這樣構成的就是字符串常量。
+ 注意字符串常量和字符型常量是不一樣的。
## 不同類型常量的表示方法
### 整型常量
- 整型常量可以用三種樣子:
+ 十進制整數。如356,-120,0。
+ 八進制整數。八進制形式的常量都以0開頭,如0123,也就是十進制的83;-011,也就是十進 制的-9。
+ 十六進制整數。十六進制的常量都是以0x開頭,如0x123,就是十進制的291。
+ 二進制整數。逢二進一 0b開頭
### 實型常量
- 實型常量又分兩種:
+ 單精度小數:以f結尾,如:0.5f;
+ 雙精度小數:十進制小數形式。這個我們應該很熟悉了,小學就學了的,不過注意:0.0也是實型 常量。
```
實型的另一種表示形式:
+ 指數形式。上過初中的都應該知道科學計數法吧,指數形式的常量就是科學計數法的另一種表 示,比如123000,用科學計數法表示為1.23×10的5次方,用C語言表示就是1.23e5或1.23E5,注意e或E的前面必須要有數字,而且e或E后面的數字一定要是整數。
```
### 字符型常量
- 字符型常量都是用''(單引號)括起來的,其表現形式可以有兩種:
+ 一般形式。一個字符用''括起來,注意只能有一個字符。
+ 特殊形式。特殊形式都是以\開頭,它們在屏幕上不會直接顯示出來,而是根據其特定的功能來 顯示的,這些特殊字符常量有:
```
\n 換行,相當于敲一下回車。
\t 跳到下一個tab位置,相當于按一下鍵盤上的tab鍵。 \b 退格,相當于按一下backspace。
\r 回車。
\f 換頁,光標移到到下頁開頭。
\\ 輸出\字符,也就是在屏幕上顯示一個\字符。
\' 輸出'字符,也就是在屏幕上顯示一個'字符。
\" 輸出"字符,也就是在屏幕上顯示一個"字符。
\ddd 1位到3位八進制數表示的字符。
例如:使用'\376',則在屏幕上顯示一個黑色的方塊。 \xhh 1位到2位十六進制數表示的字符。注意x不能丟了
```
### 字符串常量
- 字符串常量與字符常量不同的地方是,字符串常量是用""把字符串括起來,所以'a'和"a"是不一 樣的,而且系統會在字符串常量的末尾自動加一個字符串結束標志('\0')。
### 自定義常量
- 格式: const 數據類型 常量名稱 = 值
+ 例如: const int NUM = 998;