精华内容
下载资源
问答
  • C语言布尔类型

    2021-07-06 22:48:23
    文章目录布尔类型:boolean1. 基本介绍 布尔类型:boolean 1. 基本介绍 C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0 为假,非 0 为真 [案例] 但这种做法不直观,所以我们可以借助 C 语言的宏定义 ...

    布尔类型:boolean

    1. 基本介绍

    1. C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0,非 0
    2. 但这种做法不直观,所以我们可以借助 C 语言的宏定义 。
    3. C 语言标准(C99)提供了_Bool 型,_Bool 仍是整数类型,但与一般整型不同的是,_Bool 变量只能赋值为 01非 0 的值都会被存储为 1C99 还提供了一个头文件 <stdbool.h> 定义了 bool 代表_Booltrue 代表 1false 代表 0。只要导入 stdbool.h ,就能方便的操作布尔类型了 , 比如 bool flag = false;
    • 条件控制语句; if
    • 循环控制语句; while …

    2. 应用案例

    • 案例1:
    #include<stdio.h>
    
    void main(){
    	int isPass = -1;
    	if(isPass){// 0表示假,非0表示真
    		printf("通过考试");
    	}else{
    		printf("没有通过考试");
    	}
    	getchar();
    }
    

    在这里插入图片描述

    • 案例2
    #include<stdio.h>
    
    #define BOOL int
    #define TURE 1
    #define FALSE 0
    void main(){
    	//可以使用宏定义来完成
    	//定义一个布尔变量
    	BOOL isOK = TURE;//等价于 int isOK = 1
    	if(isOK){
    		printf("ok")	;
    	}
    
    }
    

    在这里插入图片描述

    展开全文
  • C语言里的布尔类型

    2020-09-03 20:59:58
    好久没有更新啦~~~~ 换了新工作,从制冷行业的计算引擎开发工程师转变成Linux开发工程师; 七月和八月,这两个月很多精力放在了生活上:搬家、收拾整理、带父母旅行...所以c语言中定义布尔类型的方法: 方法一:采用

    好久没有更新啦~~~~

    换了新工作,从制冷行业的计算引擎开发工程师转变成Linux开发工程师;

    七月和八月,这两个月很多精力放在了生活上:搬家、收拾整理、带父母旅行、四处旅行、瑜伽健身、Linux学习。

    因为精力分散比较多,所以博客停止记录学习了,惭愧啊!

    所以我要重新拾起,继续加油向前出发~~~~

    今天在研究Linux内核底层代码,复习Linux里的C语言编程,发现原来C语言是不能直接定义bool类型的哈哈,之前用c#,python习惯了。。。

    所以c语言中定义布尔类型的方法:

    方法一:采用宏定义的方式

    typedef int BOOL ;

    #define true 0

    #define false 1

    BOOL flag=true;

    方法二:采用枚举型变量方式

    typedef enum { true=0, false} BOOL;

    嗯,C语言真的很底层,很麻烦,边学边感悟,边分享!

    展开全文
  • C语言三套标准说明 C90 标准 由于C语言被各大公司所使用(包括当时处于鼎盛时期的 IBM PC),因此到了 1989 年,...此时,C语言在 ISO 有了一个官方名称——ISO/IEC 9899: 1990。其中: a、 9899 是C语言在 ISO...

    C语言三套标准说明

    C90 标准
    由于C语言被各大公司所使用(包括当时处于鼎盛时期的 IBM PC),因此到了 1989 年,C语言由美国国家标准协会(ANSI)进行了标准化,此时C语言又被称为 ANSI C。而仅过一年,ANSI C 就被国际标准化组织 ISO 给采纳了。此时,C语言在 ISO 中有了一个官方名称——ISO/IEC 9899: 1990。其中:
    a、 9899 是C语言在 ISO 标准中的代号,像 C++ 在 ISO 标准中的代号是 14882;
    b、而冒号后面的 1990 表示当前修订好的版本是在 1990 年发布的。

        对 于ISO/IEC 9899: 1990 的俗称或简称,<font color="red">有些地方称为 C89,有些地方称为 C90,或者 C89/90</font>。不管怎么称呼,它们都指代这个最初的C语言国际标准。这个版本的C语言标准作为 K&R C 的一个超集(即 K&R C 是此标准C的一个子集),把后来引入的许多非官方特性也一起整合了进去。其中包括了从 C++ 借鉴的函数原型(Function Prototypes),指向 void 的指针,对国际字符集以及本地语言环境的支持。在此标准中,尽管已经将函数定义的方式改为现在我们常用的那种方式,不过K&R的语法形式仍然兼容。
    

    C99标准
    在随后的几年里,C语言的标准化委员会又不断地对C语言进行改进,到了 1999 年,正式发布了 ISO/IEC 9899: 1999,简称为 C99 标准。C99 标准引入了许多特性,包括内联函数(inline functions)、可变长度的数组、灵活的数组成员(用于结构体)、复合字面量、指定成员的初始化器、对IEEE754浮点数的改进、支持不定参数个数的宏定义,在数据类型上还增加了 long long int 以及复数类型。毫不夸张地说,即便到目前为止,很少有C语言编译器是完整支持 C99 的。像主流的 GCC 以及 Clang 编译器都能支持高达90%以上,而微软的 Visual Studio 2015 中的C编译器只能支持到 70% 左右。

    C11标准
    2007 年,C语言标准委员会又重新开始修订C语言,到了 2011 年正式发布了 ISO/IEC 9899: 2011,简称为 C11 标准。C11标准新引入的特征尽管没 C99 相对 C90 引入的那么多,但是这些也都十分有用,比如:字节对齐说明符、泛型机制(generic selection)、对多线程的支持、静态断言、原子操作以及对 Unicode 的支持。

    查看当前编译器使用的标准

    代码实现

    #include<stdio.h>
    int main()
    {
    #if (!defined(__STDC__))
    	printf("非标准C!");
    #elif defined(__STDC_VERSION__)
    	printf("标准C版本:%ld。", __STDC_VERSION__);
    #else
    	printf("旧的标准C。");
    #endif
    	getchar();
    	return 0;
    }
    
    

    特别说明:布尔类型的实现模式

    因本地程序有使用boolean变量,但是本地C99标准并没有boolean变量,boolean类型是在C11中才有的。
    C99没有引入boolean类型,我们可以通过如下思路来实现boolean的实现:
    1、自定义实现
    使用宏定义实现

    typedef int BOOL ;
    #define true 0
    #define false 1
    
    

    2、通过枚举实现

    typedef enum { true=0, false} BOOL;
    

    3、编程使用魔鬼数字 约束定义
    例如:我们定义

    int  bool_true = 1;
    int bool_false = 0;
    //。。。程序在其它部分引用即可
    

    待补充:C语言三套标准,在使用中的差别

    因为这个跟当前特性有关,可以在编程的过程中,再具体查看。所以这个模块可以先定义为待补充就好。

    展开全文
  • C语言中布尔类型 一、相关基础知识 首先booltruefalse为C++的关键字,C语言中默认不支持这几个字符! 二、具体内容 在C89(ANSIC)标准...

    C语言中的布尔类型

     一、相关基础知识                                                 

    首先bool  true  falseC++中的关键字,C语言中默认不支持这几个字符!

     二、具体内容                                                     

    C89 (ANSI C)标准中没有定义与布尔类型相关的内容

     

    但在C99标准中新定义了一个新的关键字_Bool ,以及新增了一个头文件 <stdbool.h>规范了布尔类型的操作,方便程序员进行调用!

     

    <stdbool.h>头文件中定义了如下内容:

     

    #define bool_Bool

    #define false0

    #define true1

     

    这样在支持C99标准的编译器下只要包含stdbool.h ,就能非常方便的使用我们常用的bool  false  true来操作布尔类型

     

    但有的编译器可能不支持C99标准!即无法使用关键字_Bool以及可能无法包含stdbool.h头文件,所以我们常可以自行定义一些布尔类型的操作:

     

    #define bool int

    #define true 1

    #define false 0

     三、分析总结                                                     

    即在不支持C99标准的编译器中无法使用_Bool以及包含头文件stdbool.h,在支持C99标准的编译器中可以无条件使用_Bool,因为它是关键字,它的值只能为01,以及若想使用boolfalsetrue则必须需包含头文件stdbool.h

     

     四、实例测试代码                                                 

    用如下程序在VS2015中测试:

    #include<stdio.h>

    int main(void)

    {

    _Bool a = -112;

    printf("%d\n",a);

    getchar();

    return 0;

    }

    程序输出1

    即若给a赋值0,则输出0,若给_Bool 型的a赋值其他的任何值,都会被转变成1,也即非0都会变成1

     

    下列程序在VS2015中通过编译,说明VS2015支持C99标准

    #include<stdio.h>

    #include<stdbool.h>

    int main(void)

    {

    _Bool a = 1;

    bool b = true;

    bool c = false;

    if (a == true)

    {

    printf("%d\n", a);

    printf("%d\n", b);

    printf("%d\n", c);

    }

    getchar();

    return 0;

    }

     


     

    转载于:https://www.cnblogs.com/Ahair/p/5005561.html

    展开全文
  • c语言中布尔类型

    2016-01-03 14:10:10
    C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示true int flag; flag = 0; //.........
  • C语言中布尔

    千次阅读 2019-09-29 16:21:11
    C语言布尔类型  在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示trueint flag...
  • 浅谈C语言中布尔(bool)类型

    万次阅读 多人点赞 2018-11-13 11:46:40
    浅谈C语言中布尔(bool)类型
  • C语言中布尔类型

    2020-04-02 15:34:35
    C语言中有bool是关键字,但是却不能作为返回类型存在 如图,bool不是类型???那么它是什么呢作用是什么呢???定义了一下也不是一种类型 于是乎,想要有布尔类型应该怎么办呢?比如下面这个例子要用到大量的布尔...
  • 因为许多程序需要变量能存储真值或假值,所以C语言缺少适当的布尔类型可能会很麻烦。一直采用模拟布尔型变量的方法来解决麻烦,这种模拟的方法是先声明int型变量,然后将其赋值0或1。 int flag; flag = 0; ... flag ...
  • C语言布尔类型

    2018-07-21 17:58:07
    C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示true
  • C语言布尔类型(_Bool)

    千次阅读 2017-11-07 11:09:44
    也许很多人都和我一样,不知道现在的C语言已经有了...(这里我所说的“输入”,意思是:当在一个需要布尔值的地方,也就是其它类型转化为布尔类型时,比如 if 条件判断的的条件;“输出”的意思是:程序的逻辑表达式
  • JAVA布尔类型

    2020-10-09 02:12:43
    布尔类型又称逻辑类型,通过关键字boolean来定义布尔类型变量! 二、使用步骤 1.设置boolean变量 代码如下(示例): boolean b = true //定义布尔型变量b,并赋给初值true 2.带有boolean返回值方法 代码如下(示例...
  • 但是在C语言里没有这样的类型(至少我是一直这么认为的),表达式的值0为假,非0为真。所以条件判断语句( if(…)、while(…) )非常灵活,甚至一个指针类型都可以是条件表达式。  为了使程序更清晰,我们常常会给出...
  • C语言不支持布尔型数据类型

    千次阅读 2013-10-03 21:26:54
    C语言里有没有布尔型这个数据类型 但我们由于使用习惯要这样使用的话,可以 ...ANSI C99标准规定C语言中布尔类型(_Bool)。 为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_B
  • 在C89 (ANSI C)标准没有定义与布尔类型相关的内容。但在C99标准中新定义了一个新的关键字_Bool ,以及新增了一个头文件 <stdbool.h>规范了布尔类型的操作,方便程序员进行调用! 打开<stdb...
  • 程序猿之---C语言细节26(C语言中布尔类型、continue细节、sizeof举例、strlen举例)
  • C89标准没有定义布尔类型; C99增加了_Bool类型。实际上是只能等于0或1的整数类型,凡是不为0的整数都被转变为1, C99还提供了一个头文件<stdbool.h>,该头文件提供了bool宏来代替_Bool,还提供了true和...
  • C语言中布尔型变量

    万次阅读 2015-11-06 21:44:18
    但是,在C语言中是不存在布尔型这种数据类型的,所以大家不要直接去定义bool或者boolean这种类型的变量,C语言不支持这种数据类型。不过,C语言中也是有逻辑“真”与“假”的,在C语言中非0即为真,0即
  • 在 C 语言标准(C89)没有定义布尔类型,所以 C 语言判断真假时以 0 为假,非 0 为真。 //就是1为ture,0为false int i=1; int j=0; https://www.runoob.com/note/34742
  • 相信很多初学C语言的朋友一定犯过这样的错误: double x = 1.0; double y = 0.9; if (x - y == 0.1) { printf("You can see me!\n"); } else { printf("oops!\n"); } 理论上,1.0 - 0.9 == 0.1是毫无疑问...
  • 在不同的条件下执行不同的语句c语言中支持这种结构为if语句和switch语句 if语句的基本结构 if(判断条件){ 语句块1 }else{ 语句块2 } switch语句的基本结构 switch(表达式){ case 整型数值1:
  • c语言 布尔类型

    2020-01-01 12:40:37
    c语言没有定义哈布尔类型,约定0为假,非0为真 #include <stdio.h> int main(void) { if (1) { printf("hello world"); } getchar(); return 0; } 使用define(不建议) #define BOOL int #define TRUE 1 ...
  • C语言中实现bool(布尔型变量)

    万次阅读 2018-05-23 11:07:02
    C语言中,本身没有bool(布尔型变量)。但是我们可以用其他方式来模拟。一、如果简单的使用char、int、long变量来表示0/1,则太浪费空间了。二、这里介绍一种巧妙的方式实现bool,高空间利用率。#define true 1 #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,324
精华内容 13,729
关键字:

c语言中的布尔类型

c语言 订阅