介绍

C语言中没有具体的bool类型,在C中使用int 型的0和1来代表true和false,但是在C++中对C的布尔类型有了一个增强,增加了一种bool类型,其值为true和false,并且理论上在内存中只占用一个字节,但是C++的编译器在编译到true和false的时候也是用0和1分别代表false和true的

bool类型的计算

Bool类型的true(非0),false(0)

bool a = 0;

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

a++;

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

a = a-3;

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

system("pause");

Bool 类型在参加数值运算的时候,和整数运算是一样的,不过得到的结果,编译器会根据true和false的定义来将计算的结果进行整理。将其值编程0或者1Bool类型是C++ 中的基本数据类型,可以定义bool的全局变量、常量、指针、数组等

三目运算符:(C++对三面运算符进行了升级)

下面的代码真确吗?

int a = 1;

int b = 2;

(a < b ? a : b) = 3;

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

  • C语言中三目运算符返回的是一个变量值,不能作为左值使用
  • C++中三目运算符可直接返回变量本身,既可作为左值又可作为右值()
  • 注意:三目运算符中所有可能返回的变量中,有一个是常量,就不能作为左值使用

C++中的引用

  1. 引用可认为是一个已经定定义的变量的一个别名
  2. 引用的语法:type& name = val;

int a = 1;

int& b = a;

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

printf("&b= %p\n",&b);

printf("&a= %p\n",&a);

变量名的回顾

  1. 变量是一段实际连续存储空间的别名
  2. 程序中通过变量来申请并命名存储空间
  3. 通过变量的名字可以使用内存空间
  4. C++中的变量可以有别名(就是引用)

小结

  • bool类型是C++新增加的基础类型
  • bool类型值只能是true和false
  • C++中的三目运算符可作为左值使用
  • C++中的引用可以看作变量的别名来使用
  • 三目运算符的可能返回值都是变量时,返回的是引用

转载于:https://www.cnblogs.com/ryluo/p/10037159.html

布尔类型和三目运算符相关推荐

  1. C++——简单数据类型及布尔类型

    一. 简单数据类型 数据类型描述了对象在内存存储区中占据的空间大小,描述了对象能够表示的数据范围 和类型.C++语言中常用的数据类型有整型.实型.字符型(这3种类型也被称之为简单数 据类型).数组类型 ...

  2. C++_布尔类型、枚举类型

    布尔类型 ================================================== 布尔类型对象可以被赋予文字值true或false. 当表达式需要一个算术值的时候,布尔对 ...

  3. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 8 章 数据类型_8.6. 布尔类型

    8.6. 布尔类型 PostgreSQL提供标准的SQL类型boolean,参见表 8.19.boolean可以有多个状态:"true(真)"."false(假)&quo ...

  4. python学习第三天 --布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...

  5. Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型

    不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java布尔类型 在Java语言中布尔类型的值只包括true和false,没有其他值,不包括1和0,布尔类型的数据在开发中主要使用在逻辑判断 ...

  6. python布尔类型运算_Python中布尔类型

    我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...

  7. C++阶段01笔记02【数据类型(整型、sizeof关键字、实型(浮点型)、字符型、转义字符、字符串型、布尔类型 bool、数据的输入)】

    C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 2 数据类型 2.1 整型 2.2 sizeof关键字 2.3 实型(浮点型) 2.4 字符型 2.5 转义字符 2.6 字符串 ...

  8. boost::iostreams模块测试定义的布尔类型特征

    boost::iostreams模块测试定义的布尔类型特征 实现功能 C++实现代码 实现功能 boost::iostreams模块测试定义的布尔类型特征 C++实现代码 #include <f ...

  9. 布尔类型的值包括( )和( )_布尔类型

    2.4.3布尔类型 布尔类型主要用来表示真值或假值.在Python中,标识符True和False被解释为布尔值.另外,Python中的布尔值可以转化为数值,True 表示1, False 表示0. 说 ...

最新文章

  1. python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...
  2. android高德地图显示多点标记,高德地图多点标记自定义地图
  3. Coherence-Enhancing Shock Filters(附源码)
  4. ubuntu权限管理
  5. html5属性详解,HTML5中的download属性详解
  6. openjdk 使用_如何在OpenJDK中使用ECC
  7. C++调用PyTorch模型:LibTorch
  8. 60-400-240-使用-binlog-Canal使用文档md
  9. 三种前端手机开发(uni-app、vant、mui)
  10. log4cxx OutputDebugString DebugView dbgview
  11. 潍坊市计算机培训机构,潍坊电脑培训中心办公软件
  12. cad两直线相交画圆弧_cad制图中两个圆相交于一条直线怎么画
  13. POJ 2112 Optimal Milking 最优挤奶方案 Floyd算法+二分查找+最大流
  14. 如何把电脑加上公司的域
  15. 炒鞋风潮下的“真鞋”鉴定生意
  16. JavaScript格式化输出时间
  17. python iter( )函数
  18. 360无线wifi路由器连接到服务器,把360无线路由器设置为二级路由器 | 192路由网...
  19. CP Editor 编辑器(为竞赛而生的编辑器)的安装与配置
  20. 传感器之热释电红外传感器

热门文章

  1. inventor应用程序错误---解决方法
  2. 【编码】-小Ho的防护盾-2016.08.14
  3. xcode6.3配置svn,详情教程,小白戳进来。
  4. Node.js 究竟是什么?(zz)
  5. strtok和sscanf
  6. Xeno Tactic 2
  7. Xamarin Essentials教程磁力计Magnetometer
  8. jQuery案例(底部导航图片切换)
  9. BZOJ.3004.[SDOI2012]吊灯(结论)
  10. 判断变量定义和变量为空问题