算术运算符
处理四则运算,加减乘除等
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | -3 | -3 |
+ | 加 | 10+5 | 15 |
- | 减 | 10-5 | 5 |
* | 乘 | 10*5 | 50 |
/ | 除 | 10/5 | 2 |
% | 取模(取余) | 10%3 | 1 |
++ | 前置递增 | a=2;b=++a; | a=3;b=3; |
++ | 后置递增 | a=2;b=a++; | a=3;b=2; |
-- | 前置递减 | a=2;b=--a; | a=1;b=1; |
-- | 后置递减 | a=2;b=a--; | a=1;b=2; |
- 两个+和-其实是一样的只是+既可以代表两个数相加,也可以表示一个数是正数,-同理.
- 两个数相除,除数不能为0
- 取模两个操作数必须都为整数,本质是做除法求余数,所以像
10%0
也是不允许的. - 两个整数相除仍然是小数
10/3=3
- 两个小数也可以相除
#include<iostream>
using namespace std;
int main() {
int a = 2, b = ++a;
cout << "a =" << a << ", b = " << b << endl;
a = 2; b = a++;
cout << "a =" << a << ", b = " << b << endl;
a = 2; b = --a;
cout << "a =" << a << ", b = " << b << endl;
a = 2; b = a--;
cout << "a =" << a << ", b = " << b << endl;
return 0;
}
打印结果为:a =3, b = 3
a =3, b = 2
a =1, b = 1
a =1, b = 2
前置递增和后置递增都是让这个变量进行+1的操作,二者的区别是前置递增是这个数先自己加一,然后再参与表达式的计算,后置递增是这个数先参与表达式的计算,再让自己加一,前置递减和后置递减同理.
赋值运算符
用于将表达式的值赋给变量
运算符 | 术语 | 示例 |
---|---|---|
= | 赋值 | a=2;b=3; |
+= | 加等于 | a=0;a+=2; |
-= | 减等于 | a=5;a-=3; |
*= | 乘等于 | a=2;a*=2; |
/= | 除等于 | a=4;a/=2; |
%= | 模等于 | a=3;a%=2; |
#include<iostream>
using namespace std;
int main() {
int a = 10,b=5;
cout << (a += 20) << endl;
cout << (b *= 3) << endl;
return 0;
}
打印结果:30
15
a+=20
等价于a=a+20
,b*=3
等价于b=b*3
,其他也同理.
比较运算符
用于表达式的比较,并返回一个真值或假值
运算符 | 术语 | 示例 |
---|---|---|
== | 相等于 | 4==3 |
!= | 不等于 | 4!=3 |
< | 小于 | 4<3 |
> | 大于 | 4>3 |
<= | 小于等于 | 4<=3 |
>= | 大于等于 | 4>=1 |
=用于赋值,所以当我们判断是否相等时要用==,两个等于号.
#include<iostream>
using namespace std;
int main() {
cout << (4>3) << endl;
cout << (2==1) << endl;
return 0;
}
打印结果1
0
逻辑运算符
根据表达式的值返回真值或假值
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
! | 非 | !a | 如果a为假,则!a为真,如果a为真,则!a为假 |
&& | 与 | a&&b | 如果a和b都为真,则结果为真,否则为假 |
|| | 或 | a||b | 如果a和b有一个为真,则结果为真,二者都为假时,结果为假 |