运算符

本文深入探讨了编程语言中的各种运算符,包括算术运算符、比较运算符、逻辑运算符以及位运算符。通过实例解析,阐述了它们的工作原理和使用场景,帮助读者更好地理解和运用运算符解决实际编程问题。
摘要由CSDN通过智能技术生成

                                                     运算符说明

类型表达式说明
基本算数运算

加号:+

减号:-

乘以:*

除以:/

取余:%

除法:若整数相除、结果取整、商的小数部分被舍弃

取余:若整数取余、结果取余数不取商数(取余运算跟乘除法是一类的,运算优先级先乘除后加减同级运算自左向右)

自增运算符

前置:++i

后置:i++

前置:首先加一(把变量的值增一)然后继续参与其他的运算

后置:先将变量里面的值取一个,副本出来如果它需要参与运算用这个,然后自己本身的值在增一

自间运算符

前置:--j

后置:j--

前置:首先减一(把变量的值减一)然后继续参与其他的运算

后置:先将变量里面的值取一个,副本出来如果它需要参与运算用这个,然后自己本身的值在减一

赋值运算符=

用赋值运算符连接的表达式

例如:int n = n + 5;

复合赋值运算符

相加后赋值:+=

相减后赋值:-=

相乘后赋值:*=

相除后赋值:/=

取余后赋值:%=

位左移赋值:<<=

位右移赋值:>>=

位与运算后赋值:&=

位异或运算后赋值:^=

位或运算后赋值:|=

例如:

         相加后赋值:a += 3; 等同于 a = a + 3;

         相减后赋值:a  -= 5; 等同于 a = a  - 5;

         相减后赋值:a *= y+8; 等同于 a = a * (y + 8);

         相除后赋值:a /= y - 5; 等同于 a = a / (y - 5);

         取余后赋值:a %= y * 5; 等同于 a = a % (y*5);

         位左移赋值: a <<= y / 5; 等同于 a <<= a << (y /5);

         位右移赋值: a >>= y *5; 等同于 a = a >> (y/5);

         位与运算后赋值:a &= y+5; 等同于 a = a & (y+5);

         位异或运算后赋值:a ^= y - 5; 等同于 a ^ (y-5);

         位或运算后赋值:a |= y * 8; 等同于 a | (y*8);

         

逗号运算符表达式1,表达式2

 它的作用就是,链结左右两个表达式,也就是先计算逗号运算符左边的表达式在计算逗号运算符右边的表达式,两个表达式都计算完了以后以右边表达式为最终结果

例如:

         a = 3*5 , a*4

                             因为赋值运算符优先等级高于逗号运算符,所以按照逗号运算符计算规                               则先计算3*5然后将3*5的值赋值给a在计算a*4最终结果为60. 

关系运算符

优先级相同(高)

                     小于:<                    小于等于:<=

                     大于:>

              大于等于:>=

优先级相同(低)

                     等于:==

                  不等于:!=

用来比较两个表达式大小,相等和不相等关系的

关系表达式是一种最简单的逻辑表达式

 其结果类型为布尔,值只能为true或false

逻辑运算符

优先级(高)

              逻辑非:!

优先级(中)

               逻辑与:&&

优先级(低)

                逻辑或:||

 

用来进行逻辑与、逻辑或、逻辑非运算的

逻辑运算结果类型为布尔,值只能为true或false

逻辑与的运算规则:(相当于生活中“并且”的意思)

                              两侧表达式都为真,结果为真

                              有一侧表达式为假,结果为假

逻辑或的运算规则:(相当于生活中“或者的意思”)

                               两侧表达式都为假,结果为假

                               有一侧表达式为真,结果为真

逻辑非的运算规则:

                               非真得出结果即为假,非假得出结构即为真

条件运算符表达式1?表达式2:表达式3

用来实现非常简单的选择结构,先问一下第一个表达式是否为真,如果为真选择第二个表达式作为结果,如果为假选择第三个表达式作为结果

条件表达式运算规则:

                              若表达式1的值为true,则求解表达式2,以表达式2的结果为最终结果

                              若表达式1的值为false,则求解表达式3,以表达式3的结果为最终结果  

条件运算符优先级高于赋值运算符,低于逻辑运算符

表达式1的值必需为布尔类型,表达式2、3的类型可以是不同类型

条件表达式的最终类型为表达式2、3中较高的类型

SIZEOF运算符

 sizeof(类型名);

或者sizeof 表达式;

求一个变量或者一种数据类型它所占的字节数

结果值为“类型名”所指定的类型。或者“表达式”的结果类型所占的字节数。

按位与运算&

运算规则:

                 将两个运算量的每一个位运算进行按位与操作

将两个类型的二进制值对齐,每一位进行与操作,只有当两个数对应位都是1的时候结果的对应位是1,对应的两个数的对应位如果有一个对应位是0结果的对应位是0

按位或运算|

运算规则:

                 将两个运算量的每一个位运算进行按位或操作

将两个类型的二进制值对齐,每一位进行或操作,如果两个数对应位都是1的时候结果的对应位是1,对应的两个数的对应位如果有一个对应位是1结果的对应位也是1,只有当两个数的对应位都是0结果的对应位才为0

按位异或运算^

运算规则:

                 将两个运算量的每一个位运算进行按位异或操作

将两个类型的二进制值对齐,每一位进行异或操作,若对应位相同,则结果该位为0,若对应位不同,则结果该位为1

按位取反运算~单目运算符,对一个二进制数按位取反
移位运算符

左移运算符:<<

右移运算符:>>

左移运算符:

                   左移后,低位补0,高位舍弃

右移运算符:

                   低位舍弃

           高位: 

                    无符号数:补0

                     有符号数:补“符号位”          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值