1368 字
7 分钟
1.3运算符
2026-04-28

作用:用于执行代码的运算

本章我们主要讲解以下几类运算符:

运算符类型作用
算术运算符用于处理四则运算
赋值运算符用于将表达式的值赋给变量
比较运算符用于表达式的比较,并返回一个真值或假值
逻辑运算符用于根据表达式的值返回真值或假值

3.1 算术运算符#

作用:用于处理四则运算

算术运算符包括以下符号:

运算符术语示例结果
+正号+33
-负号-3-3
+10 + 515
-10 - 55
*10 * 550
/10 / 52
%取模(取余)10 % 31
++前置递增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: 加减乘除

#include<iostream>
int main() {
int a1 = 10;
int b1 = 3;
std::cout << a1 + b1 << std::endl;
std::cout << a1 - b1 << std::endl;
std::cout << a1 * b1 << std::endl;
std::cout << a1 / b1 << std::endl; //两个整数相除结果依然是整数
int a2 = 10;
int b2 = 20;
std::cout << a2 / b2 << std::endl;
int a3 = 10;
int b3 = 0;
//std::cout << a3 / b3 << std::endl; //报错,除数不可以为0
//两个小数可以相除
double d1 = 0.5;
double d2 = 0.25;
std::cout << d1 / d2 << std::endl;
return 0;
}

总结:在除法运算中,除数不能为0

示例2: 取模

#include<iostream>
int main() {
// 取模运算本质 求余数
int a1 = 10;
int b1 = 3;
std::cout << 10 % 3 << std::endl;
int a2 = 10;
int b2 = 20;
std::cout << a2 % b2 << std::endl;
int a3 = 10;
int b3 = 0;
//std::cout << a3 % b3 << std::endl; //取模运算时,除数也不能为0
//两个小数不可以取模
double d1 = 3.14;
double d2 = 1.1;
//std::cout << d1 % d2 << std::endl;
return 0;
}

总结:只有整型变量可以进行取模运算

示例3:递增

#include<iostream>
int main() {
//前置递增
int a = 10;
++a;
std::cout << a << std::endl; // 11
//后置递增
int b = 10;
b++; //等价于b = b + 1
std::cout << b << std::endl; // 11
//区别
//前置递增先对变量进行++,再计算表达式
int a2 = 10;
int b2 = ++a2 * 10;
std::cout << a2 << std::endl;
std::cout << b2 << std::endl;
//后置递增先计算表达式,后对变量进行++
int a3 = 10;
int b3 = a3++ * 10;
std::cout << a3 << std::endl;
std::cout << b3 << std::endl;
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;

示例

#include<iostream>
int main() {
//赋值运算符
// =
int a = 10;
a = 100;
std::cout << "a = " << a << std::endl;
// +=
a = 10;
a += 2; // a = a + 2;
std::cout << "a = " << a << std::endl;
// -=
a = 10;
a -= 2; // a = a - 2
std::cout << "a = " << a << std::endl;
// *=
a = 10;
a *= 2; // a = a * 2
std::cout << "a = " << a << std::endl;
// /=
a = 10;
a /= 2; // a = a / 2;
std::cout << "a = " << a << std::endl;
// %=
a = 10;
a %= 2; // a = a % 2;
std::cout << "a = " << a << std::endl;
return 0;
}

3.3 比较运算符#

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

比较运算符有以下符号:

运算符术语示例结果
==相等于4 == 30
!=不等于4 != 31
<小于4 < 30
>大于4 > 31
<=小于等于4 <= 30
>=大于等于4 >= 11

示例:

#include<iostream>
int main() {
// 比较运算符
int a = 10;
int b = 20;
// ==
std::cout << (a == b) << std::endl; // 0
// !=
std::cout << (a != b) << std::endl; // 1
// >
std::cout << (a > b) << std::endl; // 0
// <
std::cout << (a < b) << std::endl; // 1
// >=
std::cout << (a >= b) << std::endl; // 0
// <=
std::cout << (a <= b) << std::endl; // 1
return 0;
}

注意:C和C++ 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示。

3.4 逻辑运算符#

作用:用于根据表达式的值返回真值或假值

逻辑运算符有以下符号:

运算符术语示例结果
!!a如果a为假,则!a为真; 如果a为真,则!a为假。
&&a && b如果a和b都为真,则结果为真,否则为假。
||a || b如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

示例1:逻辑非

#include<iostream>
int main() {
//逻辑运算符 --- 非 !
int a = 10;
// C++ 中除了0全是真
std::cout << !a << std::endl; // 0
std::cout << !!a << std::endl; // 1
return 0;
}

总结: 真变假,假变真

示例2:逻辑与

#include<iostream>
int main() {
//逻辑运算符 --- 与 &&
int a = 10;
int b = 10;
std::cout << (a && b) << std::endl;// 1
a = 10;
b = 0;
std::cout << (a && b) << std::endl;// 0
a = 0;
b = 0;
std::cout << (a && b) << std::endl;// 0
return 0;
}

总结:逻辑运算符总结: 同真为真,其余为假

示例3:逻辑或

#include<iostream>
int main() {
//逻辑运算符 --- 或 ||
int a = 10;
int b = 10;
std::cout << (a || b) << std::endl;// 1
a = 10;
b = 0;
std::cout << (a || b) << std::endl;// 1
a = 0;
b = 0;
std::cout << (a || b) << std::endl;// 0
return 0;
}

逻辑运算符总结: 同假为假,其余为真

评论