1.5常量

1.5常量

什麼是常量

  • 常量就是在程序運行過程當中值不會發生改變,並且一眼就能看出其值得量。12 'a' 7.809 "Hello, C++"
  • 常量也能夠分紅多種:整型,浮點型,字符型,字符串,符號常量

整型常量

  • 十進制整型常量。0 123 -456 677363
  • 十六進制整型常量,以0x開頭。 0x123 -0x1a 0x2abcdef 0xFFA 0x100 十六進制數中,用A(a)表示10,B(b)表示11,C(c)表示12,D(d)表示13,E(e)表示14,F(f)表示15。 (3450)<sub>10</sub> = 0 x 10<sup>0</sup> + 5 x 10<sup>1</sup> + 4 x 10<sup>2</sup> + 3 x 10<sup>3</sup> 0x2FAB = 11 x 16<sup>0</sup> + 10 x 16<sup>1</sup> + 15 x 16<sup>2</sup> + 2 x 16<sup>3</sup> = (12203) <sub>10</sub>

1個十六進制位,正好對應於4個二進制爲 F = (1111) <sub>2</sub>。編碼

整型常量

  • 八進制整型常量,以0開頭:01 0123 -0456 0677

字符型常量

  • 字符型常量表示一個字符,用單引號括起來:'a' 'B' ',' '0' '9' ':'
  • 字符型常量可用於給char 和 unsigned char類型的變量賦值
char c = 'a';
unsigned char ch;
ch = '9';

字符型常量

  • 字符型常量和變量都佔一個字節,內部存放的是字符的ASCII編碼。ASCII編碼是一個0~255的整數。 | 字符 | 二進制編碼 | 十六進制編碼 | 十進制編碼 | | 'A' | 0100 0001 | 0x41 | 65 | | 'a' | 0110 0001 | 0x61 | 97 | | '0' | 0100 1000 | 0x30 | 48 | | '!' | 0010 0001 | 0x21 | 33 |

字母和數字的ASCII十進制編碼

  • '0' ~ '9': 48 ~ 57
  • 'A' ~ 'Z': 65 ~ 90
  • 'a' ~ 'z': 97 ~ 122

轉義字符

C++中還有一類字符常量,以''開頭,如'\n'、'\r'、'\t'等,稱爲轉義字符。所謂「轉義」是指''後面的字符被轉成別的含義。 | 轉移字符 | 含義 | ASCII碼 | | \n | 換行,將輸出位置移到下一行開頭 | 10 | | \r | 回車,將輸出位置移到本行開頭 | 13 | | \t | 製表符 | 9 | | \b | 退格 | 8 | | \ | 反斜槓 | 92 | | ' | 單引號 | 39 | | \0 | | 0 | | \ddd | ddd是個八進制數,表明字符的ASCII碼 | ddd(八進制) | | \xhh | hh是個十六進制數,表明字符的ASCII碼 | hh(十六進制) |code

字符串常量

  • 字符串常量是用雙引號括起來的一串字符:"a" "abc" "1234567"
  • ""也是一個字符串常量,它表明一個空串,即不包含任何字符的字符串
  • "a"和'a'是不同的,前者是隻包含一個字符的字符串,後則是一個字符,不能用前者給一個char類型的變量賦值。
  • "1234567"固然也和1234567是不同的,不能用前者給一個int類型的變量賦值。
  • 字符串常量裏也能夠包含轉義字符
printf("123\t456\nabc\n");
printf("123\'45\n");
printf("UVWX\"YZ\n);
/*Output:
123	456
abc
123'45
UWVX"YZ
*/

符號常量

  • 爲了閱讀和修改的方便,經常使用一個有字母、數字和下劃線組成的名字來表明某個常量,這樣的常量就叫符號常量:#define 常量名 常量值
  • 定義以後,程序中全部出現 「常量名」的地方,就等價於出現的是「常量值」
  • 「常量名」的命名規則和變量相同,「常量值」則能夠是任何常量
  • 儘可能少使用數值常量,而應該使用符號常量代替它,這樣便於修改。
#define MAX_NUM 1000
#define UNIVERSITY_NAME "Peking University"
相關文章
相關標籤/搜索