精华内容
下载资源
问答
  • C语言中使用布尔变量注意事项

    千次阅读 2018-05-22 16:27:52
    如果在C语言中直接定义bool变量时,编译结果会提示错误:所以如果仍想使用bool作为类型名称,只需在使用它的源文件中给<stdbool.h>标准头文件添加#include指令即可。接下来就一切照常编写代码啦!例如...

    如果在C语言中直接定义bool变量时,编译结果会提示错误:

    所以如果仍想使用bool作为类型名称,只需在使用它的源文件中给<stdbool.h>标准头文件添加#include指令即可。

    接下来就一切照常编写代码啦!

    例如:


    结果:0
    展开全文
  • C语言中的布尔变量

    万次阅读 2015-11-06 21:44:18
    C语言中的布尔变量  使用C++或JAVA等编程语言较多的人,可能随手就习惯定义一个flag,其数据类型为布尔型,然后用true和false来表示真与假的问题。这个是非常常用的。但是,在C语言中是不存在布尔型这种数据...

    C语言中的布尔型变量


        使用C++或JAVA等编程语言较多的人,可能随手就习惯定义一个flag,其数据类型为布尔型,然后用true和false来表示真与假的问题。这个是非常常用的。但是,在C语言中是不存在布尔型这种数据类型的,所以大家不要直接去定义bool或者boolean这种类型的变量,C语言不支持这种数据类型。不过,C语言中也是有逻辑“真”与“假”的,在C语言中非0即为真,0即为假。这个大家应该比较熟悉,但是在C语言中,大家可以自己在头文件中去定义一种类似于C++中的bool变量,下面给出一些方法。

    // 方法1:宏定义
    // 宏定义布尔类型
    #define BOOL int
    #define TRUE 1
    #define FALSE 0
    
    // 定义一个布尔变量
    BOOL flag = FALSE;

    // 方法2:枚举
    enum BOOL {FALSE, TRUE};
    BOOL flag  = 0;
    BOOL flag1 = 1;

        上面两种方法可以实现类似于C++中的bool和JAVA中的boolean型数据类型,大家可以参考性地使用,不过一般情况下使用正常的逻辑“非0即为真,0即为假”就足够了。这里针对的是C89的情况进行讨论,如果大家有什么更好的方法希望可以留言。谢谢大家。
    展开全文
  • C语言中实现bool(布尔变量

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

    C语言中,本身没有bool(布尔型变量)。但是我们可以用其他方式来模拟。

    一、如果简单的使用char、int、long变量来表示0/1,则太浪费空间了。

    二、这里介绍一种巧妙的方式实现bool,高空间利用率。

    #define true	1
    #define false	0
    
    //--------------------------------------------联合体(共用体) 定义
    typedef union
      {
    	//使用位域
      	struct
      	{
    	  unsigned b0                 : 1;
    	  unsigned b1                 : 1;
    	  unsigned b2                 : 1;
    	  unsigned b3                 : 1;
    	  unsigned b4                 : 1;
    	  unsigned b5                 : 1;
    	  unsigned b6                 : 1;
    	  unsigned b7                 : 1;
      	}bit_type;
      	unsigned char byte;
       }FLAG;
    
    FLAG FLAG0;		//结构变量声明
    
    //--------------------------------------------结构类型变量位域宏定义
    #define flag_0	FLAG0.bit_type.b0 
    #define flag_1	FLAG0.bit_type.b1
    #define flag_2	FLAG0.bit_type.b2
    #define flag_3	FLAG0.bit_type.b3
    #define flag_4	FLAG0.bit_type.b4
    #define flag_5	FLAG0.bit_type.b5
    #define flag_6	FLAG0.bit_type.b6
    #define flag_7	FLAG0.bit_type.b7
    这里使用union(联合体)来实现高空间利用率
    展开全文
  • C语言布尔变量

    千次阅读 2013-03-23 08:59:54
     在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示true int flag; flag = 0; //.......

    转自:http://www.cnblogs.com/pharen/archive/2012/02/06/2340257.html

     在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法:

    复制代码
    //定义一个int类型变量,当变量值为0时表示false,值为1时表示true
    int 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还提供了一个头文件 <stdbool.h> 定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

    复制代码
    //导入 stdbool.h 来使用布尔类型
    #include <stdbool.h>
    #include <stdio.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;
    }
    复制代码

    展开全文
  • 记一个c的小bug:布尔变量取反不能用 ~ 符号 { static bool cnt = false; cnt = ~cnt; switch(cnt) { case 0: NRF_LOG_DEBUG("a cnt[0x%x] = false.",cnt); break; default: NRF_LOG_DEBUG("a cnt[0x%x]
  • 目录c语言基本变量类型以及其对应的占位符 c语言基本变量类型以及其对应的占位符 序号 类型符号 占位符 1 char %c或者%hhd //d=half 2 unsigned char %c或者%hhdu 3 short %hd 4 unsigned short %hu ...
  • C语言布尔类型

    2021-07-06 22:48:23
    C 语言标准(C99)提供了_Bool 型,_Bool 仍是整数类型,但与一般整型不同的是,_Bool 变量只能赋值为 0 或 1, 非 0 的值都会被存储为 1,C99 还提供了一个头文件 <stdbool.h> 定义了 bool 代表_Bool
  • 在传统的C语言中,若要使用布尔变量,需要先声明 #include <stdbool.h> 然后IDE才能正确识别到boolean类型的变量,在对布尔类型进行存储时,实际上是以Int型进行存储。在赋值时,如果有以下程序段: #...
  • C语言中并没有bool类型变量。这是C++中新增的系统类型。要在C语言中使用bool类型,可以使用自定义的方式。1 使用整型做bool类型。typedef int bool;或typedef unsigned char bool;只要是整型,都可以当做bool使用。2...
  • C语言中的布尔

    2019-02-12 08:54:00
    C语言布尔类型  在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示trueint flag...
  • 因为许多程序需要变量能存储真值或假值,所以C语言缺少适当的布尔类型可能会很麻烦。一直采用模拟布尔变量的方法来解决麻烦,这种模拟的方法是先声明int型变量,然后将其赋值0或1。 int flag; flag = 0; ... flag ...
  • C语言变量和基本类型简述

    千次阅读 2018-04-03 19:10:44
    来源:C程序语言设计第四版,谭浩强...一、常量,常变量变量的区别 1、常量: 在程序中其值不能改变的量: 1)如直接使用的数字1,2.1,12e3(12x10^3),'A',“abc”,1.2E3(1.2x10^(-3)),等,e或E之前必须有 ...
  • C语言里的布尔类型

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

    千次阅读 2019-11-13 16:50:13
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • C++简化布尔变量赋值

    千次阅读 2019-04-09 21:27:48
    初学者在写代码中,容易像A这样,把一个条件测试语句赋值给一个bool变量: A: if(number%2==0) even=true; else even=false; 等价于(这样更好) bool even=number%2= =0; 这不是一个错误,但是应该写成后者这样更...
  • 在学习C语言中的if语句中,我遇到了变量与零值进行比较的一些问题,当比较的数值为浮点变量时,不能直接用 if (x == 0.0)或者 if (x != 0.0) ,由于float和 double类型的数据都是有精度限制的,所以0.0000...0001=0...
  • C语言变量类型及其表示范围

    千次阅读 2019-10-25 10:30:20
    一般来说,基本数据类型分为整型、浮点型、字符型,C++中又包括布尔型。每种类型里面又可以分为若干种类型(为了方便记忆,只列出常用的)。如下列出了四种基本数据类型。 四种基本数据类型 类型 ...
  • c语言中位运算之布尔运算

    千次阅读 2019-06-24 17:15:25
    c语言中位运算中的布尔运算有:&、|、~、^ &:按位与 |:按位或 ~:按位非 ^:按位异或,相同为0,相异为1。 计算规则如下: 位的逻辑运算的作用: 使用位向量做集合编码; 使用位向量做掩码...
  • C 语言在C99标准中新增一个 stdbool.h 标准库,将 C++ 中的布尔变量引入 C 语言,本文面向初学者讲解布尔型的运用。
  • C语言布尔类型(_Bool)

    千次阅读 2017-11-07 11:09:44
    也许很多人都和我一样,不知道现在的C语言已经有了布尔型:从C99标准开始,类型名字为“_Bool”。  在此之前的C语言中,使用整型int来表示真假。在输入时:使用非零值表示真;零值表示假。在输出时:真的结果是1,...
  • C语言布尔类型

    2018-07-21 17:58:07
    C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。所以我们通常使用逻辑变量的做法: //定义一个int类型变量,当变量值为0时表示false,值为1时表示true
  • C语言中的布尔类型 一、相关基础知识 首先booltruefalse为C++中的关键字,C语言中默认不支持这几个字符! 二、具体内容 在C89(ANSIC)标准中...
  • C语言--bool型变量问题详解

    千次阅读 2017-12-06 13:26:14
    C语言中没有bool变量。一般是自己定义  #define TRUE 1  #define FALSE 0  enum bool{false,true};  #define TRUE (1==1)  #define FALSE (!TRUE) BOOL和bool的区别:  1、类型不同  BOOL为int型 ...
  • (1) int: 声明整型变量或函数 (2) float:声明单精度浮点型变量或函数 (3) double :声明双精度变量或函数 (4) char :声明字符型变量或函数 ( long :声明长整型变量或函数 short :声明短整型变量或函数 ...
  • C语言三套标准说明 C90 标准 由于C语言被各大公司所使用(包括当时处于鼎盛时期的 IBM PC),因此到了 1989 年,C语言由美国国家标准协会(ANSI)进行了标准化,此时C语言又被称为 ANSI C。而仅过一年,ANSI C 就被...
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 存储类型 1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型吗? 1.11 extern在函数声明中是什么意思? ...
  • 变量C语言中用来代表一个存储位置,通过变量来访问对应的存储位置。变量和存储位置之间的关系由操作系统决定的。2.变量的使用(1)变量使用前必须先声明变量声明语法:变量类型 变量名;由于C语言中的数字是有类型的...
  • 变量和常量是程序处理的两种基本数据对象 变量 变量的意义就是确定目标并提供存放的空间。 变量的命名规则 1.变量名只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线 _ 组成。 2.第一个字母必须是字母或者下划线...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,688
精华内容 11,875
关键字:

c语言布尔变量

c语言 订阅