0%

C++运算符

1.运算符类型

运算运算符:用于四则运算

赋值运算符:用于表达式的值赋给变量

比较运算符:用于表达式的比较,并返回一个真值或假值

逻辑运算符:用于根据表达式的值返回真值或假值

2.算术运算符

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 1+1 2
- 1-1 0
* 2*3 6
/ 6*3 2
% 取模(取余) 5%3 2
++ 前置递增 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;

int main()
{
int a = 2;
int b = 3;
cout<<a+b<<endl;
cout<<a-b<<endl;
cout<<a/b<<endl;//C++规定,两个整数相除,结果仍然为整数,会舍去剩下的小数

double c = 3.14;
double d = 4.23;//此处也可写为 double c=3.14,d=4.23;
cout<<c/d<<endl;//该结果为小数


return 0;
}

除法运算和取模运算的除数不能为0

取模运算如下

1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
using namespace std;

int main()
{
int a=4,b=3;
cout<<a%b<<endl;
//注意:取模运算不能为小数



return 0;
}

前/后置递增/减如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;

int main()
{
int b = 3;
int a = ++b*10;//先加1后参与运算
cout<<a<<endl;
int b =3;
int c = b++*10;//先参与运算再加1
cout<<c<<endl;


return 0;

}

3.赋值运算符

运算符 术语 示例 结果
= 赋值 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
#include<iostream>
using namespace std;

int main()
{
int a =0;//该处也可用 int a; 来引入变量a
a = 10;
cout<<a<<ednl;

a=10;
a+=2;//表示a=a+2
cout<<a<<endl;

a=10;
a-=2;//表示a=a-2
cout<<a<<endl;

a=10;
a%=3;//表示a=a%3
cout<<a<<endl;

return 0;
}

4.比较运算符

作用:用于表达式的比较,并返回真假值

运算符 术语 示例 结果
== 相等于 4==3 0
!= 不等于 4!=3 1
< 小于 4<3 0
> 大于 4>3 1
<= 小于等于 4<=3 0
>= 大于等于 4>=3 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;

int main()
{
int a=4,b=3;
cout<<(a==b)<<endl;//此处没有括号不对,括号表示优先运算,初学者可以看成一种语法
cout<<(a!=b)<<endl;
cout<<(a>b)<<endl;
cout<<(a<=b)<<endl;


return 0;

}

5.逻辑运算符

运算符 术语 示例 结果
! !a 与a的真假相反
&& a&&b a和b均为真时为真,否则为假
|| a||b a和b中有一个真即为真,否则为假

示例如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;

int main()
{
int a=10;
cout<<!a<<endl;//在C++中的数字,除了0其余都为真
cout<<!!a<<endl;//该值为真,即为1



int b=0;
cout<<(a&&b)<<endl;//注意该处的优先运算括号
b=1;
cout<<(a&&b)<<endl;


a=1,b=0;
cout<<(a||b)<<endl;


return 0;
}