- 运算符的作用:用于执行代码的运算。
- 运算符的分类:
(1)算术运算符:处理四则运算;
(2)赋值运算符:将表达式的值赋给变量;
(3)比较运算符:表达式之间的比较,返回值为真(1)或假(0);
(4)逻辑运算符:根据表达式的值返回真或假。
1.算术运算符
算术运算符包括以下符号:
运算符 | 示例 |
---|---|
+(正号/加) | 1+2=3 |
-(负号/减) | 5-3=2 |
*(乘) | 2*4=8 |
/(除) | 6/2=3 |
%(取余) | 10%3=1 |
++(前置/后置递增) | 若a=10,则b=++a*2=22 若a=10,则b=a++*2=20 |
- -(前置/后置递减) | 若a=10,则b=- -a*2=18 若a=10,则b=a- -*2=20 |
1.1 加减乘除运算
#include <iostream>
using namespace std;
int main()
{
//1.加减乘除
int a = 4;
int b = 7;
cout << a + b << endl;//加法运算
cout << a - b << endl;//减法运算
cout << a * b << endl;//乘法运算
cout << b / a << endl;//除法运算,两个整数相除,结果是整数,去掉小数部分
cout << b / float(a) << endl;//将其中一个强制转为浮点型后相除,小数部分可以保留
double c = 3.14;
double d = 2.2;
cout << c / d << endl;//两个小数相除
system("pause");
return 0;
}
运行结果:
11
-3
28
1
1.75
1.42727
1.2 取模(取余)运算
取模运算的本质就是求余数。
注:两个小数不可以做取模运算。
#include <iostream>
using namespace std;
int main()
{
//2.取模运算
int a1 = 10;
int b1 = 3;
cout << a1 % b1 << endl;
int a2 = 5;
int b2 = 10;
cout << a2 % b2 << endl;
//double d1 = 3.14;
//double d2 = 1.2;
//cout << d1 % d2 << endl; 两个小数不可以做取模运算
system("pause");
return 0;
}
运行结果
1
5
1.3 递增/递减运算符
前置和后置的区别在于前置是先加/减1后再进行其他的运算操作,后置是先进行其他运算后再加/减1。
#include <iostream>
using namespace std;
int main()
{
//3.递增递减运算
int a1 = 10;
int b1 = ++a1 * 2;//前置递增,先加1后进行运算
cout << "a1=" << a1 << endl;
cout << "b1=" << b1 << endl;
int a2 = 10;
int b2 = a2++ * 2;//后置递增,先进行运算后加1
cout << "a2=" << a2 << endl;
cout << "b2=" << b2 << endl;
int a3 = 10;
int b3 = --a3 * 2;//前置递减,先减1后进行运算
cout << "a3=" << a3 << endl;
cout << "b3=" << b3 << endl;
int a4 = 10;
int b4 = a4-- * 2;//后置递减,先进行运算后减1
cout << "a4=" << a4 << endl;
cout << "b4=" << b4 << endl;
system("pause");
return 0;
}
运行结果
a1=11
b1=22
a2=11
b2=20
a3=9
b3=18
a4=9
b4=20
2.赋值运算符
赋值运算符包括以下符号:
运算符 | 示例 | 结果 |
---|---|---|
= | a=1;b=a+2; | a=1;b=3; |
+= | a=1;a+=5; | a=6; |
-= | a=1;a-=5; | a=-4; |
*= | a=1;a*=5; | a=5; |
/= | a=8;a/=4; | a=2; |
%= | a=3;a%=2; | a=1; |
#include <iostream>
using namespace std;
int main()
{
//赋值运算
int a1 = 1;
int b1 = a1 + 2;//前置递增,先加1后进行运算
cout << "a1=" << a1 << endl;
cout << "b1=" << b1 << endl;
int a2 = 1;
a2 += 5; //a2+=5;-->a2=a2+5;
cout << "a2=" << a2 << endl;
system("pause");
return 0;
}
运行结果
a1=1
b1=3
a2=6
3.比较运算符
比较运算符包括以下符号:
运算符 | 示例 | 结果 |
---|---|---|
== | 1==2 | 0 |
!= | 1!=2 | 1 |
< | 1<2 | 1 |
> | 1>2 | 0 |
<= | 1<=2 | 1 |
>= | 1>=2 | 0 |
#include <iostream>
using namespace std;
int main()
{
//比较运算
int a = 1;
int b = 2;//前置递增,先加1后进行运算
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;
}
运行结果
0
1
0
1
0
1
4.逻辑运算符
逻辑运算符包括以下符号:
运算符 | 示例 | 结果 |
---|---|---|
!(非) | !a | 若a为假,则!a为真;若a为真,则!a为假; |
&&(与) | a&&b | 只有a和b都为真,才为真,否则为假 |
||(或) | a||b | 只有a和b都为假,才为假,否则为真 |
#include <iostream>
using namespace std;
int main()
{
//逻辑运算
int a = 3; //除了0都为真
int b = 10;
int c = 0;
int d = 0;
//非,取反
cout << !a << endl;
cout << !!a << endl;
//与,两个条件同时满足(为真)才为真
cout << (a && b) << endl;
cout << (a && c) << endl;
cout << (c && d) << endl;
//或,两个条件都不满足(为假)才为假
cout << (a || b) << endl;
cout << (a || c) << endl;
cout << (c || d) << endl;
system("pause");
return 0;
}
运行结果
0
1
1
0
0
1
1
0