该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1. 我们自己定义的“仿布尔型”

在C99标准被支持之前,我们常常自己模仿定义布尔型,方式有很多种,常见的有下面两种:

view plaincopy to clipboardprint?

/* 第一种方法 */

#define TRUE 1

#define FALSE 0

/* 第二种方法 */

enum bool{false, true};

2. 使用_Bool

现在,我们可以简单的使用 _Bool 来定义布尔型变量。_Bool类型长度为1,只能取值范围为0或1。将任意非零值赋值给_Bool类型,都会先转换为1,表示真。将零值赋值给_Bool类型,结果为0,表示假。 下面是一个例子程序。

view plaincopy to clipboardprint?

#include

#include

int main(){

_Bool a = 1;

_Bool b = 2;    /* 使用非零值,b的值为1 */

_Bool c = 0;

_Bool d = -1;   /* 使用非零值,d的值为1 */

printf("a==%d,  \n", a);

printf("b==%d,  \n", b);

printf("c==%d,  \n", c);

printf("d==%d,  \n", d);

printf("sizeof(_Bool) == %d  \n", sizeof(_Bool));

system("pause");

return EXIT_SUCCESS;

}

运行结果如下:(只有0和1两种取值)

view plaincopy to clipboardprint?

a==1,

b==1,

c==0,

d==1,

sizeof(_Bool) == 1

3. 使用stdbool.h

在C++中,通过bool来定义布尔变量,通过true和false对布尔变量进行赋值。C99为了让我们能够写出与C++兼容的代码,添加了一个头文件。在gcc中,这个头文件的源码如下:(注,为了清楚,不重要的注释部分已经省略)

view plaincopy to clipboardprint?

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

This file is part of GCC.

c语言布尔类型赋值给整型,C语言的布尔类型(_Bool)【转】相关推荐

  1. 语言转4字节数据整型_R语言与RGui平台_数据类型_向量_4

    计算机语言RGui平台上的R语言__数据类型_向量_4 R语言进阶4_数据类型_向量1 咱们而可以从自然语言(汉语.英.法.俄.德.日.拉丁.伊斯兰.等等)的基本特征来看--词汇.句子.段落.结构.文 ...

  2. c语言赋值小数,c语言中将一个浮点型赋值给整型时,会不会四舍五入?

    c语言中将一个浮点型赋值给整型时,不会四舍五入,会直接舍去小数部分的数据,也可以认为是执行了下取整运算. 将浮点数(单双精度)转换为整数时,将舍弃浮点数的小数部分,只保留整数部分.将整型值赋给浮点型变 ...

  3. go语言基础-数据类型- 整型,浮点型,布尔型

    基本数据类型 整型和浮点型 字符串 布尔类型 所有的语言都包含这三部分,我们之前学过的shell脚本也一样: 1. 整型和浮点型 package mainimport ("fmt" ...

  4. C语言中的截断与整型提升

    C语言中的截断与整型提升 我们首先来看一段代码: #include<stdio.h> #include<stdlib.h> union Un//--联合体 { char c;i ...

  5. c语言中长整型的作用,C语言,整形和长整型都占四个字节?

    C语言中,整型常量和长整型常量,有什么区别? 整型常量和长整型常量(包括有符号的和无符号的),为什么占用字节数和一.指代不同 整型常量:是通常的整数,包括正整数.负整数和0,其数据类型显然是整型. 长 ...

  6. 什么是整型类型?Python整型详细介绍

    整数类型(int)简称整型,它用于表示整数,例如,100.2016等.整型字面值的表示方式有四种,分别是十进制.二进制(以"0B"或"0b"开头).八进制(以数 ...

  7. c语言整型最大数,C语言:求一个短整型正整数中的最大数字

    C语言:求一个短整型正整数中的最大数字 关注:84  答案:5  手机版 解决时间 2021-01-16 02:17 提问者舊倳偂歡 2021-01-15 14:26 例如整数12354中的最大数字是 ...

  8. mysql中将长整型转换为时间类型或将时间类型转换为长整型

    长整型转换为时间类型的关键字:FROM_UNIXTIME(长整型,format): 时间类型转换为长整型的关键字:UNIX_TIMESTAMP(时间类型): 长整型转换为时间类型例子:select F ...

  9. 定义一个DataType(数据类型)类,能处理包含字符型、整型、浮点型三种类型的数据,给出其构造函数。

    实验思路: DataType类内的私有类型要包含字符型.整型.浮点型三种类型的数据,构造函数要分别写出有字符型.整型.浮点型的形参来初始化. #include <iostream> usi ...

最新文章

  1. 讲一讲什么是 MMAP
  2. xshell简单命令
  3. 智能车竞赛技术报告 | 节能信标组 - 太原工业学院 - 晋速-天槊星
  4. html引入另一个html
  5. Codeforces Round #626 (Div. 2) D. Present 按位贡献 + 快排新姿势
  6. leetcode613. 直线上的最近距离(SQL)
  7. Android Service学习之AIDL, Parcelable和远程服务
  8. maftools|TCGA肿瘤突变数据的汇总,分析和可视化
  9. graphpad做折线图_graphpad prism怎么做折线图啊?求解答!
  10. 深度学习推荐模型-DeepCrossing
  11. 谱减法matlab程序_从零开始的matlab学习笔记——(2)基本运算
  12. jbpm6 mysql_JBPM6把默认的H2数据库替换成mySql
  13. oracle中的中文排序,Oracle下的中文排序
  14. ceph peering机制-状态机
  15. OpenGL纹理叠加基础知识
  16. APK一键注入网络验证后台PHP源码ThinkPHP开发版
  17. 23种设计模式极速记忆法(全网独一无二)
  18. html中onfocus作用,HTML onfocus用法及代码示例
  19. 兔八哥与猎人【普及-】
  20. C++基础(四)——模板

热门文章

  1. Nginx 简介和使用
  2. Python绘制图形之Matplotllib绘图
  3. KnockoutJS-与服务端交互
  4. java编程思想第四版第十四章 类型信息习题
  5. Apache网站服务
  6. 【bzoj 3601】一个人的数论 (莫比乌斯反演+伯努利数)
  7. 刚刚上班才回来,今天和你说说hash数组
  8. 使用 JavaScript 实现简单候选项推荐功能(模糊搜索)【收藏】【转】
  9. 选择、插入、冒泡排序
  10. 千万级负载均衡架构设计