运算符的作用:执行代码的运算。
运算符类型 | 作用 |
---|---|
算术运算符 | 处理四则运算 |
赋值运算符 | 将表达式的值赋给变量 |
比较运算符 | 表达式的比较,并返回一个真值(1)或假值(0) |
逻辑运算符 | 根据表达式的值返回真值(1)或假值(0) |
1 算术运算符
作用:用于处理四则运算
算术运算符的种类:
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +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; |
注1:除法运算或取模运算中,除数不能为0。
注2:C++中,只有整型变量可以进行取模运算
。浮点型变量不能进行取模运算。否则,提示错误:“表达式必须具有整数或未区分范围的枚举类型”。
注3:前置递增/递减先对变量进行++/–,再计算表达式;后置递增/递减先计算表达式,再对变量进行++/–。
示例1:
//加减乘除
int main() {
int a1 = 10;
int b1 = 3;
cout << a1 + b1 << endl;
cout << a1 - b1 << endl;
cout << a1 * b1 << endl;
cout << a1 / b1 << endl; //3 //整数除:两个整数相除,结果仍为整数,会去除小数部分
int a2 = 10;
int b2 = 20;
cout << a2 / b2 << endl; //0
//两个小数相除
double d1 = 0.5;
double d2 = 0.25;
cout << d1 / d2 << endl; //2 //运算结果可为小数,如 0.5 / 0.15
return 0;
}
示例2:
//取模
int main() {
cout << 10 % 3 << endl; //1
cout << 10 % 20 << endl; //10
//cout << 10 % 0 << endl; //取模运算时,除数不能为0
//两个小数不可以取模
double d1 = 3.14;
double d2 = 1.1;
//cout << d1 % d2 << endl;
return 0;
}
示例3:
//递增
int main() {
//后置递增
int a = 5;
a++; //等价于a = a + 1
cout << a << endl; //6
//前置递增
int b = 10;
++b;
cout << b << endl; //6
//区别
//前置递增:先对变量进行++,再计算表达式
int a1 = 5;
int b1 = ++a1 * 10;
cout << a1 << endl; //6
cout << b1 << endl; //60
//后置递增:先计算表达式,后对变量进行++
int a2 = 5;
int b2 = a2++ * 10;
cout << a2 << endl; //6
cout << b2 << endl; //50
return 0;
}
2 赋值运算符
作用:将表达式的值赋给变量。
赋值运算符的种类:
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
= | 赋值 | a=2; b=3; | a=2; b=3; |
+= | 加等于 | a=0; a+=2; | a=2; |
-= | 减等于 | a=5; a-=3; | a=2; |
*= | 乘等于 | a=2; a*=2; | a=4; |
/= | 除等于 | a=4; a/=2; | a=2; |
%= | 模等于 | a=3; a%2; | a=1; |
3 比较运算符
作用:用于表达式的比较,并返回一个真值(1)
或假值(0)
。
比较运算符的种类:
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
== | 相等于 | 4 == 3 | 0 |
!= | 不等于 | 4 != 3 | 1 |
< | 小于 | 4 < 3 | 0 |
> | 大于 | 4 > 3 | 1 |
<= | 小于等于 | 4 <= 3 | 0 |
>= | 大于等于 | 4 >= 3 | 1 |
注:C和C++ 语言的比较运算中, “真”使用数字“1”表示, “假”使用数字“0”表示。
4 逻辑运算符
作用:根据表达式的值返回真值(1)
或假值(0)
。
逻辑运算符的种类:
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
! | 非 | !a | 若a为假,则!a为真; 若a为真,则!a为假。 |
&& | 与 | a && b | 若a和b都为真,则结果为真;否则为假。 |
|| | 或 | a || b | 若a和b至少一个为真,则结果为真;当二者均为假时,结果为假。 |
示例1:逻辑非
//逻辑运算符 --- 非
int main() {
int a = 5;
//C++中,所有非0值均为真
cout << !a << endl; // 0
cout << !!a << endl; // 1
return 0;
}
注:
逻辑非
运算符总结:真变假,假变真
示例2:逻辑与
//逻辑运算符 --- 与
int main() {
int a = 5;
int b = 5;
cout << (a && b) << endl; // 1
a = 5;
b = 0;
cout << (a && b) << endl; // 0
a = 0;
b = 0;
cout << (a && b) << endl; // 0
return 0;
}
注:
逻辑与
运算符总结:同真为真,其余为假
示例3:逻辑或
//逻辑运算符 --- 或
int main() {
int a = 5;
int b = 5;
cout << (a || b) << endl;// 1
a = 5;
b = 0;
cout << (a || b) << endl;// 1
a = 0;
b = 0;
cout << (a || b) << endl;// 0
return 0;
}
注:
逻辑或
运算符总结:同假为假,其余为真