• C++布尔类型(bool)

    在C语言中,关系运算和逻辑运算的结果有两种,真和假:0 表示假,非 0 表示真。例如:

    #include <stdio.h>
    int main(){
        int a, b, flag;
        scanf("%d %d", &a, &b);
        flag = a > b;  //flag保存关系运算结果
        printf("flag = %d\n", flag);
        
        return 0;
    }

    运行结果:
    10 20↙
    flag = 0

    C语言并没有彻底从语法上支持“真”和“假”,只是用 0 和非 0 来代表。这点在 C++ 中得到了改善,C++ 新增了 bool 类型(布尔类型),它一般占用 1 个字节长度。bool 类型只有两个取值,true 和 false:true 表示“真”,false 表示“假”。

    bool 是类型名字,也是 C++ 中的关键字,它的用法和 int、char、long 是一样的,请看下面的例子:

    #include <iostream>
    using namespace std;
    
    int main(){
        int a, b;
        bool flag;  //定义布尔变量
        cin>>a>>b;
        flag = a > b;
        cout<<"flag = "<<flag<<endl;
    
        return 0;
    }

    10 20↙
    flag = 0

    遗憾的是,在 C++ 中使用 cout 输出 bool 变量的值时还是用数字 1 和 0 表示,而不是 true 或 false。Java、PHP、JavaScript 等也都支持布尔类型,但输出结果为 true 或 false,我武断地认为这样更科学。

    你也可以使用 true 或 false 显式地对 bool 变量赋值,例如:

    #include <iostream>
    using namespace std;
    
    int main(){
        bool flag = true;
        if(flag){
            cout<<"true"<<endl;
        }else{
            cout<<"false"<<endl;
        }
    
        flag = false;
        if(flag){
            cout<<"true"<<endl;
        }else{
            cout<<"false"<<endl;
        }
    
        return 0;
    }

    运行结果:
    true
    false

    注意,true 和 false 是 C++ 中的关键字,true 表示“真”,false 表示“假”。

    在以后的编码中,我推荐使用 bool 变量来表示逻辑运算、关系运算以及开关变量的值。

更多...

加载中...