C++布尔类型

Love The Way You Lie 2023-07-13 08:09 150阅读 0赞

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

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

运行结果:

  1. 10 20
  2. flag = 0

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

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

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. int a, b;
  5. bool flag; //定义布尔变量
  6. cin>>a>>b;
  7. flag = a > b;
  8. cout<<"flag = "<<flag<<endl;
  9. return 0;
  10. }

运行结果

  1. 10 20
  2. flag = 0

遗憾的是,在 C++ 中使用 cout 输出 bool 变量的值时还是用数字 1 和 0 表示,而不是 true 或 false。

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

  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. bool flag = true;
  5. if(flag){
  6. cout<<"true"<<endl;
  7. }else{
  8. cout<<"false"<<endl;
  9. }
  10. flag = false;
  11. if(flag){
  12. cout<<"true"<<endl;
  13. }else{
  14. cout<<"false"<<endl;
  15. }
  16. return 0;
  17. }

运行结果:

  1. true
  2. false

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

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读