C 布尔值
布尔值
在编程中,您经常需要一种只能取两个值之一的数据类型,例如:
- YES / NO
- ON / OFF
- TRUE / FALSE
为此,C 语言提供了一种名为 bool 的数据类型,也称为 布尔值。
布尔值表示两个值之一:true 或 false。
布尔变量
在 C 语言中,bool 类型并非内置数据类型,例如 int 或 char。
它是在 C99 中引入的,要使用它,您必须导入以下头文件:
#include <stdbool.h>
布尔变量用bool关键字声明,可以取值true或false:
bool isProgrammingFun = true;
bool isFishTasty = false;
在尝试打印布尔变量之前,您应该知道布尔值是以整数的形式返回的:
1(或任何其他非 0 的数字)表示true0表示false
因此,您必须使用 %d 格式说明符来打印布尔值:
示例
// 创建布尔变量
bool isProgrammingFun = true;
bool isFishTasty = false;
// 返回布尔值
printf("%d", isProgrammingFun); // Returns 1 (true)
printf("%d", isFishTasty); // Returns 0 (false)
亲自试一试 »
然而,更常见的做法是通过比较值和变量来返回布尔值。
比较值和变量
比较值在编程中非常有用,因为它能帮助我们找到答案并做出决策。
例如,您可以使用比较运算符,例如大于(>)运算符,来比较两个值:
从上面的例子中可以看出,返回值是一个布尔值(1)。
您还可以比较两个变量:
在下面的示例中,我们使用等于(==)运算符来比较不同的值:
示例
printf("%d", 10 == 10); // 返回 1(true),因为 10 等于 10
printf("%d", 10 == 15); // 返回 0(false),因为 10 不等于 15。
printf("%d", 5 == 55); // 返回 0(false),因为 5 不等于 55。
亲自试一试 »
您不仅限于比较数字。您还可以比较布尔变量,甚至特殊结构,例如数组(您将在后面的章节中了解更多相关内容):
示例
bool isHamburgerTasty = true;
bool isPizzaTasty = true;
// 看看汉堡和披萨是否都好吃。
printf("%d", isHamburgerTasty == isPizzaTasty);
亲自试一试 »
使用布尔变量时,请记住包含 <stdbool.h> 头文件。

