C++ 零基础教程 - 第 6 讲 常用运算符教程
一、开篇导入(衔接上一讲,零基础易懂)
上一讲我们学会了变量和3种基础常用数据类型(int、double、std::string),知道了如何定义、修改和使用变量——就像我们已经有了“装数据的盒子”。但只有盒子还不够,我们还需要学会“操作盒子里的数据”:比如用两个变量做加减乘除、判断两个变量的大小、判断两个条件是否同时成立,这些操作就需要用到运算符。
本讲我们将讲解4类零基础必学的常用运算符,全程极简、不绕弯,只讲核心用法,搭配简单代码示例(可直接复制运行),结合上一讲的变量知识,让你快速上手,为后续编写复杂程序打下基础。
温馨提示:本讲重点记“运算符的作用”和“基础用法”,不用死记语法,结合代码练习,就能轻松掌握;所有代码均延续上一讲风格,无复杂内容,零基础可直接套用。
二、本讲核心目标(明确重点,不浪费时间)
-
掌握算术运算符:会用 +、-、*、/、% 操作变量(重点区分 / 和 % 的用法);
-
掌握赋值运算符:会用 =、+=、-= 给变量赋值、简化变量修改操作;
-
掌握比较运算符:会用 >、<、==、!= 判断两个变量的大小/是否相等;
-
了解逻辑运算符:极简掌握 &&(并且)、||(或者)的核心用法,能判断简单条件。
三、核心知识点1:算术运算符(最常用,必学)
算术运算符,就是用来做“数学运算”的符号,和我们生活中的加减乘除完全一致,额外新增一个“取余数”运算符 %,重点用于整数运算,double类型也可使用加减乘除(% 不常用)。
1. 5种算术运算符总结(表格清晰,记牢)
| 运算符 | 作用 | 示例(结合变量,int a=10, b=3) | 结果 |
|---|---|---|---|
| + | 加法运算 | int sum = a + b; | sum = 13 |
| - | 减法运算 | int diff = a - b; | diff = 7 |
| * | 乘法运算 | int product = a * b; | product = 30 |
| / | 除法运算(重点) | int div1 = a / b;(整数/整数) | |
| double div2 = 10.0 / 3;(小数/整数) | div1 = 3(取整数部分) | ||
| div2 ≈ 3.333 | |||
| % | 取余数运算(重点) | int mod = a % b;(仅用于整数) | mod = 1(10除以3,余数是1) |
2. 关键提醒(新手避坑)
-
除法 /:两个整数相除,结果只保留整数部分,不四舍五入(比如 10/3=3,不是3.333);只要有一个数是小数(double类型),结果就是小数。
-
取余数 %:只能用于整数运算(int类型),不能用于double类型(比如 10.5%3 会报错);余数的符号和第一个数一致(比如 10%3=1,-10%3=-1)。
-
算术运算符可以直接用变量、常量,也可以嵌套使用(比如 (a + b) * 2)。
3. 实战示例(直接复制运行)
结合上一讲的变量知识,用代码演示所有算术运算符的用法,重点观察除法和取余数的区别:
#include
int main() {
// 定义两个整数变量,用于演示算术运算符
int a = 10;
int b = 3;
// 1. 加减乘运算
int sum = a + b;
int diff = a - b;
int product = a * b;
// 2. 除法运算(整数/整数、小数/整数)
int div_int = a / b; // 整数相除,取整数部分
double div_double = 10.0 / b; // 小数相除,保留小数
// 3. 取余数运算(仅整数)
int mod = a % b;
// 打印所有结果
std::cout << "a + b = " << sum << std::endl;
std::cout << "a - b = " << diff << std::endl;
std::cout << "a * b = " << product << std::endl;
std::cout << "a / b = " << div_int << std::endl;
std::cout << "10.0 / b = " << div_double << std::endl;
std::cout << "a % b = " << mod << std::endl;
return 0;
}
运行结果:
a + b = 13
a - b = 7
a * b = 30
a / b (整数相除) = 3
10.0 / b (小数相除) = 3.33333
a % b (取余数) = 1
新手练习:修改a和b的值(比如a=15,b=4),运行代码,观察除法和取余数的结果变化,加深理解。
四、核心知识点2:赋值运算符(简化变量操作,必学)
赋值运算符,核心作用是“给变量赋值”,上一讲我们已经用到了最基础的 =,本讲新增 +=、-= 两种简化用法,能减少代码量,让变量修改更简洁,零基础重点掌握这3种即可。
1. 3种赋值运算符总结(重点记简化用法)
| 运算符 | 作用(核心简化逻辑) | 简化写法(int a=10) | 等价写法(和上面完全一样) |
|---|---|---|---|
| = | 基础赋值:给变量赋新值 | a = 20; | 无(本身就是最简) |
| += | 加后赋值:变量自身加一个数,再赋给自己 | a += 5; | a = a + 5; |
| -= | 减后赋值:变量自身减一个数,再赋给自己 | a -= 3; | a = a - 3; |
2. 关键提醒(新手避坑)
-
赋值运算符是“从右往左”赋值,比如 a = 10; 是把10赋给a,不是把a赋给10;
-
+=、-= 是“自身运算后赋值”,必须先定义变量(有初始值),才能使用(比如直接写 a +=5; 会报错,需先写 int a=10;);
-
+=、-= 后面可以是常量,也可以是变量(比如 a += b; 等价于 a = a + b;)。
3. 实战示例(直接复制运行)
演示赋值运算符的基础用法和简化用法,对比简化写法和等价写法的效果(完全一致):
#include
int main() {
// 定义变量,给初始值(赋值运算符的前提)
int a = 10;
int b = 5;
// 1. 基础赋值 =
a = 15; // 把15赋给a,a的值从10变成15
std::cout << "a = 15, a = " << a << std::endl;
// 2. 简化赋值 +=
a += b; // 等价于 a = a + b; 此时a=15+5=20
std::cout << "a += b, a = " << a << std::endl;
// 3. 简化赋值 -=
a -= 3; // 等价于 a = a - 3; 此时a=20-3=17
std::cout << "a -= 3, a = " << a << std::endl;
// 演示:+= 也可以用常量
a += 8; // 等价于 a = a + 8; 此时a=17+8=25
std::cout << "a += 8, a = " << a << std::endl;
return 0;
}
运行结果:
a = 15, a = 15
a += b, a = 20
a -= 3, a = 17
a += 8, a = 25
新手练习:定义变量 int score=85;,用 += 给score加5,用 -= 给score减3,打印最终结果(预期结果87)。
五、核心知识点3:比较运算符(判断大小/相等,必学)
比较运算符,核心作用是“判断两个值的关系”,比如判断a是否大于b、a是否等于b,判断结果只有两种:真(true) 或 假(false),后续写判断逻辑(比如“如果成绩大于60,就是及格”)会频繁用到。
零基础重点掌握4种比较运算符,记住“== 是等于,= 是赋值”(新手最易混淆)。
1. 4种比较运算符总结
| 运算符 | 作用 | 示例(int a=10, b=3) | 判断结果(真/假) |
|---|---|---|---|
| > | 判断左边是否大于右边 | a > b | 真(10>3成立) |
| < | 判断左边是否小于右边 | a < b | 假(10<3不成立) |
| == | 判断左边是否等于右边(重点) | a == b、a == 10 | ab假,a10真 |
| != | 判断左边是否不等于右边 | a != b、a != 10 | a!=b真,a!=10假 |
2. 关键提醒(新手避坑,重中之重)
- ==(等于)和 =(赋值)完全不同,不能混用:
✅ 正确:判断a是否等于10 → a == 10;
❌ 错误:判断a是否等于10 → a = 10;(这是赋值,不是判断)
-
比较运算符的结果是“真/假”,在C++中,用1表示真,0表示假(打印时可直接看到);
-
比较运算符常用于判断条件,后续我们会结合“if语句”详细讲解,本讲先掌握“如何判断”即可。
3. 实战示例(直接复制运行)
演示比较运算符的用法,打印判断结果(1表示真,0表示假),重点区分 == 和 =:
#include
int main() {
int a = 10;
int b = 3;
// 打印所有比较运算符的结果(1=真,0=假)
std::cout << "a > b = " << (a > b) << std::endl;
std::cout << "a < b = " << (a < b) << std::endl;
std::cout << "a == b = " << (a == b) << std::endl;
std::cout << "a == 10 = " << (a == 10) << std::endl;
std::cout << "a != b = " << (a != b) << std::endl;
std::cout << "a != 10 = " << (a != 10) << std::endl;
// 重点提醒:不要混用 == 和 =
std::cout << "a = 3, result = " << (a = 3) << std::endl;
// 此时a的值已经被改成3,因为上面是赋值操作,不是判断
return 0;
}
运行结果:
a > b = 1
a < b = 0
a == b = 0
a == 10 = 1
a != b = 1
a != 10 = 0
a = 3, result = 3
新手练习:定义变量 int score=85;,判断 score > 60、score == 85、score != 90 的结果,打印出来。
六、核心知识点4:逻辑运算符(极简讲解,够用即可)
逻辑运算符,核心作用是“判断多个条件的组合关系”,零基础只需要掌握两种:&&(并且)、||(或者),不用深入理解,记住核心逻辑,能判断简单组合条件即可。
1. 2种逻辑运算符总结(极简版)
| 运算符 | 核心逻辑(极简记忆) | 示例(int a=10, b=3, c=5) | 结果(真/假) |
|---|---|---|---|
| & | 并且:两个条件都成立,结果才是真;有一个不成立,就是假 | (a > b) && (a > c)(10>3 并且 10>5) | 真(1) |
| 或者:两个条件有一个成立,结果就是真;两个都不成立,才是假 |
2. 关键提醒(极简避坑)
-
&&(并且):要求“所有条件都满足”,比如“成绩>60 并且 成绩<100”,只有成绩在60-100之间,结果才是真;
-
||(或者):要求“至少一个条件满足”,比如“成绩<60 或者 成绩>90”,成绩不及格或优秀,结果都是真;
-
多个条件组合时,用括号 () 把每个条件括起来,更清晰(比如上面的示例)。
3. 实战示例(直接复制运行)
极简演示逻辑运算符的用法,结合比较运算符,判断组合条件:
#include
int main() {
int score = 85;
// 1. &&(并且):成绩>60 并且 成绩<100(及格且不是满分)
bool pass_and_not_full = (score > 60) && (score < 100);
// 2. ||(或者):成绩<60 或者 成绩>90(不及格或优秀)
bool fail_or_excellent = (score < 60) || (score > 90);
// 打印结果(1=真,0=假)
std::cout << "(score > 60) && (score < 100) = " << pass_and_not_full << std::endl;
std::cout << "(score < 60) || (score > 90) = " << fail_or_excellent << std::endl;
return 0;
}
运行结果:
(score > 60) && (score < 100) = 1
(score < 60) || (score > 90) = 0
新手练习:修改score的值为55、95,分别运行代码,观察逻辑运算符的结果变化。
七、新手常见问题排查(避坑指南)
-
问题1:除法运算结果不符合预期(比如10/3=3,不是3.333) → 解决方案:确保至少有一个操作数是double类型(比如10.0/3,不是10/3)。
-
问题2:取余数%报错 → 解决方案:%只能用于int类型,不能用于double类型(比如10.5%3会报错,改成10%3即可)。
-
问题3:混用==和=,判断结果出错 → 解决方案:记住“判断等于用==,赋值用=”,比如判断a是否等于10,写a==10,不是a=10。
-
问题4:逻辑运算符&&、||结果不符合预期 → 解决方案:用括号()括起每个条件,确保条件组合正确(比如(a>b)&&(a>c),不要漏写括号)。
-
问题5:+=、-=报错 → 解决方案:使用前必须先定义变量并赋初始值(比如先写int a=10;,再写a+=5;)。
八、动手练一练(巩固本讲内容,必做)
结合本讲运算符和上一讲变量知识,完成以下练习,建议实际编写代码运行,巩固所有知识点:
-
定义int a=12, b=4;,用算术运算符计算a+b、a-b、a*b、a/b、a%b,打印所有结果;
-
用赋值运算符:给a赋新值20,用a+=b修改a的值,用a-=3修改a的值,打印最终a的值;
-
定义int score=78;,用比较运算符判断score>60、score==78、score!=80,打印判断结果;
-
用逻辑运算符判断:(score>60)&&(score<80)、(score<60)||(score>90),打印判断结果。
九、本讲小结
-
算术运算符:重点掌握 +、-、*、/、%,记住整数除法取整数部分,%仅用于整数;
-
赋值运算符:核心 =,简化用法 +=、-=,记住 += 等价于 a=a+…,-= 等价于 a=a-…;
-
比较运算符:重点区分 == 和 =,判断结果只有真(1)和假(0);
-
逻辑运算符:极简掌握 &&(并且,都成立才真)、||(或者,一个成立就真);







