C语言里有没有布尔型这个数据类型?

虽然很多人这样定义#defineture0#definefalse1想问问大家在C语言里有没有见过布尔型数据类型.... 虽然很多人这样定义#define ture 0#define false 1想问问大家在C语言里有没有见过布尔型数据类型. 展开
 我来答
小甜甜爱亮亮
高粉答主

2018-03-31 · 说的都是干货,快来关注
知道大有可为答主
回答量:689
采纳率:98%
帮助的人:29万
展开全部

C语言中并没有bool类型变量。这是C++中新增的系统类型。
要在C语言中使用bool类型,可以使用自定义的方式。

  1. 使用整型做bool类型。
    typedef int bool;

    typedef unsigned char bool;
    只要是整型,都可以当做bool使用。

  2. 使用枚举类型做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语言的人,要求对程序设计更熟练一些。

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
乐跑小子
2016-01-16 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:6001万
展开全部
C语言中并没有bool类型变量。这是C++中新增的系统类型。
要在C语言中使用bool类型,可以使用自定义的方式。
1 使用整型做bool类型。
typedef int bool;

typedef unsigned char bool;
只要是整型,都可以当做bool使用。
2 使用枚举类型做bool类型。
typedef enum
{
false,

true

}bool;
实际应用中,枚举类型较为普遍。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CT_36
推荐于2018-02-27 · TA获得超过482个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:224万
展开全部
ANSI C99标准规定C语言中有布尔类型(_Bool)。
为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。
使用布尔类型必须保证所使用的编译器支持C99标准
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳茪苗苗
2012-08-05
知道答主
回答量:42
采纳率:0%
帮助的人:6.8万
展开全部
ANSI C99标准规定C语言中有布尔类型(_Bool)。
为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。
使用布尔类型必须保证所使用的编译器支持C99标准
正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式