C 布尔值
布尔值
在编程中,你经常需要一种数据类型,它只能取两个值之一,例如
- 是 / 否
- 开 / 关
- 真 / 假
为此,C 语言提供了一种 bool
数据类型,称为 **布尔值**。
布尔值表示要么为 true
要么为 false
的值。
布尔变量
在 C 语言中,bool
类型不是像 int
或 char
那样内置的数据类型。
它是在 C99 中引入的,你必须 **导入** 以下头文件才能使用它
#include <stdbool.h>
布尔变量使用 bool
关键字声明,可以取 true
或 false
值
bool isProgrammingFun = true;
bool isFishTasty = false;
在尝试打印布尔变量之前,你应该知道布尔值被返回为 **整数**
1
(或任何非 0 的数字)代表true
0
代表false
因此,你必须使用 %d
格式说明符来打印布尔值
示例
// 创建布尔变量
bool isProgrammingFun = true;
bool isFishTasty = false;
// 返回布尔值
printf("%d", isProgrammingFun); // 返回 1 (true)
printf("%d", isFishTasty); // 返回 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);
自己尝试一下 »
请记住,在使用 bool
变量时,请包含 <stdbool.h>
头文件。