布尔类型和三目运算符
介绍
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++中的引用
- 引用可认为是一个已经定定义的变量的一个别名
- 引用的语法: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);
变量名的回顾
- 变量是一段实际连续存储空间的别名
- 程序中通过变量来申请并命名存储空间
- 通过变量的名字可以使用内存空间
- C++中的变量可以有别名(就是引用)
小结
- bool类型是C++新增加的基础类型
- bool类型值只能是true和false
- C++中的三目运算符可作为左值使用
- C++中的引用可以看作变量的别名来使用
- 三目运算符的可能返回值都是变量时,返回的是引用
转载于:https://www.cnblogs.com/ryluo/p/10037159.html
布尔类型和三目运算符相关推荐
- C++——简单数据类型及布尔类型
一. 简单数据类型 数据类型描述了对象在内存存储区中占据的空间大小,描述了对象能够表示的数据范围 和类型.C++语言中常用的数据类型有整型.实型.字符型(这3种类型也被称之为简单数 据类型).数组类型 ...
- C++_布尔类型、枚举类型
布尔类型 ================================================== 布尔类型对象可以被赋予文字值true或false. 当表达式需要一个算术值的时候,布尔对 ...
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 8 章 数据类型_8.6. 布尔类型
8.6. 布尔类型 PostgreSQL提供标准的SQL类型boolean,参见表 8.19.boolean可以有多个状态:"true(真)"."false(假)&quo ...
- python学习第三天 --布尔类型
我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...
- Java从键盘输入n行字符串_Java十四天零基础入门-Java布尔类型
不闲聊!!!不扯淡!!!小UP只分享Java相关的资源干货 Java布尔类型 在Java语言中布尔类型的值只包括true和false,没有其他值,不包括1和0,布尔类型的数据在开发中主要使用在逻辑判断 ...
- python布尔类型运算_Python中布尔类型
我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 True. True and ...
- C++阶段01笔记02【数据类型(整型、sizeof关键字、实型(浮点型)、字符型、转义字符、字符串型、布尔类型 bool、数据的输入)】
C++| 匠心之作 从0到1入门学编程[视频+课件+笔记+源码] 目录 2 数据类型 2.1 整型 2.2 sizeof关键字 2.3 实型(浮点型) 2.4 字符型 2.5 转义字符 2.6 字符串 ...
- boost::iostreams模块测试定义的布尔类型特征
boost::iostreams模块测试定义的布尔类型特征 实现功能 C++实现代码 实现功能 boost::iostreams模块测试定义的布尔类型特征 C++实现代码 #include <f ...
- 布尔类型的值包括( )和( )_布尔类型
2.4.3布尔类型 布尔类型主要用来表示真值或假值.在Python中,标识符True和False被解释为布尔值.另外,Python中的布尔值可以转化为数值,True 表示1, False 表示0. 说 ...
最新文章
- python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...
- android高德地图显示多点标记,高德地图多点标记自定义地图
- Coherence-Enhancing Shock Filters(附源码)
- ubuntu权限管理
- html5属性详解,HTML5中的download属性详解
- openjdk 使用_如何在OpenJDK中使用ECC
- C++调用PyTorch模型:LibTorch
- 60-400-240-使用-binlog-Canal使用文档md
- 三种前端手机开发(uni-app、vant、mui)
- log4cxx OutputDebugString DebugView dbgview
- 潍坊市计算机培训机构,潍坊电脑培训中心办公软件
- cad两直线相交画圆弧_cad制图中两个圆相交于一条直线怎么画
- POJ 2112 Optimal Milking 最优挤奶方案 Floyd算法+二分查找+最大流
- 如何把电脑加上公司的域
- 炒鞋风潮下的“真鞋”鉴定生意
- JavaScript格式化输出时间
- python iter( )函数
- 360无线wifi路由器连接到服务器,把360无线路由器设置为二级路由器 | 192路由网...
- CP Editor 编辑器(为竞赛而生的编辑器)的安装与配置
- 传感器之热释电红外传感器