跳至正文
View Categories

1 min read

主要内容 #

1. bool 布尔变量 #

之前的课程中,我们介绍了布尔类型 bool 。
还记得 bool 变量的取值范围吗?

bool 变量的取值范围:

  • true
  • false
  • 其中,它们的值也可以使用整数来表示。

  • true 可以用 1 表示
  • false 可以用 0 表示
  • 请看以下代码:

    int main()
    {
        bool dashima(true); // 声明一个 bool 变量,并初始化
    
        bool is_ok;         // 声明一个 bool 变量
        is_ok = false;      // 赋值
        is_ok = 0;          // 赋值
        is_ok = true;       // 赋值
        is_ok = 1;          // 赋值
    
        is_ok = 20;         // 请运行,然后在调试中查看结果
        is_ok = -15;        // 请运行,然后在调试中查看结果
    
        return 0;
    }

    在这样的例程中,很难看出来 bool 变量存在的意义。
    而一个 bool 变量,只有在“比较关系”中才可以真正看到它的价值。

    1.1 bool 变量的意义 #

    所以,下面,我们先来写一个数学上的“比较关系式”。

    假设有两个数,20 和 25,请问数学中是怎么描述它们的大小关系?

  • 20 < 25
  • 下面我们写一段代码,来表示这样的关系。

    int main()
    {
        bool is_lower;         // 声明一个 bool 变量
        is_lower = 20 < 25;    // 判断 20 是否小于 25
                               // 请问,is_lower 的值是 true 还是 false?
    
        is_lower = (20 < 25);    // 可以使用括号
    
        return 0;
    }

    1.2 bool 变量的输出 #

    下面我们来验证一下。
    我们依然可以使用 cout 来输出 bool 变量的值。
    请运行下面的代码:

    #include < iostream >
    
    int main()
    {
        bool is_lower;         // 声明一个 bool 变量
        is_lower = 20 < 25;    // 判断 20 是否小于 25
    
                               // 输出 bool 变量
        std::cout << "is_lower = " << is_lower << std::endl;
        return 0;
    }
  • 注意:cout 是将 bool 变量对应的整数值,作为结果输出的。
  • 1.3 bool 变量的输入 #

    我们依然可以使用 cin 来输入一个 bool 值。
    请运行下面的代码:

    #include < iostream >
    
    int main()
    {
        bool is_lower;         
        std::cout << "请输入 0 或者 1:" << std::endl;        
    
        std::cin >> is_lower;                                // 输入 bool 变量
        std::cout << "is_lower = " << is_lower << std::endl; // 输出 bool 变量
    
        return 0;
    }
  • 注意:输入 bool 值时,需要使用对应的整数值,作为输入。
  • 2. 小结 #

  • bool 变量的取值范围:true(1) / false(0);
  • bool 变量的值,可以是一个“关系式”的结果;(详见下一节)
  • cout 是将 bool 变量对应的整数值,作为结果输出的;
  • 输入 bool 值时,需要使用对应的整数值,作为输入 ;
  • 习题 #

    课后练习