Cplusplus 简明教程

C++ Boolean (bool) Data Type

C 中的 bool data type 表示布尔值,布尔值有 TrueFalse 两种情况。在 C 中, 1 表示 True ,而 0 表示 False 。关键字“ bool ”用于声明布尔数据类型。 bool data type 是 C++ 语言的较新特性之一。

The bool data type in C stands for Boolean values, which are True and False. In C, 1 stands for True whereas 0 stands for False. The keyword "bool" is used to declare a Boolean data type. The addition of bool data type is a one of the newer features of C++ language.

Use of Boolean Data Type

布尔(bool)数据类型有以下几种用途:

The Boolean (bool) data type is used in the following ways −

  1. In conditions where we need to have binary values, i.e., values which represent two states of a variable.

  2. When we need to run loops based on certain conditions, we use bool data types.

  3. In case of having null values, we generally relate them to bool data types.

  4. For comparing two values for equality or inequality, we generally use bool data types.

Values of Boolean (bool) Data Type

C++ 中的 bool 数据类型可以有两种值,这些值如下所示:

The bool data types in C++ can have one of two values, and these values are as follows −

  1. True or 1

  2. False or 0

正如前面提到的,在 C++ 编译中,布尔值 1 表示真,而布尔值 0 表示假。

As stated earlier, Boolean 1 means true whereas Boolean 0 means false in C++ compilation.

Creating a Boolean Variable

我们可以使用“bool”关键字后跟变量名来声明布尔变量。

We can declare a Boolean variable using the "bool" keyword followed by the variable name.

Syntax

使用以下语法来创建一个布尔类型变量:

Use the following syntax to create a Boolean type variable −

bool variable_name = [value];

这里,[value] 是可选的,可在声明期间用于赋值。

Here, [value] is an optional and can be used to assign value during the declaration.

Example

在以下示例中,我们声明了一个布尔变量,并为其分配了一个值。

In the following examples, we are declaring a Boolean variable, assigning a value to it.

// C++ program to demonstrate
// bool data type
#include <iostream>
using namespace std;

// Driver code
int main() {
   bool flag;
   flag=1;//this is true
   cout<<flag;
   return 0;
}

Example of bool Data Type

以下示例演示了布尔(bool)数据类型的用法:

The following example demonstrate the use of Boolean (bool) data type −

// C++ program to demonstrate
// bool data type
#include <iostream>
using namespace std;

int main(){
   bool flag;
   flag=1;//this is true
   bool flag1=true;

   cout<<flag<<" "<<flag1<<endl;

   int count=0;
   while(flag){
      //condition where flag is true
      count++;
      if(count>=3) flag=false;
   }

   cout<<count<<" "<<flag<<endl;

   if(flag1) cout<<"True flag1"<<endl;
      else cout<<"False flag1"<<endl;

   return 0;
}

Output

1 1
3 0
True flag1

Implicit Conversion of Bool Variables

布尔数据类型可以隐式转换为数值数据类型,反之亦然。这是可能的,因为任何大于 0 的值都有布尔真值,而任何小于或等于 0 的值都有布尔假值。

Boolean data types can be implicitly converted to numeric data types, and vice-versa. This is possible as any value greater than 0 has a Boolean true value, whereas any value less than or equal to 0 has a Boolean false value.

此外,布尔值可以使用隐式转换技术以整数值的形式添加到整数变量中。因此,当我们将布尔值添加到一个整数值中时,如果该值为真,则该整数值会增加 1,否则仍与虚假值对应于 0。

Also, the Boolean values can be added in form of integers to integral variables, using implicit conversion techniques. Hence, when we add a Boolean value to an integer, it gets incremented by 1 if the value is true, otherwise it remains same as false value corresponds to 0.

Example

这在以下给出的示例中得到了明确解释:

This is clearly explained in the examples given below −

// C++ program to demonstrate
// bool data type
#include <iostream>
using namespace std;

int main() {
   bool flag;
   flag=1;//this is true
   bool flag1=true;

   cout<<flag<<" "<<flag1<<endl;

   int count=0;
   int x=12;
   float y=35.45;
   bool k=count, k1=x, k2=y;
   int sum=x+flag+flag1;

   cout<<k<<" "<<count<<" "<<k1<<" "<<x<<" "<<k2<<" "<<y<<" "<<endl;
   cout<<”After adding Boolean and integer values : ”<< sum<<endl;
   return 0;
}