C++基础入门(三)
3 运算符
作用:用于执行代码的运算
本章我们主要讲解以下几类运算符:
运算符类型 |
作用 |
算术运算符 |
用于处理四则运算 |
赋值运算符 |
用于将表达式的值赋给变量 |
比较运算符 |
用于表达式的比较,并返回一个真值或假值 |
逻辑运算符 |
用于根据表达式的值返回真值或假值 |
3.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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| int main() {
int a1 = 10; int b1 = 3;
cout << a1 + b1 << endl; cout << a1 - b1 << endl; cout << a1 * b1 << endl; cout << a1 / b1 << endl;
int a2 = 10; int b2 = 20; cout << a2 / b2 << endl;
int a3 = 10; int b3 = 0;
double d1 = 0.5; double d2 = 0.25; cout << d1 / d2 << endl;
system("pause");
return 0; }
|
总结:在除法运算中,除数不能为0
示例2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| int main() {
int a1 = 10; int b1 = 3;
cout << 10 % 3 << endl;
int a2 = 10; int b2 = 20;
cout << a2 % b2 << endl;
int a3 = 10; int b3 = 0;
double d1 = 3.14; double d2 = 1.1;
system("pause");
return 0; }
|
总结:只有整型变量可以进行取模运算
示例3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| int main() {
int a = 10; a++; cout << a << endl;
int b = 10; ++b; cout << b << endl;
int a2 = 10; int b2 = ++a2 * 10; cout << b2 << endl;
int a3 = 10; int b3 = a3++ * 10; cout << b3 << endl;
system("pause");
return 0; }
|
总结:前置递增先对变量进行++,再计算表达式,后置递增相反
3.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; |
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| int main() {
int a = 10; a = 100; cout << "a = " << a << endl;
a = 10; a += 2; cout << "a = " << a << endl;
a = 10; a -= 2; cout << "a = " << a << endl;
a = 10; a *= 2; cout << "a = " << a << endl;
a = 10; a /= 2; cout << "a = " << a << endl;
a = 10; a %= 2; cout << "a = " << a << endl;
system("pause");
return 0; }
|
3.3 比较运算符
作用:用于表达式的比较,并返回一个真值或假值
比较运算符有以下符号:
运算符 |
术语 |
示例 |
结果 |
== |
相等于 |
4 == 3 |
0 |
!= |
不等于 |
4 != 3 |
1 |
< |
小于 |
4 < 3 |
0 |
> |
大于 |
4 > 3 |
1 |
<= |
小于等于 |
4 <= 3 |
0 |
>= |
大于等于 |
4 >= 1 |
1 |
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| int main() {
int a = 10; int b = 20;
cout << (a == b) << endl;
cout << (a != b) << endl;
cout << (a > b) << endl;
cout << (a < b) << endl;
cout << (a >= b) << endl;
cout << (a <= b) << endl; system("pause");
return 0; }
|
注意:C和C++ 语言的比较运算中, ==“真”用数字“1”来表示, “假”用数字“0”来表示。==
3.4 逻辑运算符
作用:用于根据表达式的值返回真值或假值
逻辑运算符有以下符号:
运算符 |
术语 |
示例 |
结果 |
! |
非 |
!a |
如果a为假,则!a为真; 如果a为真,则!a为假。 |
&& |
与 |
a && b |
如果a和b都为真,则结果为真,否则为假。 |
|| |
或 |
a || b |
如果a和b有一个为真,则结果为真,二者都为假时,结果为假。 |
示例1:逻辑非
1 2 3 4 5 6 7 8 9 10 11 12 13
| int main() {
int a = 10;
cout << !a << endl;
cout << !!a << endl;
system("pause");
return 0; }
|
总结: 真变假,假变真
示例2:逻辑与
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| int main() {
int a = 10; int b = 10;
cout << (a && b) << endl;
a = 10; b = 0;
cout << (a && b) << endl;
a = 0; b = 0;
cout << (a && b) << endl;
system("pause");
return 0; }
|
总结:逻辑==与==运算符总结: ==同真为真,其余为假==
示例3:逻辑或
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| int main() {
int a = 10; int b = 10;
cout << (a || b) << endl;
a = 10; b = 0;
cout << (a || b) << endl;
a = 0; b = 0;
cout << (a || b) << endl;
system("pause");
return 0; }
|
逻辑==或==运算符总结: ==同假为假,其余为真==