1. 程式人生 > >《C++Primer》第 5 版第 2 章筆記(未完整版)

《C++Primer》第 5 版第 2 章筆記(未完整版)

第 2 章 變數和基本型別

1. 基本內建型別分為 算術型別和空型別

2. 算術型別分為 整型 和 浮點型

3. 整型分為 int、字元、布林型別

4. char 1位元組   short 2位元組  int和long 4位元組  long long 8位元組  float 4位元組  double 8位元組

5. bool 取值真、假

6. 帶符號的(signed)和無符號的(unsigned)修飾整型,帶符號的表示正數、負數、0,無符號只能大於等於0

7. int、short、long、long long 都是帶符號的,在型別名前加 unsigned 變成無符號,unsigned int 可縮寫為 unsigned

8. 字元分為 char、signed char、unsigned char,表現形式有兩種:帶符號的(signed)和無符號的(unsigned),-128 到 127,0 到 255 

9. 如何選擇型別:

  • 明知數值不為負,選無符號型別
  • 超過 int 範圍,選 long long
  • 在算術表示式中不用 char 或 bool,明確指定 signed char 或 unsigned char
  • 執行浮點數運算用 double

10. 型別轉換,比如非布林值做條件轉布林值,非 0 為 true,0 為 false

11. 無符號 + 有符號 ,不能這樣混用,無符號負數轉成正數為 負數加上無符號數的模

12. 0 開頭八進位制數,0x 開頭十六進位制數

13. 字串字面值的型別實際上是由常量字元構成的陣列,後面有空字元 '\0',兩個字串字面值位置緊鄰且僅由空格、縮排和換行符分隔,則他們實際上是一個整體

cout << "a really, really long string literal "
        "that spans two lines" << endl;

14. 轉義序列是字元,均以反斜線作為開始

15. 使用長整型字面值時,使用大寫字母 L 來標記,UL 代表 unsigned long

16. nullptr 是指標字面值,false 和 true 是 bool 型別字面值

17.