您的位置:首页 > 编程语言 > C语言/C++

C++中的运算符合赋值问题

2016-05-04 11:40 190 查看
赋值符号“=”:

赋值表达式将等式右边的值赋给等式左边的对象,赋值表达式的类型是等式左边的对象的类型,值也是等式左边的对象的值。

比如:

a=b=5; 先把5赋值给b,表达式b=5的值为5,再把这个值赋给a,所以a也是5。

还有一些复杂一点的赋值运算符结合方向也是自右向左,比如+=,&=,|=

比如:

a+=3 ; 等价于a=a+3

a-2;

a+=a-=a*a; 首先a*a等于4,然后和-=结合,a变为-2,最后a变成0

看书的时候发现之前没有注意过的一个逗号运算符

比如:

a=3*5, a*4 这样最后的结果是60,先求解第一个表达式,再求解第二个,最终的结果是第二个表达式的值,感觉这个用法不常见,但是了解下总是好的

关系运算符就是<、>、<=、==之类的,其中==和!=的优先级比其他的关系运算符的要低

逻辑运算符的优先级从大大小依次是!、&&、||,不管是逻辑表达式还是关系表达式,最后表达式的值都是bool类型的

cout<<((a<b)?a:b); 输出a和b里面小的那个数

sizeof()是用来计算对象在内存中所占的字节数的符号,比如int类型的字节数是4

按位操作运算符都有&,|,^(按位异或),~(按位取反),移位(<<、>>),左移时低位补0,高位舍弃,移位操作不会改变变量本身的值的大小
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: