精华内容
下载资源
问答
  • c语言中bool作用
    千次阅读
    2022-04-10 09:38:32

    此文是作者初次学习C语言的笔记博文,如有错误请指正,谢谢!!!!



    在c99之后C语言增加了bool类型的原始数据类型。可以和其他数据类型一样正常使用。只能用来存放两个值:true (1) 和 false (0) 。用来规定真假。(在C语言中零表示假,非零表示真)


    在C语言编程中,bool类型是在头文件<stdbool.h>中被定义的。在使用bool类型的时候就必须包含头文件。


    举例1:

    
    #include<stdbool.h>
    
    int main()
    {
    	bool a = true;
    	bool b = false;
    	bool c = 1;
    	bool d = 0;
    
    
    	printf("%d\n", a);//1
    	printf("%d\n", b);//0
    	printf("%d\n", c);//1
    	printf("%d\n", d);//0
    
    	return 0;
    }
    
    

    举例2:

    
    #include<stdbool.h>
    
    int main()
    {
    	bool a = true;
    	bool b = false;
    
    	if (a)
    		printf("haha");
    	if (b)
    		printf("hehe");
    
    	//输出结果为: haha
    
    	return 0;
    }

    举例3:

    在C语言语法规定:0表示假, 非零表示真。因此我们可以通过给bool类型的变量赋值,它都应该返回真假的值(即1和0)

    
    #include<stdbool.h>
    
    int main()
    {
    	bool a = true;
    	printf("a = %d\n", a);
    
    	a = -1;
    	printf("a = %d\n", a);
    
    	a = 1.345;
    	printf("a = %d\n", a);
    
    	a = -1.234;
    	printf("a = %d\n", a);
    
    
    	a = "zhang";
    	printf("a = %d\n", a);
    
    	a = 'w';
    	printf("a = %d\n", a);
    
    	a = 0;
    	printf("a = %d\n", a);
    
    	a = NULL;
    	printf("a = %d\n", a);
    
    
    
    	return 0;
    }

    结果为:

    a = 1
    a = 1
    a = 1
    a = 1
    a = 1
    a = 1
    a = 0
    a = 0

    更多相关内容
  • c语言中bool的用法

    千次阅读 2021-05-18 14:22:15
    C语言是目前世界上最流行、使用最广泛的高级程序...c语言中bool的用法如下:C99之前没有定义bool型,在C99在stdbool.h定义了_Boolbool,当然true 和 false也没有定义。但是C++是有bool型的,并且true 和 fal...

    C语言是目前世界上最流行、使用最广泛的高级程序设计语言之一,具有高效、可移植性好等优点,特别是在嵌入式领域有着广泛的应用。下面小编就跟你们详细介绍下c语言中bool的用法,希望对你们有用。

    c语言中bool的用法如下:

    C99之前没有定义bool型,在C99中在stdbool.h中定义了_Bool为bool,当然true 和 false也没有定义。但是C++中是有bool型的,并且true 和 false也是有定义的。

    所以如果是C99之前的标准,需要我们自己定义bool,如

    typedef enum {false = 0, true = 1} bool;

    /* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.

    This file is part of GCC.

    GCC is free software; you can redistribute it and/or modify

    it under the terms of the GNU General Public License as published by

    the Free Software Foundation; either version 2, or (at your option)

    any later version.

    GCC is distributed in the hope that it will be useful,

    but WITHOUT ANY WARRANTY; without even the implied warranty of

    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License

    along with GCC; see the file COPYING.  If not, write to

    the Free Software Foundation, 51 Franklin Street, Fifth Floor,

    Boston, MA 02110-1301, USA.  */

    /* As a special exception, if you include this header file into source

    files compiled by GCC, this header file does not by itself cause

    the resulting executable to be covered by the GNU General Public

    License.  This exception does not however invalidate any other

    reasons why the executable file might be covered by the GNU General

    Public License.  */

    /*

    * ISO C Standard:  7.16  Boolean type and values  

    */

    #ifndef _STDBOOL_H

    #define _STDBOOL_H

    #ifndef __cplusplus

    #define bool    _Bool

    #define true    1

    #define false   0

    #else /* __cplusplus */

    /* Supporting in C++ is a GCC extension.  */

    #define _Bool   bool

    #define bool    bool

    #define false   false

    #define true    true

    #endif /* __cplusplus */

    /* Signal that all the definitions are present.  */

    #define __bool_true_false_are_defined   1

    #endif  /* stdbool.h */

    1.FALSE/TRUE与false/true的区别:

    false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途

    是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:

    #ifndef   FALSE

    #define   FALSE   0

    #endif

    #ifndef   TRUE

    #define   TRUE   1

    #endif

    也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过

    我们在使用中没有这种感觉,因为C++会帮你做隐式转换。

    2.bool的大小与BOOL的区别:

    bool在C++里是占用1字节,而BOOL是int类型,int类型的大小是视具体环境而定的;所以来说:

    false/true只占用1个字节,而TRUE/FALSE视具体环境而言,以下是BOOL在windef .h中的定义:typedef   int   BOOL;

    3.NULL与0的区别:

    还是让我们看一下windef.h中NULL的定义:

    #ifndef   NULL

    #ifdef   __cplusplus//这个是指示是用C++来编译程序

    #define   NULL   0

    #else

    #define   NULL   ((void   *)0)

    #endif

    #endif

    所以说:它们没有区别,只不过在C里面会做一个强制类型转换。

    展开全文
  • c语言中bool的使用

    千次阅读 2021-09-28 19:18:07
    布尔型(bool)变量的值只有 真 (true) 和假 (false)。 布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。 bool可用于定义函数...

    布尔型(bool)变量的值只有 真 (true) 和假 (false)。

    应用:

    ①布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假

    ②bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。

    ③布尔型运算结果常用于条件语句

            if (逻辑表达式){如果是 true 执行这里;}

            else{如果是 false 执行这里;};

    扩展资料

    使用bool逻辑型变量的优点:

    1、 提高程序的可读性

    bool类型的变量只可能有两个值true或false,在没有统一的布尔类型在大型的工程项中特别是用到第三方程序库时,可能使用不同的手段模拟布尔类型以提交代码的可读性,这样会使得代码有些混

    乱,C语言中引入了bool内置类型,解决了代码的一致性问题。

    2、提高程序的性能

    bool在绝大多数编译器编译时都将其实现为1字节,即sizeof(bool)的值为1,加上其只有两个值的值域{true, false},是C语言中最小的数据类型了。

    虽然char、unsigned char和signed char类型在C语言中没有特定的实现要求,但一般也实现为一个字节,这样看来与bool类型从内存空间的占用上并没有性能上的差异。

    #include <stdio.h>
    #include <stdbool.h>
    #include <stdlib.h>
    int main(void)
    {
    bool boolean=-11212112;
    printf("boolean:%d\n",boolean);
    return EXIT_SUCCESS;
    }
    

    输出结果:
    boolean:1
    可以看到,gcc编译器对待_Bool类型有自己的转换处理。如果是0赋值给_Bool类型,那么就赋值0。如果是任意其他数据,那么会赋值为1。(只是不知道其他编译器是否如此处理,C2008标准草案没有细说这个部分)
    _Bool类型只有0和1这两个值。 

    实战:

    注意for 的内定义的作用域!!!!

    展开全文
  • //在stdbool.h定义bool代表_Bool,定义关键字true和false。 #include<stdio.h> #include<stdbool.h> //定义bool代表_Bool int main(){ bool a=false; _Bool b=true; //等价于 bool b=true; if(a) ...

    代码展示:

    //为了描述逻辑的真假问题,引入关键字_Bool 描述逻辑类型,
    //在stdbool.h中定义bool代表_Bool,定义关键字true和false。
    #include<stdio.h>
    #include<stdbool.h>    //定义bool代表_Bool
    int main(){
        bool a=false;
        _Bool b=true;  //等价于     bool b=true;
        if(a)
        printf("\nsize a=%d",sizeof(a));
        if(b)
            printf("\nsize  a=%d and b=%d",sizeof(b),b);  //输出结果 size a=1 and b=1
            return 0; 
    }

    程序中的变量a和b均为逻辑类型,第一个if语句检测a的值,如果为真,执行其后printf函数调用的语句,否则忽略,执行下一条if语句,检测b的值。

    运行结果:

    展开全文
  • C语言中bool

    千次阅读 2021-05-25 06:03:23
    C99之前没有定义bool型,在C99在stdbool.h定义了_Boolbool,当然true 和 false也没有定义。但是C++是有bool型的,并且true 和 false也是有定义的。所以如果是C99之前的标准,需要我们自己定义bool,如...
  • c语言中使用bool_在C语言中使用bool

    千次阅读 2020-07-30 10:50:31
    c语言中使用boolFirst, understand the bool in C++ programming language. In C++ programming, "bool" is a primitive data type and it can be used directly like other data types. "bool" is a Boolean data ...
  • C语言中使用bool

    千次阅读 2021-05-05 10:16:25
    在C++不需要使用头文件来使用bool,在C语言中必须包含头文件“ stdbool.h”才能使用bool。如果将以下程序保存为.c文件,则不能进行编译。 int main() { bool arr[2] = {true, false}; return 0; }     如果在...
  • C语言bool的头文件

    千次阅读 2022-07-22 11:35:12
    bool的头文件
  • C语言中bool变量

    千次阅读 2021-08-25 19:59:55
    但是c99引入了_Bool类型(_Bool就是一个类型,不过在新增头文件stdbool.h,被重新用宏写成了 bool,为了保证C/C++兼容性)。 目前为止大部分C语言书籍采用的标准还是c90标准,因此我们很少用bool类型。 bool类型...
  • 之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)编译居然报错了,说是bool类型没有定义。用了这么久的C和C++了,一直觉得bool...
  • C语言中定义bool类型

    千次阅读 2021-04-28 18:50:03
    不过 C语言中可以自己定义咯 #define bool char #define ture 1 #define false 0 ———————————————— 版权声明:本文为CSDN博主「七 六 伍」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上...
  • C语言中 bool的用法

    千次阅读 2021-05-22 18:23:07
    布尔型(bool)变量的值只有 真 (true) 和假 (false)。布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。bool可用于定义函数类型为布尔...
  • C语言使用bool

    千次阅读 2019-11-18 23:21:31
    解决办法:加上头文件#include<stdbool.h> ,就可以直接使用类型bool = true/false; bool append_arr(); bool insert_arr(); bool delete_arr();
  • C语言中bool类型

    千次阅读 2019-07-08 17:36:38
    之前一直都没有注意到,最近在用C语言写DSP算法时,偶然间发现我函数定义的bool类型的变量在VC6.0(我主要用它来检查一下语法错误)编译居然报错了,说是bool类型没有定义。用了这么久的C和C++了,一直觉得bool...
  • C99 新增了 _Bool 类型(布尔类型)用于表示真/假。_Bool 类型的变量的值只能是 0 或者 1。无论赋予任何非零值给 _Bool 类型的变量,它的值都只会是 1。例如:_Bool i_am_true = 15; // i_am_true 的值是 1_Bool am_i_...
  • 但是在C语言里没有这样的类型(至少我是一直这么认为的),表达式的值0为假,非0为真。所以条件判断语句( if(…)、while(…) )非常灵活,甚至一个指针类型都可以是条件表达式。为了使程序更清晰,我们常常会给出如下的...
  • C语言bool类型以及阐述bool 变量和 float 变量与 0 的比较
  • c语言中bool

    千次阅读 2016-07-16 10:18:19
    因为我曾经看到过C++程序员,使用着C++的编译器,却仍然在使用BOOL、TRUE、FALSE等宏来表达现实世界的二值事物,令我很不解,前去询问才知是“习惯”。显然,它以前是使用C语言编程的,而且使用这些宏做了很多事,...
  • C语言bool类型

    2021-12-03 11:47:09
    bool类型true 为1,false为0
  • 面试——c语言定义bool类型

    千次阅读 2018-10-22 18:53:02
    C语言自定义bool类型的两种方式 由于C语言以0,1分别代表false,true, 可以自定义bool类型,这里有两种方式作为参考: 1:定义枚举类型:typedef enum{false,true} bool; 2:也可以使用预定义 #ifndef bool #...
  • 今日份知识更新,即《深入理解C语言中的类型转换》文章目录:一、隐式转换 1.1.基本类型转换 整形提升 算数转换 1.2.指针转换二、显式转换隐式转换基本类型转换整形提升表达式计算时,整型会首先提升到int类型,当...
  • C99支持bool,是以宏定义实现//// stdbool.h//// Copyright (c) Microsoft Corporation. All rights reserved.//// The C Standard Library header.//#ifndef _STDBOOL#define _STDBOOL#define __bool_true_false_...
  • bool类型怎么用(c语言bool类型 怎么用)2020-06-23 01:59:07共10个回答什么语言的?bool和其他的一样,比如int,只是bool只有两个值,true或者false.boolflag=true;就是定义了一个bool类型的变量flag,他的值为true.也可以...
  • C语言中定义bool类型出错

    千次阅读 2020-10-05 10:42:39
    今天早上用C语言写断链表,定义了一个bool类型 发现提示未定义标识符然后去度娘上查了一下发现 C语言没有BOOL类型变量 boolean类型是C++所独有的 下面说说解决办法: 方法一: 更改文件后缀名为cpp 方法二: 采用宏...
  • C语言中Bool类型

    千次阅读 2015-03-17 15:19:07
    最近在网上看到有一些说法说C语言里是没有bool类型的,但是我记得有一本书(《C Primer Plus》)里有过关于C语言bool类型的介绍,所以就翻了翻书,确定了C语言里的bool类型的确存在。下面介绍一下C语言的bool类型...
  • c语言中自定义bool函数模板

    千次阅读 2020-02-04 16:50:43
    首先,c语言中没有bool函数类型,只有c++有,所以需要自定义,即c表示bool类型的方法: 1.模板1 typedef int bool; #define false 0 #define true 1 2.模板2 typedef int bool; enum { false, true }; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,370
精华内容 51,348
热门标签
关键字:

c语言中bool作用

友情链接: MsgList.rar