最适合网络开发者的网站
C 语言。W3Schools 英文版。初学者课程

尿素 西斯

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)
亲自尝试 »

然而,更常见的是返回布尔值 比较 值和变量。


比较值和变量

比较值在编程中很有用,因为它可以帮助我们找到答案并做出决定。

例如,您可以使用 比较运算符, 如那个 比...更棒 (>) 运算符来比较两个值:

例子

printf("%d", 10 &gt; 9); // 返回 1(真),因为 10 大于 9
亲自尝试 »

从上面的例子可以看出,返回值是一个布尔值(1).

您还可以比较两个变量:

例子

int x = 10;
int y = 9;
printf("%d", x &gt; y);
亲自尝试 »

在下面的例子中,我们使用 等于 (==) 运算符比较不同的值:

例子

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 &gt;= votingAge); // 返回 1(真),表示 25 岁的人可以投票!
亲自尝试 »

很酷,对吧?一个更好的方法(因为我们现在正在顺利进行)是将上面的代码包装在一个 if...else 语句,因此我们可以根据结果执行不同的操作:

例子

输出“年龄足够投票!”如果 myAge大于或等于 18否则,输出“Not old enough to vote.”:

int 我的年龄 = 25;
int 投票年龄 = 18;

如果 (我的年龄 &gt;= 投票年龄) {
printf("已达到投票年龄!");
} 别的 {
printf("尚未达到投票年龄。");
}
亲自尝试 »

布尔是所有比较和条件的基础。

您将详细了解 状况 (if...else) 在下一章中。