C 布尔值
布尔值
在编程中,你经常需要一种只能具有两个值之一的数据类型,例如:
- 是 / 否
- 开关
- 真假
为此,C 有一个 bool
数据类型,即布尔值.
布尔值表示以下值: true
或者false
.
布尔变量
在 C 中, bool
type 不是内置数据类型,例如int
或者char
.
它是在 C99 中引入的,你必须 进口 以下头文件来使用它:
#包括<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(真)
printf("%d", isFishTasty); // 返回 0 (false)
亲自尝试 »
然而,更常见的是返回布尔值 比较 值和变量。
比较值和变量
比较值在编程中很有用,因为它可以帮助我们找到答案并做出决定。
例如,您可以使用 比较运算符, 如那个 比...更棒 (>
) 运算符来比较两个值:
从上面的例子可以看出,返回值是一个布尔值(1
).
您还可以比较两个变量:
在下面的例子中,我们使用 等于 (==
) 运算符比较不同的值:
例子
printf("%d", 10 == 10); // 返回 1(真),因为 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>
使用头文件时bool
变量。
现实生活中的例子
让我们想象一个“现实生活中的例子”,我们需要确定一个人是否达到了投票年龄。
在下面的例子中,我们使用 >=
比较运算符来查明年龄(25
) 是 比...更棒 或者等于 投票年龄限制为18
:
例子
int 我的年龄 = 25;
int 投票年龄 = 18;
printf("%d", myAge >= votingAge); // 返回 1(真),表示 25 岁的人可以投票!
亲自尝试 »
很酷,对吧?一个更好的方法(因为我们现在正在顺利进行)是将上面的代码包装在一个 if...else
语句,因此我们可以根据结果执行不同的操作:
例子
输出“年龄足够投票!”如果 myAge
是大于或等于 18
否则,输出“Not old enough to vote.”:
int 我的年龄 = 25;
int 投票年龄 = 18;
如果 (我的年龄 >= 投票年龄) {
printf("已达到投票年龄!");
} 别的 {
printf("尚未达到投票年龄。");
}
亲自尝试 »
布尔是所有比较和条件的基础。
您将详细了解 状况 (if...else
) 在下一章中。