C 语言中布尔值的用法和案例解析
C语言中的布尔值
在编程中,您经常需要一种只能有两个值的数据类型,例如:
- 是/否
- 开/关
- 真/假
为此,C语言有一个 bool 数据类型,称为布尔值。
布尔变量
在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)
但是,通过比较值和变量来返回布尔值更常见。
比较值和变量
比较值在编程中很有用,因为它可以帮助我们找到答案和做出决定。
例如,您可以使用比较运算符,例如大于(>)运算符,来比较两个值:
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,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
C 语言中布尔值的用法和案例解析的更多相关文章
- js中布尔值为false的六种情况
下面6种值转化为布尔值时为false,其他转化都为true 1.undefined(未定义,找不到值时出现) 2.null(代表空值) 3.false(布尔值的false,字符串"false ...
- Go语言中的值类型和引用类型
一.值类型和引用类型值类型:int.float.bool和string这些类型都属于值类型,使用这些类型的变量直接指向存在内存中的值,值类型的变量的值存储在栈中.当使用等号=将一个变量的值赋给另一个变 ...
- Java语言中的值传递与引用传递
Java应用程序中永远不会传递对象,而只会传递对象应用,因此,按对象引用传递. (1) Int作为参数传递时,对形参值得修改不会影响到实参: (2) StringBuffer作为参 ...
- Python中布尔值是False的所有值
在python中以下都是False:为0的,空集合,空字符串,空值None >>> bool(0) False >>> bool(-0) False >> ...
- javascript 强制转换规则 boolean 布尔值类型
摘自 <你不知道的Javascript(中卷)> p55 一句话简述, 假值表以外的值均可以认为是真值,部分浏览器可能自定义了假值表以外的假值,并不符合W3C规范,需要特殊对待. 首先也是 ...
- 前端基础之javaScript(基本类型-布尔值数组-if-while)
目录 一:javaScript基本数据类型 1.字符串类型常用方法 2.返回长度 3.移出空白 4.移除左边的空白 5.移出右边的空格 6.返回第n个字符 7.子序列位置 8.根据索引获取子序列 9. ...
- Windows Powershell 对于布尔值的处理
Windows PowerShell中有很多场景需要输入0或者1作为命令的参数.Powershell对于布尔值的逻辑处理究竟是怎样的呢?除了最常用的$True, $False, 1, 0.对于要求输入 ...
- Swift语言指南(七)--语言基础之布尔值和类型别名
原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...
- [日常] Go语言圣经--复数,布尔值,字符串习题
go语言圣经-复数 1.我们把形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位.两种精度的复数类型:complex64和complex128,分别对应float3 ...
- js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域
js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...
随机推荐
- 数据库运维 | 携程分布式图数据库NebulaGraph运维治理实践
作者简介:Patrick Yu,携程云原生研发专家,关注非关系型分布式数据存储及相关技术. 背景 随着互联网世界产生的数据越来越多,数据之间的联系越来越复杂层次越来越深,人们希望从这些纷乱复杂的数据中 ...
- C#的托盘窗体显示与隐藏效果 - 开源研究系列文章
今天无聊,进行的C#的编码内容仍然在继续.这些天不断地在完善及编写C#的Winform相关的代码,并将其整理形成博文.这次带来的是关于窗体的显示及隐藏效果的代码段.上次有过一个代码,这次当做新代码进行 ...
- STL-vector模拟实现
#pragma once #include<assert.h> #include<iostream> using std::cout; using std::endl; usi ...
- C#---串口调试助手
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 usin ...
- 计算机网络-IP地址
目录 子网划分 定长子网划分 子网划分的方法 子网掩码 可变长子网划分 无类别编址 网络前缀 路由聚合 特殊用途的IP地址 专用网络地址 链路本地地址 运营商级NAT共享地址 用于文档的测试网络地址 ...
- Twitter推特 api接口 获取trending趋势搜索关键词 python数据采集
iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Twitter公开数据采集API,供用户按需调用. 接口使用详情请参考Twitter接口文档 ...
- 使用 PMML 实现模型融合及优化技巧
在机器学习的生产环境中,我们经常需要将多个模型的预测结果进行融合,以便提高预测的准确性.这个过程通常涉及到多个模型子分的简单逻辑回归融合.虽然离线训练时我们可以直接使用sklearn的逻辑回归进行训练 ...
- vue-cli-plugin-electron-builder
https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/#installation 用cnpm安装 cnpm install ...
- Navicat 通过 Http通道 连接远程 Mysql
https://jingyan.baidu.com/article/3d69c551aa54dff0cf02d7a0.html 注意本机ip填写 localhost
- 数据湖-Hudi/IceBerg