C++ —— C++运算符与表达式

C++ ——运算符与表达式

 

1、关系运算符及其优先级

在C++语言中有6种关系运算符:<,<=,>,>=,==,!=

在六个关系运算符中,<,<=,>,>=的优先级相同,==和!=的优先级相同,<,<=,>,>=的优先级高于==和!=的优先级。

关系运算符是双目运算符,运算时从左向右结合。

关系运算符优先级低于算术运算符,高于赋值运算符

例如:                c > a - b                   等价于  c > (a - b)

                            c == a > b                等价于  c == (a > b)

                            c = b <= a                等价于  c =(b <= a)

 

2、关系表达式

关系表达式是用关系运算符将两个表达式连接起来进行关系运算的式子。

关系表达式的一般形式为:

                     <表达式><关系运算符><表达式>

例如:

int a = 3,b = 2,c = 1,d,f;
cout << (a > b) << endl;
cout << ((a > b) == c) << endl;
cout << (b + c < a) << endl;                          
cout << (d = a > b) << endl;    
cout <<(f = a > b > c) << endl;        
cout <<('a' > 80) << enld;

3、条件运算符(三目运算符)

条件运算符是C++中唯一的一个三目运算符,它由两个符号“?”和“:”组成。

条件表达式的一般形式为:

                     <表达式1>? <表达式2>:<表达式3>

注意:

条件运算符的优先级低于算术运算符和关系运算符

条件运算符也可以嵌套,而且结合方向是从右向左的。例如:

        a >b ? a : c > d ? c : d     等价于:a > b ? a : (c > d ? c : d )

条件表达式相当于一条简单的if—else语句。例如:

cout << (a > b ? a : b) << endl;   等价于   
if (a > b)cout << a << endl;
elsecout << b << endl;

4、逻辑运算符及其优先级

C++语言中提供了三种逻辑运算符:

              !                非运算

              &&            与运算

             ||                或运算

逻辑运算符的优先级及其结合方向

逻辑非“!”:   优先级2,  右结合性,单目运算符。

逻辑与“&& ”:优先级11,左结合性,双目运算符。

逻辑或“|| ”:   优先级12,左结合性,双目运算符。

1为真,0为假;

&&:两个为真才为真;如果第一个为假,后面那个不执行【短路现象】;

||:一个为真就为真;如果第一个为真,后面那个不执行【短路现象】;

 

【!,++,--,-】> 【算术运算符】> 【关系运算符】> 【&&,|| 】> 【条件运算符】> 【赋值运算符】

a>b&& c>d                       等价于          (a>b) && (c>d)

!b==c|| d<a                        等价于      ((!b)==c)|| (d<a)

a+b>c && x+y<z                          等价于         ((a+b)>c) && ((x+y)<z)

 

5、逻辑表达式

       用逻辑运算符将表达式连接起来的式子就是逻辑表达式。

       逻辑表达式的一般形式为:

                     <表达式><逻辑运算符><表达式>          

int a = 1,b = 2;  //逻辑计算时a,b非0为真
cout << !a << endl;                            
cout << (a && b) << endl;                 
cout << (a || b) << endl;                     
cout << (!a || b) << endl;                           
cout << (4 && 0 || 2) << endl;                  
cout << ('a' &&'b') << endl;                     
cout << (5 > 3 && 2&& 8 < 4 - !0) << endl;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lzg_ad:FBWF配置详解

在安装好Windows XP Embedded FP2007及以后版本的开发工具后&#xff0c;我们就可以在我们的XPE操作系统镜像中添加FBWF功能了。我们可以在目标设计器中配置FBWF&#xff0c;也就是在构建XPE镜像文件前配置好FBWF&#xff0c;也可以在运行时镜像中配置FBWF。本文将详细介绍这两…

耦合,到底是什么!?

在电路中,将前级电路(信号源)的能量递至后级电路(负载)称为耦合&#xff0c;常见的耦合介质有导线、电容器&#xff0c;变压器、光电耦合器&#xff0c;电子电路&#xff0c;根据不同耦合介质常见有以下耦合方式&#xff0c;这几种耦合方式&#xff0c;各有特点,在不同哪种比较…

hibernate中*.hbm.xml配置文件的各种映射关系配置方法(多对一,多对多)

多对一&#xff1a; 多个用户对应一个部门&#xff0c;是多对一的关系&#xff0c;要在多方配&#xff0c;即在用户的hbm.xml文件中配 <many-to-one name"department" class"Department" column"department_Id" />name"department&qu…

MySQL学习笔记(二)—— MySQL的安装

MySQL可通过直接执行已编译版本安装&#xff0c;这个很简单&#xff0c;无须赘述&#xff0c;有时候&#xff0c;可能需要在安装时进行配置和编译&#xff0c;下面讨论一下相关的配置选项&#xff1a;1&#xff09; 配置的优先级配置选项的优先级如下&#xff1a;命令行、配置…

C++ —— C++三大分支结构(顺序、选择、循环)

C ——三大结构&#xff08;顺序、选择、循环&#xff09; 一、顺序结构的几种常用语句 1、声明语句 程序中所有由程序员给出的名字标识符&#xff0c;包括变量、常量、对象、类、类型、函数、参数等都要在使用前进行说明或定义。一般地&#xff0c;程序中的说明语句并不单纯说…

三极管的“非教科书式”解析,什么正偏、反偏都统统滚蛋!

