//赋值操作符
操作符 | 说明 |
= | 简单赋值操作符,如a=b |
+= | 加法赋值操作符,如a+=b |
-= | 减法赋值操作符,如a-=b |
*= | 乘法赋值操作符,如a*=b |
/= | 除法赋值操作符,如a/=b |
%= | 取余数赋值操作符,如a%=b |
<<= | 左移位赋值操作符,如a<<=b |
>>= | 右移位赋值操作符,如a>>=b |
&= | 位与赋值操作符,如a&=b |
^= | 位异或赋值操作符,如a^=b |
!= | 位或赋值操作符,如a!=b |
赋值操作符中,除了第一个“=”是基本操作符外,其他的都是与各种操作符复合而成的复合赋值操作符,以“a+=b”为例,他是“a=a+b”的缩写。
#include<iostream>
using namespace std;
//赋值操作符
int main()
{
int a = 3 ;
int b = 2 ;
cout << "a += b:" << (a += b) <<endl;
cout << "a -= b:" << (a -= b) <<endl;
cout << "a *= b:" << (a *= b) <<endl;
cout << "a /= b:" << (a /= b) <<endl;
cout << "a %= b:" << (a %= b) <<endl;
cout << "a <<=b:" << (a <<=b) <<endl;
cout << "a >>=b:" << (a >>=b) <<endl;
cout << "a &= b:" << (a &= b) <<endl;
cout << "a ^= b:" << (a ^= b) <<endl;
cout << "a != b:" << (a != b) <<endl;
return 0;
}
结果:
//条件操作符
条件操作符是一个三元操作符,也是c++中唯一一个三元操作符。
例
#include<iostream>
using namespace std;
//条件赋值符
int main()
{
int a = 3 ;
int b = 2 ;
int c = 5 ;
int max = a > b ? a : b ;
int min = a < c ? a : c ;
cout << "max : " << max << endl;
cout << "min : " << min << endl;
return 0;
}
由例子可以看出,条件符由“?”和“:”两部分组成。“?”前面是一个结果为布尔表达式,而“:”前后则是这个条件为true和false时条件操作符会返回的表达式。此外由于“:”的前后没有什么限制,我们甚至可以嵌套另一个含条件操作符的表达式来进行更复杂的判断。
#include <iostream>
using namespace std;
//嵌套条件操作符
int main()
{
int a = 3 ;
int b = 2 ;
int c = 5 ;
int max = a > b ? (a > c ? a : c) : (b > c ? b : c);
int min = a < b ? (a < c ? a : c) : (b < c ? b : c);
cout <<"max :" << max << endl;
cout <<"min :" << min << endl;
return 0;
}
结果:
//逗号操作符
#include<iostream>
using namespace std;
//逗号操作符
int main()
{
int a = 3 ;
int b = 2 ;
int c = 5 ;
int result = (c = b,b--,a++);
cout <<"c =" << c <<endl;
cout <<"b =" << b <<endl;
cout <<"a =" << a <<endl;
cout <<"result:" << result <<endl;
return 0;
}
结果:
逗号操作符的操作数不一定得是变量或者是赋值表达式,也可以是其他表达式。