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,高位舍弃,移位操作不会改变变量本身的值的大小
赋值表达式将等式右边的值赋给等式左边的对象,赋值表达式的类型是等式左边的对象的类型,值也是等式左边的对象的值。
比如:
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,高位舍弃,移位操作不会改变变量本身的值的大小
相关文章推荐
- 【LeetCode】112. Path Sum Java,C++,解法及注释
- C++primer 5th exercise section 12.1.6 答案
- c++ 按地址 按引用
- C语言演示对归并排序算法的优化实现
- c++中冒号(:)和双冒号(::)的区别与用法
- C++ 值传递、指针传递、引用传递详解
- 347. Top K Frequent Elements (C++程序实现,两种方案)
- C++ 实现URL 编码/解码代码
- hdu 1033 Edge
- 【C语言】求一个整数的因子之和
- More Effective C++----(1)指针与引用的区别 & (2)尽量使用C++风格的类型转换 & (3)不要对数组使用多态
- C++中的复制、赋值、析构
- C++面向对象编程
- c++动态库加载顺序和同名动态库同时加载问题
- HDU 1251-统计难题(字典树-统计前缀串)
- 我的c\c++之旅(五)
- 【LeetCode】111. Minimum Depth of Binary Tree解法及注释,Java,C++,DFS
- 学习笔记之深入浅出MFC 第8章 C++重要性质---Template
- MOOC北京理工《C语言程序设计(上)》第6周第1题:数字正方形
- C++11 模板元编程初探: 在编译期间确定斐波那契数列