C++ 布尔值

C++ 布尔值

在编程中,您经常需要一种只能有两个值之一的数据类型,比如:

  • 是 / 否
  • 开 / 关
  • 真 / 假

为此,C++ 提供了一种 bool 数据类型,它可以取值 true(1)或 false(0)。

布尔值

布尔变量用 bool 关键字声明,并且只能取值 truefalse

实例

bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun;  // 输出 1 (true)
cout << isFishTasty;  // 输出 0 (false)

亲自试一试

从上面的例子可以看出,true 值返回 1,false 返回 0。

使用 boolalpha 打印 true/false

如果您更喜欢将 truefalse 打印为单词而不是 1 和 0,可以使用 boolalpha 操纵器:

实例

bool isCodingFun = true;
bool isFishTasty = false;

cout << boolalpha; // 启用打印 "true"/"false"

cout << isCodingFun << "\n";   // 输出 true
cout << isFishTasty << "\n";   // 输出 false

亲自试一试

注意:boolalpha 不是数据类型。它是一个 I/O 操纵器 - 一种改变 cout 显示布尔值方式的设置。当您使用它时,您是在告诉 cout:"从现在开始,将布尔值打印为 truefalse,而不是 1 和 0。"

使用 noboolalpha 重置

如果您想回到默认行为(打印 1 和 0),可以使用 noboolalpha

实例

bool isCodingFun = true;

cout << boolalpha;   // 打印为 true/false
cout << isCodingFun << "\n";  // 输出 true

cout << noboolalpha; // 重置为 1/0
cout << isCodingFun << "\n";  // 输出 1

亲自试一试

注意:您可以根据自己的喜好选择默认的 1 和 0,还是单词 true 和 false。两者在 C++ 中都是正确的,您可以使用 boolalphanoboolalpha 在它们之间切换。

提示:您可以在我们的 C++ cout 对象参考 中阅读更多关于 cout 及其操纵器的信息。

在上面的例子中,我们使用了固定的布尔值。但在实际程序中,布尔值通常是比较值或变量的结果,您将在下一章中了解更多相关信息。