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

小万哥
• 阅读 120

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,关注后即可获取最新文章推送

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

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
2.C++中的bool类型,三目运算符,引用
本章主要内容:1)bool类型2)三目运算符3)引用1.布尔型bool在C中,bool类型只有true(非0)和flase(0)两个值,且bool类型只占用了一个字节.例如:include<stdio.h
Stella981 Stella981
2年前
Mongodb之数据类型
一.MongoDB的数据类型Object ID:Documents自生成的\_idString:字符串,必须是utf8Boolean:布尔值,true或者false(Python中TrueFalse首字母大写)Integer:整数(Int32Int64你们就知道有个Int就行了,一般我
Stella981 Stella981
2年前
Python3中的列表用法,看这一篇就够了
类似C语言中的列表用法\创建:列表使用中括号表示,内部元素使用逗号隔开,元素的数据类型允许不一致,允许多层嵌套name
小万哥 小万哥
4个月前
C 语言:类型转换与常量的细致理解
C语言中的类型转换有时,您必须将一种数据类型的值转换为另一种类型。这称为类型转换隐式转换当您将一种类型的值分配给另一种类型的变量时,编译器会自动进行隐式转换。例如,如果您将一个int值分配给一个float类型:c//自动转换:inttofloatfloat
小万哥 小万哥
4个月前
C 语言文件处理全攻略:创建、写入、追加操作解析
C语言中的文件处理在C语言中,您可以通过声明类型为FILE的指针,并使用fopen()函数来创建、打开、读取和写入文件:cFILEfptr;fptrfopen(filename,mode);FILE基本上是一个数据类型,我们需要创建一个指针变量来使用它(f
小万哥 小万哥
4个月前
深入浅出 C 语言:学变量、掌控流程、玩指针,全方位掌握 C 编程技能
C语言简介C语言介绍C语言的特性C语言相对于其他语言的优势C程序的编译C中的HelloWorld程序参考文章:学习变量、数据类型和运算符C中的变量和关键字C语言中的作用域规则C中的数据类型运算符及其类型C语言中的类型转换参考文章:了解控制流语句C语言中的循
小万哥 小万哥
3个月前
C# 布尔值和条件语句:入门指南和实用示例
C布尔值在编程中,通常需要一个只能有两个值之一的数据类型,比如:是/否开/关真/假为此,C有一个bool数据类型,可以取true或false的值。布尔值使用bool关键字声明布尔类型,只能取true或false的值:示例:csharpboolisCShar
小万哥 小万哥
3个月前
Java 数据类型详解与类型转换技巧
Java数据类型Java中的变量必须是指定的数据类型:javaintmyNum5;//整数floatmyFloatNum5.99f;//浮点数charmyLetter'D';//字符booleanmyBooltrue;//布尔值StringmyText"H
小万哥 小万哥
7个月前
Python 布尔类型
布尔值表示两个值之一:True(真)或False(假)。布尔值在编程中,您经常需要知道一个表达式是否为True或False。您可以在Python中评估任何表达式,并获得两个答案之一:True或False。当您比较两个值时,表达式会被评估,Python会返回
小万哥 小万哥
4个月前
C 语言教程:数据类型和格式说明符
C语言中的数据类型C中的变量必须是指定的数据类型,并且您必须在printf()函数中使用格式说明符来显示它:c//创建变量intmyNum5;//整数(没有小数点)floatmyFloatNum5.99;//浮点数charmyLetter'D';//字符/