1. 程式人生 > >布爾類型和三目運算符

布爾類型和三目運算符

根據 三目運算符 數值 數據 sys 使用 布爾類型 計算 lse

介紹

C語言中沒有具體的bool類型,在C中使用int 型的0和1來代表true和false,但是在C++中對C的布爾類型有了一個增強,增加了一種bool類型,其值為true和false,並且理論上在內存中只占用一個字節,但是C++的編譯器在編譯到true和false的時候也是用0和1分別代表false和true的

bool類型的計算

  • Bool類型的true(非0),false(0)
  • bool a = 0;

    printf("a = %d\n",a); //0

    a++;

    printf("a = %d\n",a); //1

    a = a-3;

    printf("a = %d\n",a); //1

    system("pause");

  • Bool 類型在參加數值運算的時候,和整數運算是一樣的,不過得到的結果,編譯器會根據true和false的定義來將計算的結果進行整理。將其值編程0或者1
  • Bool類型是C++ 中的基本數據類型,可以定義bool的全局變量、常量、指針、數組等
  • 三目運算符:(C++對三面運算符進行了升級)

    下面的代碼真確嗎?

    int a = 1;

    int b = 2;

    (a < b ? a : b) = 3;

    printf("a = %d, b = %d\n", a, b);

    • C語言中三目運算符返回的是一個變量值,不能作為左值使用
    • C++中三目運算符可直接返回變量本身,既可作為左值又可作為右值()
    • 註意:三目運算符中所有可能返回的變量中,有一個是常量,就不能作為左值使用

    C++中的引用

    1. 引用可認為是一個已經定定義的變量的一個別名
    2. 引用的語法:type& name = val;

    int a = 1;

    int& b = a;

    printf("b = %d,a = %d\n",b,a);

    printf("&b= %p\n",&b);

    printf("&a= %p\n",&a);

    變量名的回顧

    1. 變量是一段實際連續存儲空間的別名
    2. 程序中通過變量來申請並命名存儲空間
    3. 通過變量的名字可以使用內存空間
    4. C++中的變量可以有別名(就是引用)

    小結

    • bool類型是C++新增加的基礎類型
    • bool類型值只能是true和false
    • C++中的三目運算符可作為左值使用
    • C++中的引用可以看作變量的別名來使用
    • 三目運算符的可能返回值都是變量時,返回的是引用

    布爾類型和三目運算符