在C语言中如何使用bool类型

作者&投稿:周先 (若有异议请与网页底部的电邮联系)
c语言中有bool类型吗?~

C语言里面是没有bool(布尔)类型的,C++里面才有,C语言里面用数值0表示假,非0整数表示真。在C++里面可以使用bool类型。bool类型只有两个值:true =1 、false=0。
bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。
布尔型运算结果常用于条件语句:if (逻辑表达式){如果是 true 执行这里;}else{如果是 false 执行这里;};

扩展资料
Boolean(布尔)数据在C++中使用内置类型bool表示。bool类型的变量只可能有两个值true或false,在现实世界中它用于表示“是”或“否”、“高”或“低”等这种只有两个状态的事物。例如用于表示检测某年是否润年的函数,其返回值类型显示只有两种情况“是”或“否”。
bool IsLeapYear( const unsigned int year)
{ return (year % 4==0 && year % 100 !=0) || (year %400 ==0); }
没有统一的布尔类型在大型的工程项中特别是用到第三方程序库时,可能使用不同的手段模拟布尔类型以提交代码的可读性,这样会使得代码有些混乱。C++引入了bool内置类型,解决了代码的一致性问题。
参考资料来源:百度百科——bool

#include
void main()
{bool b = true;
printf("%d
",b);
bool c = false;
printf("%d
",c);
}

扩展资料:
布尔数组中存放的是布尔值(元素),布尔值只有true 和false两种结果,其中,常量false可以理解为和int常量0等价,常量true可以理解为int常量1等价,在计算机中,实际上非0的int值都认为是true。
正因为布尔数组的这种特性,使得其在有些程序中进行使用可以起到优化的作用,甚至是事半功倍的效果。比如在搜索中就经常用到,可以用布尔数组区分那些经过处理的和没有经过处理的数据,避免了一些不必要的重复。

1.添加头文件#include "stdio.h"和#include "windows.h"。

2.在主函数里定义一个布尔类型变量,写bool judge = false;

3.换行写printf("%d
",judge);该语句,表示输出布尔变量(C语言里不能直接输出布尔值的false和true,只能用整数0和1代替)。

4.点击叹号运行。

 

代码清单:

#include "stdafx.h"
#include "stdio.h"
#include "windows.h"

 

void main()
{
 bool judge=false;
 printf("%d
",judge);
}



布尔型(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类型从内存空间的占用上并没有性能上的差异。

参考资料来源:百度百科——BOOL



你可以自定义bool类型

标准C语言中并没有关于bool的定义,
不过bool的定义可以是
#define bool int
#define false 0
#define true 1
有这三个宏那么就可以了

不过假如你包含windows.h或windef.h 也可以使用bool

VC2005应该跟VC2010一样吧,必须使用标准C或C++,C与C++的特有关键字是不可以混用的,在VC6.0里面可以。你输入bool显蓝色是因为bool是C++的关键字,但不是C的

#typedef bool int
#define false 0
#define true 1


c语言中b=a:a=c:c=b是什么意思
看得出来,这段代码的作用是交换a和c的值,也许你是一个初学者,无法理解b=a这个表达式,其实学习编程不要局限在数学上,很多符号都和数学是不一样的,要发散思维。本题中b相当于是一个临时变量,他的作用是保证把c的值赋予给a之前,把a的值暂时保存起来,防止数据丢失,在执行完a=c这一过程后,...

c语言中函数A调用函数B,B又可以调用A
float f(float b){ ……} 其中第一,二行对str函数和f函数预先作了说明。因此在以后各函数中无须对str和f函数再作说明就可直接调用。4) 对库函数的调用不需要再作说明,但必须把该函数的头文件用include命令包含在源文件前部。8.5 函数的嵌套调用 C语言中不允许作嵌套的函数定义。因此各函数...

c语言中?:和!是什么意思,怎么运用在编程中
?:的意思是条件运算符,使用的格式如下(条件)?A:B,如果条件成立,表达式的值就是A,否则是B。!的意思是用来取非运算的,!true的结果就是 false !false 的结果是 true。写程序中,?:用的比较少,!主要用在条件判断中。延展回答:1、C语言是一门通用计算机编程语言,应用广泛。C语言的...

在C语言中b=a<<2;是什么意思?
(例如100的二进制表示为1100100,100左移2位后(后面加2个零):1100100<<2 =110010000 =400,可以看出,a<<b的值实际上就是a乘以2的b次方,因为在二进制数后面添加一个0就相当该数乘以2,2个零即2的2次方 等于4。通常认为a<<1比a*2更快,因为前者是更底层一些的操作。因此程序中乘以2的...

c语言中 b=1;程序中出现++b,最后输出b,b的值为多少
++b表示使用前b先自加1,b++则是使用后b才加1。如果把它们作为单独的语句,则它们的效果是一样的:++b;\/\/或 b++;这时候再输出b,结果都是2。如果是直接输出++b或b++或把它们直接参与运算,则结果就不同了:输出 ++b \/\/结果为2(再次输出b仍为2)输出 b++ \/\/结果为1(再次输出...

在c语言中。b=1,然后把b的值赋值给a ,那么b的值还是1么?或者说b就没了...
C语言中。 几个基本数据类型(int ,char, float,double... )的赋值都是值复制 比如你先在说的b=1 那么系统就在内存中声明一个整型的内存地址,命名为b 这个地址里面存储1个值:1 。 这时令a=b; 则同样开辟一个内存,命名为a 这时把b的值即1 复制一份存储到a内存中 ...

C语言如何使用extern 举例如果该变量在一程序中已定义,而在其它程序...
会自动找这个变量啊 \/\/A.cpp \/\/\/A源文件 extern int i;void main(){ i = 100; \/\/试图使用B中定义的全局变量 } \/\/B.cpp \/\/\/B 源文件 int i; \/\/\/在B中定义 当在A里面碰到i变量,会自动到别的文件里面去找,记得A和B要放到一个工程里面 ...

c语言中,怎样把‘\\b’以字符"\\b"的形式输出
不可能 C语言中输入字符串会先存入缓冲区,退格是从缓冲区取出一个字符,而不是加一个'\\b'若你输入 \\b 则系统会认为是 '\\\\b'若你输入 abc(退格)abc 则系统不会认为是abc\\babc,而是ababc 所以,像我这样的虾米是做不出来的了,去学汇编吧……...

C语言中取反运算符'"!"如何使用?
运算符"!"是逻辑非运算符;"~"才是按位取反运算符。经过"!"运算后,运算结果只有0或1;而经过"~"运算后,结果有多种,取决于操作数。下面通过实例来介绍这个运算符的使用方法:int a=10, b, c;b = !a; \/\/ 运算后b=0,因为a不等于0(即为真),所以取非后等于0(为假)c = ~...

C语言中t=a a=b b=t 是什么意思?为什么要使用这个呀?
是将a和b的值交换,a=b是把b的值给a,然后a原来的值就不见了,变成b的值了,所以要在之前加个t=a,先把a的值放到t中,最后只要把t的值给b,就相当于把a原来的值给了b,达到了交换的目的

恒山区15532194812: C语言布尔头文件使用方法 -
陈绿研立: 1、ANSI C99标准规定C语言中有布尔类型(_Bool).为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0.使用布尔类型必须保证所使用的编译器支持C99标准.2、C语言的逻辑判断只是判断0或非0,只要能保存整型数据的变量类型都可以作为布尔型使用. 用特殊色彩标记关键字的功能是编辑器的功能而非编译器的功能,因为C++有bool类型,因此bool会被编辑器标亮,但是C语言编译器是不会认识这个关键字的. C语言中bool可以自定义,例如:#define bool int#define false 0#define true 1

恒山区15532194812: C语言中,定义一个布尔型变量如何用,为什么用bool定义会报错? -
陈绿研立: C语言中并没有bool类型变量.这是C++中新增的系统类型. 要在C语言中使用bool类型,可以使用自定义的方式. 1 使用整型做bool类型. typedef int bool; 或 typedef unsigned char bool; 只要是整型,都可以当做bool使用. 2 使用枚举类型做bool类型. typedef enum { false, true }bool; 实际应用中,枚举类型较为普遍.

恒山区15532194812: c语言 如果要定义函数的返回类型为布尔类型,怎么定义? -
陈绿研立: C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的.bool类型有只有两个值:true =1 、false=0. 但是,C99标准里面,又定义了bool类型变量.这时,只要引入头文件 <stdbool.h>,就能在...

恒山区15532194812: 水水的问一句,c语言里怎么开bool数组 -
陈绿研立: 早期的c编译器没有bool类型,可用int 或char类型代替 ,0代表假,非零代表真

恒山区15532194812: C++中使用bool函数的例子 -
陈绿研立: 例子: bool 就两个值,真或者假,通常用来存储关系表达式或者逻辑表达式的结果.以前是用 int 来表示真假,大 int 有多个值,所以才规定 0 为假,非零为真,导致对应关系比较麻烦,有了 bool 就方便多了,如果把结果赋值给 bool 类型的变...

恒山区15532194812: 我是一个c#新手,求解bool类型怎么用. -
陈绿研立: bool类型只有两个值为:true,false,表示真假. Console.ReadLine(),这个是输入方法

恒山区15532194812: C语言:要输出一个BOOL型变量(不转换直接输出)该用什么符号? -
陈绿研立: C语言中可以用%d直接控制输出BOOL型变量.BOOL是微软定义的typedef int BOOL,可见BOOL只是int(4字节int)的别名,并非布尔类型;它的定义在头文件windows.h中. 所以在C语言中可以用%d直接控制输出,在C++中可用cout <<直接输出.以下代码可以佐证: 输出结果为:

恒山区15532194812: 请问谁可以用C语言写一个bool最简单的应用,越简单越好! -
陈绿研立: 不太明白你的意思,C语言里没有bool类型 一般这种bool的逻辑处理在C 里都是用int 代替,0表示 FALSE ,1表示TRUE 简单的例子就是 int main() { int test_bool = 1; if(0 != test_bool) {printf("TRUE\n"); } else {printf("FALSE\n"); } return 0; }

恒山区15532194812: 关于C语言中的bool型的问题 -
陈绿研立: C语言是没有bool类型的,C++中才有,不过C99中新增的_Bool关键字可以表示布尔类型. 出来楼主说的那种方法外,好像可以如下定义: typedef enum {false = 0, true = 1} bool;

恒山区15532194812: c bool是什么意思 -
陈绿研立: c语言里是没有bool类型的,往往使用 typedef BOOL int; 来定义一个BOOL类型,实际上是一个int 然后定义两个宏#define TRUE 1#define FALSE 0 来标记是真还是假 C语言里规定0是假,其它任何不是0的值都是真

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网