写点什么

C 语言中布尔值的用法和案例解析

作者:小万哥
  • 2023-12-23
    北京
  • 本文字数:1124 字

    阅读完需:约 4 分钟

C 语言中布尔值的用法和案例解析

C 语言中的布尔值

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


  • 是/否

  • 开/关

  • 真/假


为此,C 语言有一个 bool 数据类型,称为布尔值。

布尔变量

在 C 语言中,bool 类型不是内置数据类型,例如 intchar


它是在 C99 中引入的,您必须导入以下头文件才能使用它:


#include <stdbool.h>
复制代码


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


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)
复制代码


但是,通过比较值和变量来返回布尔值更常见。

比较值和变量

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


例如,您可以使用比较运算符,例如大于(>)运算符,来比较两个值:


printf("%d", 10 > 9); // 返回1(true)因为10大于9
复制代码


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


您还可以比较两个变量:


int x = 10;int y = 9;printf("%d", x > y);
复制代码


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


printf("%d", 10 == 10); // 返回1(true)printf("%d", 10 == 15); // 返回0(false)printf("%d", 5 == 55);  // 返回0(false)
复制代码


您不仅限于只比较数字。您还可以比较布尔变量,甚至特殊的结构,例如数组:


bool isHamburgerTasty = true;bool isPizzaTasty = true;
// 找出汉堡和披萨是否都好吃printf("%d", isHamburgerTasty == isPizzaTasty);
复制代码


记住,在使用 bool 变量时要包含 <stdbool.h> 头文件。

真实案例

让我们想一个“现实生活中的例子”,我们需要找出一个人是否有资格投票。


在下面的示例中,我们使用 >= 比较运算符来找出年龄(25)是否大于或等于投票年龄限制,该限制设置为 18:


int myAge = 25;int votingAge = 18;
printf("%d", myAge >= votingAge); // 返回1(true)
复制代码


很酷,对吧?一个更好的方法(既然我们已经开始讨论了),是将上面的代码包装在一个 if...else 语句中,以便我们可以根据结果执行不同的操作:


// 如果myAge大于或等于18,则输出"Old enough to vote!"。否则输出"Not old enough to vote.":
int myAge = 25;int votingAge = 18;
if (myAge >= votingAge) { printf("Old enough to vote!");} else { printf("Not old enough to vote.");}
复制代码

最后

为了方便其他设备和平台的小伙伴观看往期文章:


微信公众号搜索:Let us Coding,关注后即可获取最新文章推送


看完如果觉得有帮助,欢迎 点赞、收藏、关注

发布于: 刚刚阅读数: 5
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
C 语言中布尔值的用法和案例解析_程序人生_小万哥_InfoQ写作社区