布尔型函数 c语言,C语言中的布尔值
C语言的布尔类型
在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法:
//定义一个int类型变量,当变量值为0时表示false,值为1时表示trueint flag;flag = 0;//......flag = 1;if( flag ){//......}
但这种做法不直观,而且没有明确flag一定是布尔值。所以我们又借助C语言的宏定义:
//宏定义布尔类型#define BOOL int#define TRUE 1#define FALSE 0//定义一个布尔变量BOOL flag = FALSE;
这种方法虽然直观,但依然是换汤不换药,变量flag在编译器看来依然是int类型。
新版本总会改进一些不好的地方,所以在最新的C语言标准(C99)解决了布尔类型的问题。C99提供了_Bool 型,所以布尔类型可以声明为 _Bool flag。
_Bool依然仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1。
C99还提供了一个头文件 定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。
//导入 stdbool.h 来使用布尔类型#include #include //计算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;}
转载于:https://www.cnblogs.com/NULL-ROOT/p/10363862.html
布尔型函数 c语言,C语言中的布尔值相关推荐
- R语言把dataframe中的NA值替换为0
R语言把dataframe中的NA值替换为0 目录 R语言把dataframe中的NA值替换为0 缺失值替换 方法总结 缺失值替换
- R语言生存分析中的OR值是什么?如何解读?
R语言生存分析中的OR值是什么?如何解读? 目录 R语言生存分析中的OR值是什么?如何解读? #从Logistic模型说起
- python中可用于布尔测试的,如何在Python中使用布尔值?
Python中的布尔值是整数的子类.布尔构造函数- bool .bool类继承自int类. issubclass(bool,int) // will return True isinstance(Tr ...
- java语言中声明布尔型_【Java初探02】——Java语言基础
本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...
- C语言中的布尔型变量
C语言中的布尔型变量 使用C++或JAVA等编程语言较多的人,可能随手就习惯定义一个flag,其数据类型为布尔型,然后用true和false来表示真与假的问题.这个是非常常用的.但是,在C语言 ...
- 有关bool(布尔)类型在C语言中的应用
文章目录 前言 一.bool类型是什么? 二.使用举例 总结 前言 由于学习过程中接触到了bool类型,产生了浓厚的兴趣,便写下这一篇文章来阐述bool类型的大概情况. 一.bool类型是什么? bo ...
- 2.2 Go语言中的布尔型和整型
变量类型 上一节对Go语言中的变量的定义方法进行了介绍,定义的方式一种是显示,一种为隐式.显示定义需要明确变量类型,而隐式定义则根据赋予的值来决定变量的类型.那么Go语言中到底有多少种变量类型呢?可以 ...
- C语言与java中函数传参比较
C语言与java中函数传参比较 首先先说结论:C语言中参数传递有值传递,地址传递,引用传递.但java中的参数传递只有值传递 1.C语言中的参数传递 1>值传递 值传递非常好理解,其实就是对函数 ...
- Oracle EBS R12 运行adadmin 安装中文语言包过程中意外中断后的处理
介绍Oracle EBS R12 运行adadmin 安装中文语言包过程中意外中断后的处. Oracle EBS R12 运行adadmin 安装中文语言包过程中意外中断或关机后,重新开机,运行数据库 ...
最新文章
- c++ 类数组_《深入java虚拟机》读书笔记类加载
- weblogic获取文件的路径问题
- XCTF-MISC-新手区-坚持60s
- offes给excel增加下拉选项_财务“救星”:Excel不止可以下拉单元格,还可以进行成本核算...
- 编码的奥秘txt_编码的奥秘(Charles Petzold著) PDF扫描版[9MB]
- 啦啦外卖45.2至尊版全开源独立版
- pythoniris补全缺失值_机器学习iris数据集导入
- 缺失magisk正常工作所需的文件_magisk常见错误日志代码 面具模块报错解决措施...
- 前端入门参考:写给前端入门者的chat
- IJCAI 2022杰出论文公布,大陆作者中稿298篇拿下两项第一
- LINUX入门——Linux是什么?
- 改oracle sockets,安装GI最后检查时出现warning - Domain Sockets,PRVG-11750
- SLIC Superpixels 算法学习笔记
- 数据小助手:chenzx.dataassistant.db.NoteColumn设计
- Oracle Reports 6i培训教程 - 百度文库
- SecureCRT初次使用
- 检测手机号qq号是否开通微信的优势和好处
- Linux Shell 脚本编程 入门
- 什么是“2 Way SSL”以及它是如何工作的?
- jira切换中文语言模式