什么正偏&#xff0c;反偏都统统滚蛋&#xff01;&#xff01;&#xff01;❤三极管有三个工作状态&#xff1b;截止、放大、饱和&#xff1b;放大状态很有学问也很复杂&#xff0c;多用于集成芯片&#xff0c;比如运放&#xff0c;现在不讨论&#xff1b;其实对信号的放大我们…

CListBox用法总结

CListBox用法总结 用法 属性Style Selection Single — 单选 Multiple — 多选(LBS_MULTIPLESEL) None — 不可选(LBS_NOSEL) Sort 对应Style: LBS_SORT Insert Item int AddString(LPCTSTR lpszItem); int InsertString(int nIndex, LPCTSTR lpszItem); Delete Item int Del…

django 模板继承与重写

1、模板的继承一般用在别人给我们做好的HTML页面&#xff0c;当我们发现有很多的页面都具有相同的部分&#xff0c;这会我们应该考虑怎么能把他们相同的部分给提取出来&#xff0c;提取出来的部分我们作为一个单独的HTML文件叫做base.html&#xff0c;其余不同的部分我们在base…

SUN平台,光纤共享存储互斥失败导致的数据灾难恢复

作者&#xff1a;张宇&#xff0c;北亚数据恢复中心&#xff0c;转载请联系作者&#xff0c;如果实在不想联系作者&#xff0c;至少请保留版权&#xff0c;谢谢。[数据恢复故障描述]两台SPARC SOLARIS系统通过光纤交换机共享同一存储&#xff0c;本意是作为CLUSTER使用&#xf…

C++ —— C++类

C ——类 1、类 类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。 class Clock { public:void SetTime(int new_hour, int new_minute,int new_second);void ShowTime(); private:int hour, minute, se…

一行代码还能这么秀

老早就想写这篇文章了&#xff0c;因为我经常用用这个方法来装逼&#xff0c;今天终于要把这个装逼方法分享给大家了。我从来不会告诉别人我自己的微信公众号关注早就已经超过40万了。看下面的截图这张截图建议大家保存下&#xff0c;如果遇到不公的事情&#xff0c;你就跟他说…

原来你是这样的Promise

1. Promise简介 promise是异步编程的一种解决方案&#xff0c;它出现的初衷是为了解决回调地狱的问题。 打个比方&#xff0c;我需要&#xff1a; --(延迟1s)--> 输出1 --(延迟2s)--> 输出2 --(延迟3s)--> 输出3 通常写法&#xff1a; setTimeout(()> {console.log…

VS2015 vc++ 项目出现new.h找不到的错误

安装完 VS2015 后&#xff0c;直接新建项目->win32控制台->运行&#xff0c;结果报错&#xff01;"无法打开包括文件: “stdio.h”: No such file or directory”"lnk1104:无法打开文件 ucrtd.lib ”奇了怪了&#xff0c;stdio.h 和 ucrtd.lib 都是 VS 自带的头…

C#——image与byte数组的转换

image to byte[] MemoryStream msnew MemoryStream(); image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif ); byte[] imagedatams.GetBuffer (); byte[] to imageMemoryStream ms new MemoryStream(imagedata);img Drawing.Image.FromStream(ms);转载于:https://www.cnb…

Linux Select

Linux Select 在Linux中&#xff0c;我们可以使用select函数实现I/O端口的复用&#xff0c;传递给 select函数的参数会告诉内核&#xff1a; •我们所关心的文件描述符 •对每个描述符&#xff0c;我们所关心的状态。(我们是要想从一个文件描述符中读或者写&#xff0c;还…

搞懂图像二值化算法

传统的机器视觉通常包括两个步骤&#xff1a;预处理和物体检测。而沟通二者的桥梁则是图像分割&#xff08;Image Segmentation&#xff09;[1]。图像分割通过简化或改变图像的表示形式&#xff0c;使得图像更易于分析。举个例子&#xff0c;食品加工厂新进了一批肉鸡&#xff…

vs2015无法打开包括文件:“winapifamily.h”

老项目是vs2003下的项目。升级vs2015后&#xff0c;调试运行报错 C:\Program Files (x86)\Windows Kits\8.0\Include\um\winsdkver.h(21): fatal error C1083: 无法打开包括文件:“winapifamily.h”: No such file or directory 在项目包含目录中包含了这个Windows Kits\8.0\…

JavaWeb无限级分销结构分析

在现实生活中我们经常遇到由推荐人注册&#xff0c;比如一个购物平台,用户A推荐用户B注册&#xff0c;那当B购买商品成功时&#xff0c;用户A就会拿到相应的提成。只要是用户A推荐的用户购买商品成功后&#xff0c;A用户都会拿到提成。 当用户B推荐了用户C&#xff0c;那当用户…

如何在Word里面自动生成目录

1、对整个文本进行排版处理&#xff1b; 2、先将第一个一级标题选中&#xff0c;再点击工具栏“字体”前“正文”的下拉菜单&#xff0c;选择“标题1”&#xff1b; 3、此时会在此行前出现一个黑点&#xff0c;表明此行已被设为目录项&#xff08;前方黑点不会被打印&#xff0…

一个风骚的C语言操作

有个小伙伴在我们的嵌入式交流群里发了类似下面的一张图&#xff0c;顿时引起一阵骚动&#xff0c;我把源代码再附上&#xff0c;main.c 如下&#xff1a;#include <stdio.h> #include <string.h>static char city_name[][20] { #include "city.h" };in…