c语言中的布尔类型、枚举类型是个什么概念? C语言里有没有布尔型这个数据类型?

作者&投稿:臾图 (若有异议请与网页底部的电邮联系)
布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。 布尔常量 在Pascal语言中"真"用ture表示,"假"用False表示。所以布尔类型只有TRUE与FALSE两个常量。C语言或C++的一种构造类型,它用于声明一组命名的常数。   (1)枚举的声明:枚举声明用于声明新的枚举类型。   访问修辞符 enum 枚举名:基础类型   {   枚举成员   } ;   基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。   (2)枚举成员   枚举成员是该枚举类型的命名常数。任意两个枚举成员不能具有相同的名称。每个枚举成员均具有相关联的常数值。此值的类型就是枚举的基础类型。每个枚举成员的常数值必须在该枚举的基础类型的范围之内。   示例:   public enum TimeofDay:uint   {   Morning=-3,   Afternoon=-2,   Evening=-1   } ;   产生编译时错误,原因是常数值 -1、-2 和 –3 不在基础整型 uint 的范围内。

c++有bool类型,标准C没有布尔类型,用整型代替布尔类型,非0表示真,0表示假,BOOL就是int 。 枚举是用标识符表示的整型常数集合,这些常数是该类型变量可取的合法值,这些标识符称为枚举常量。
定义:enum<枚举名>{<标识符1>,<标识符2>...<标识符n>};
比如enum weekday{sun,mon,tue};
就表示定义了3个枚举型常量,默认他们的值是从0开始,依次递增,也就是sum=0,mon=1,tue=2
你也可以直接给他们赋值,比如enum weekday{sun=1,mon,tue};
如果这样的话mon的值就为2,tue的值就为3.
你也可以用其他变量代替枚举常量的值,比如
enum weekday{sun,mon,tue}a,b,c;
a=sun;
b=mon;
c=tue;
如果输出的话a=0,b=1,c=2

在枚举类型的定义中列举出所有可能的取值, 被说明为该枚举类型的变量取值不能超过定义的范围, 枚举类型是一种基本数据类型,而不是一种构造类型enum 枚举名
{ 枚举值表 };
在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。标准C语言是没有布尔的,C++就有,非0表示真,0表示假

你可以这样理解,布尔类型就是只有true和false两个值,一般是用来做标记位的~枚举类型就是可以是你设定的可能出现的所有类型,比如,一星期有七天,你可以设一个枚举型变量,它的值可以为:星期一,星期二……星期日中的一个,超出这个范围就是不允许的了

布尔型的值只能是true和false,一般用于标记。枚举型就是一组常量,就像选择题一样,选取其中的。

c语言中的布尔类型、枚举类型是个什么概念?~

布尔类型 bool 只有两个值,false 和 true,如果变量值为 0 就是 false,否则为 true,布尔变量只有这两个值。如:
bool pb= -1.5; // pb=true;
bool pt=0; // pt=false;
枚举类型是以 enum 关键字定义的一个类型,定义的枚举变量只能取类型中的常量。
enum STU{ABD,BC,CD};
enum STU T=ABD; // 正确 ,T=0,因为枚举类型的第一个常量的值从 0 开始。
T=0; // 错误,枚举类型只能取枚举常量的值。

C语言中并没有bool类型变量。这是C++中新增的系统类型。要在C语言中使用bool类型,可以使用自定义的方式。
使用整型做bool类型。typedef int bool;或typedef unsigned char bool;只要是整型,都可以当做bool使用。
使用枚举类型做bool类型。typedef enum{false,true}bool;实际应用中,枚举类型较为普遍。
C语音优缺点:
优点
1、简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
2、运算符丰富
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3、数据类型丰富
C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。[13]
4、表达方式灵活实用
C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。
5、允许直接访问物理地址,对硬件进行操作
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件。
6、生成目标代码质量高,程序执行效率高
C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。
7、可移植性好
C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。[14]
8、表达力强
C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。
C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。
它既可用来编写系统软件,又可用来开发应用软件,已成为一种通用程序设计语言。
另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
缺点
1、 C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。
2、 C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

C语言bool是什么意思?
答:C99标准定义了一个新的关键字_Bool,提供了布尔类型。以前,C程序员总是使用自己的方法定义布尔类型。0表示false,非0表示true。可能使用char类型表示一个布尔类型,也可能使用int类型表示一个布尔类型。很多函数库都定义了自己的布尔类型和相应的宏,枚举,typedef。C99把C语言原生的布尔类型带来了。C99中...

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

布尔类型是什么意思?
答:布尔型Boolean是编程语言pascal、VB、C++等的一种类型变量类型。布尔型的值只有两个:false(假)和true(真),且false的序号为0,true的序号是1(或者是非0)。用于布尔型的标准函数有:ord(取序号),pred(前导),succ(后继)。计算机术语 boolean数据类型boolean变量存储为8位(1个字节)的数值...

c语言中 ,枚举类型enum 的枚举值,可以是什么类型的值? 一定是 int型吗...
答:枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int

c语言中最简单的数据类型包括什么
答:①基本类型:(最常用)整型(短整型short int;整型int;长整型long int)字符型(char)浮点型(单精度型float;双精度型double;长双精度型long double)布尔型(bool)②构造类型:枚举类型(enum)数组类型 结构体类型(struct)共用体类型(union)类类型(class)③指针类型 ④引用类型 ⑤空类型(...

bool是什么?
答:1、类型不同 : BOOL为int型 , bool为布尔型 2、长度不同 : bool只有一个字节 , BOOL长度视实际环境来定,一般可认为是4个字节 3、取值不同 :bool取值false和true,是0和1的区别; false可以代表0,但true有很多种,并非只有1。4、bool表示布尔型变量,也就是逻辑型变量的定义符,以...

c语言的基本数据类型都有什么,麻烦知道用大括号分类,非常感谢
答:( ) 不是C++语言的基本数据类型 D)枚举类型, 字符类型也就是char,整数类型就是int,逻辑类型就是1和0,1表示真,0表示假,枚举类型不是数据类型,而是一种构造类型!C语言的三种基本数据类型是什么? C语言的三种基本数据类型为整型、实型、字符型。1、整型。包括short、int、long等,用以...

C#中引用类型和值类型分别有哪些
答:C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。值类型在内存管理方面具有更好的效率,并且不支持多态,适合用作存储数据的载体。C#的引用类型包括:数组,用户...

bool的意思是什么?
答:bool取值false和true,0为false,非0为true。(例如-1和2都是true)。bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。bool类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 在objective-c中提供了相似的类型BOOL,...

元组是1种特殊数组它控制了数组成员的类型和数量吗?
答:number:数值类型;string : 字符串类型;boolean: 布尔类型;enum:枚举类型;any : 任意类型(不建议用);void:空类型;Array : 数组类型;Tuple : 元组类型;Null :空类型。Undefined类型 在js中当你定义了一个变量,但没有给他赋予任何值的时候,他就是Undefined类型。这可能和你以前学的语言稍有不...