C 语言布尔类型介绍
创作时间:
作者:
@小白创作中心
C 语言布尔类型介绍
引用
1
来源
1.
https://www.linuxprobe.com/introduction-to-c.html
C语言没有真正的布尔类型,布尔类型实际上是用数值型(int,float,char等)表示的,不能自动打印为true或者false,只能自己写代码实现。
C 语言标准(C89) 没有定义布尔类型,如果你使用 true 和 false,会出现以下错误:
infinite.c:5:12: error: use of undeclared identifier 'true'
while (true) {
1 error generated.
make: *** [infinite] Error 1
我们可以借助 C 语言的宏定义来设置:
//宏定义布尔类型
#define BOOL int
#define TRUE 1
#define FALSE 0
//定义一个布尔变量
BOOL flag = FALSE;
也可以通过枚举类来定义:
typedef enum
{
true=1, false=0
}bool;
实例
#include <stdio.h>
//计算n!,n的值在main中定义
int main(void)
{
int n = 10; //计算叠乘数
int sum = 1; //用来存放叠乘的结果
typedef enum
{
true=1, false=0
}bool;
bool flag = false; //叠乘标记
int num = n; //循环次数
while( !flag )
{
sum = sum * (num--);
//当num=1时结束循环
if( num == 1)
{
flag = true;
}
}
printf ("%d的叠乘值为 %d \n", n, sum);
return 0;
}
输出结果为:
10的叠乘值为 3628800
C99 还提供了一个头文件定义了 bool 代表 _Bool,true 代表 1,false 代表 0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。
实例
//导入 stdbool.h 来使用布尔类型
#include <stdio.h>
#include <stdbool.h>
//计算n!,n的值在main中定义
int main(void)
{
int n = 10; //计算叠乘数
int sum = 1; //用来存放叠乘的结果
bool flag = false; //叠乘标记
int num = n; //循环次数
while( !flag )
{
sum = sum * (num--);
//当num=1时结束循环
if( num == 1)
{
flag = true;
}
}
printf ("%d的叠乘值为 %d \n", n, sum);
return 0;
}
输出结果为:
10的叠乘值为 3628800
热门推荐
Excel SUM函数使用指南:从入门到精通
中国城市规划设计研究院牵头主编的《好城区评价标准》顺利通过审查
《湖边》:湖乡母地的精神回望
2025流年不利的属相,啥叫犯太岁是什么意思
AI在新闻领域的应用有哪些?会颠覆传统新闻模式吗?
咳嗽有痰的护理方法
解析 2025 央企投资主线:破净股与重组机遇
效力过NBA的6位中国球员薪水是多少?周琦133万,姚明易建联呢?
数据库如何规范输入格式
汝瓷烧制技艺:从"芝麻花"到现代创新
秋冬干燥?广东省中医院为你献上滋养润燥三汤方
吃糖影响发育:几岁可以吃糖果?
三明徒步的经典户外线路有哪些?三明20个景美人少的徒步的好去处推荐
探索嵌入式系统的奥秘:嵌入式培训机构的全面指南
汉匈“河南之战”是怎么一回事?为何说这一战奠定了卫青的地位?
解决失眠要靠人文关怀和科技力量——专访中国科学院院士陆林
睡眠不足或超过“最佳时间”,都会影响大脑功能和心理健康
五大危险因素,推高国人2型糖尿病患病率!上海瑞金医院宁光院士等柳叶刀子刊文章
2025年近视散光检测费用概览:价格多少?
手机的英文表达:从基础到实用全攻略
米香四溢的餐桌主角——丝苗米的美味探索
黑巧克力增肥还是减肥?关键在于摄入量和食用方式
“只求微赚”“用利息生活”盛行 Z世代理财“稳”字当头
手机不能边充电边玩?关于电池的那些事儿
伽蓝菩萨的来历,他在佛教菩萨中的地位
土壤养分速测仪快速评估土壤肥力的现代工具
急性鼻窦炎需要使用抗生素吗?
TPE进胶口气纹问题的成因分析与解决方案
成都武侯新城板块分析:房价走势与在售新房盘点
室内也可能造成中暑!避免伤害3大部位先降温:颈部、腋下、鼠蹊部