3 运算符
作用:执行代码运算功能;
运算符类型 | 作用 |
---|---|
算数运算符 | 用于处理四则运算 |
赋值运算幅 | 用于将表达式赋值给变量 |
比较运算符 | 用于表达式的比较,返回一个真值或者假值 |
逻辑运算符 | 用于根据表达式返回真值或者假值 |
3.1 算数运算符
作用:处理四则运算
算数运算符
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | -2 | -2 |
+ | 加号 | 2+3 | 5 |
- | 减号 | 2-3 | -1 |
* | 乘号 | 2*3 | 6 |
/ | 除号 | 6/3 | 2 |
注意
- int类型变量除int类型变量结果为整数部分,小数部分去除。
- 小数部分去除,除数不能为0
- 两个小数可以相除,结果仍为小数
int a = 10;
int b = 3;
cout << "a/b=" << a / b << endl;//结果为3
//整数除整数结果仍为整数;除数不能为0;
cout << "a-b=" << a - b << endl;//结果为7
cout << "a+b=" << a + b << endl;//结果为13
cout << "a*b=" << a * b << endl;//结果为30
cout << "a/b的余数为" << a % b << endl;//结果为1
double c = 0.5;
double d = 0.25;
double f = 0.23;
cout << c / d << endl;//浮点型除浮点型结果为2
cout << c / f << endl;//浮点型除浮点型结果为2.17391
取余运算符
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
% | 取模(取余数) | 10%3 | 1 |
注意 取模(取余数)运算:只有整数可以取余数运算,且除数不能为0;
int a1 = 10;
int b1 = 3;
cout << a1 % b1 << endl;//结果为1
int a2 = 10;
int b2 = 20;
cout << a2 % b2 << endl;//结果为10
int a3 = 10;
int b3 = 0;
//cout << a3 % b3 << endl;//除数不能为0 会报错
double a4 = 1.1;
double b4 = 0.55;
//cout << a4 % b4 << endl;//小数取模运算会报错
递增递减运算符
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
++ | 前置递增 | 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; |
注意: 前置递增或者递减运算符:先变量递增或者递减,更新变量进行运算;
后置递增或者递减运算符:先进行表达式的运算,后进行变量的更新,未更新的变量进行运算。
//前置递增
int a = 2;
++a;//变量+1
cout << "a=" << a << endl;
//后置递增
int b = 2;
b++;//变量+1
cout << "b=" << b << endl;
//区别前置递增和后置递增
//前置:先进行变量加一,后进行表达式的运算
//后置:先进行表达式的运算,后进行变量加一
//表达式中前置递增
int a1= 4;
int b1 = ++a1 * 10;
cout << "a1=" << a1 << endl;//结果为5
cout << "b1=" << b1 << endl;//结果为50
//表达式中后置递增
int a2 = 4;
int b2 = a2++ * 10;
cout << "a2=" << a2 << endl;//结果为5
cout << "b2=" << b2 << endl;//结果为40
3.2 赋值运算符号
作用:表达式的值赋予变量==(变量执行算数运算,更新变量)==
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
= | 赋值 | a=2;b=3; | a=2;b=3; |
+= | 加等于 | a=3;a+=2; | a=5; |
-= | 减等于 | a=3;a-=2; | a=1; |
*= | 乘等于 | a=3;a*=2; | a=6; |
/= | 除等于 | a=3;a/=2; | a=1; |
%= | 模等于 | a=3;a%=2; | a=1; |
// 赋值 运算符号
int a1 = 3;
int b1 = a1;
cout << b1 << endl;//输出3
int a2 = 3;
a2 += 2;
cout << a2 << endl;//输出 5
int a3 = 3;
a3 -= 2;
cout << a3<< endl;//输出 1
int a4 = 3;
a4 *= 2;
cout << a4 << endl;//输出 6
int a5 = 3;
a5 /= 2;
cout << a5 << endl;//输出 1
int a6 = 3;
a6 %= 2;
cout << a6 << endl;//输出 1
3.3 比较运算符
作用:表达式的比较,返回真值或者假值(判断变量的大小关系)
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
== | 相等于 | 2==3 | 0 |
!= | 不等于 | 2!=3 | 1 |
< | 小于 | 2<3 | 1 |
> | 大于 | 2>3 | 0 |
<= | 小于等于 | 2<=3 | 1 |
>= | 大于等于 | 2>=3 | 0 |
int a = 2;
int b = 3;
cout <<(a==b)<< endl;//结果为0
cout << (a != b) << endl;//结果为1
cout << (a < b) << endl;//结果为1
cout << (a > b) << endl;//结果为0
cout << (a <= b) << endl;//结果为1
cout << (a >= b) << endl;//结果为0
注意: cout 输出时要在比较运算表达式加() 保证比较运算优先级;
3.4 逻辑运算符
作用: 根据表达式返回真值或者假值(与或非)
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
! | 非 | !(True) | False(取反值) |
&& | 与 | (True)&&(True) | True(串联) |
|| | 或 | (False)||(false) | False(并联) |
注意:c++ 中除了零的数字都是真;
// 逻辑运算符
int a = 2;
int b = 3;
int c = 0;
int d= 0;
cout <<!a << endl;//非运算 非真 0
cout << !!a << endl;//非运算 非(非真) 1
cout << (a && b) << endl;// 与运算 真&&真 1
cout << (a && c) << endl;// 与运算 真&&假 0
cout << (a || b) << endl;// 或运算 真||真 1
cout << (a || c) << endl;//或运算 真||假 1
cout << (c || d) << endl;//或运算 假||假 0
注意: cout 输出时要在逻辑运算表达式加() 保证比较运算优先级;