学习笔记03
在C++编程中,运算符、表达式和条件语句是非常重要的基础知识。它们允许我们对数据进行操作、进行条件判断和控制程序的执行流程。本篇笔记将介绍C++中常用的运算符、表达式和条件语句,并通过经典案例进行说明。
1️⃣ 运算符
✨ 算术运算符
C++提供了常见的算术运算符,用于执行基本的算术操作,包括加法、减法、乘法和除法等。
下表显示了 C++ 支持的算术运算符。
设变量 num_1 = 10,变量 num_2 = 20,则:
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两边变量的值相加 | num_2 + num_1 将得到 30 |
- | 从第一个变量的值中减去第二个变量的值 | num_2 - num_1 将得到 -10 |
* | 把两个变量的值相乘 | num_2 * num_1 将得到 200 |
/ | 把两个变量的值相除 | num_1 / num_2 将得到 2 |
% | 取模运算符,整除后的余数 | num_1 % num_2 将得到 0 |
++ | 自增运算符,整数值增加 1 | num_2++ 将得到 11 |
– | 自减运算符,整数值减少 1 | num_2-- 将得到 9 |
✨ 赋值运算符
赋值运算符用于将一个值赋给变量,常用的赋值运算符是 =
。
#include <iostream>
int main() {
int a = 10;
int b;
b = a;
std::cout << "b的值为:" << b << std::endl;
return 0;
}
输出结果:
b的值为:10
✨ 比较运算符
比较运算符用于比较两个值的大小关系,结果为布尔类型(true
或false
)。
下表显示了 C++ 支持的关系运算符。
假设变量 num_2 的值为 10,变量 num_1 的值为 20,则:
运算符 | 描述 | 实例 |
---|---|---|
== | 判断两个边的值是否相等,如果相等则条件为真。 | (num_2 == num_1) 不为真。 |
!= | 判断两个边的值是否相等,如果不相等则条件为真。 | (num_2 != num_1) 为真。 |
> | 判断左边的值是否大于右边的值,如果是则条件为真。 | (num_2 > num_1) 不为真。 |
< | 判断左边的值是否小于右边的值,如果是则条件为真。 | (num_2 < num_1) 为真。 |
>= | 判断左边的值是否大于或等于右边的值,如果是则条件为真。 | (num_2 >= num_1) 不为真。 |
<= | 判断左边的值是否小于或等于右边的值,如果是则条件为真。 | (num_2 <= num_1) 为真。 |
✨ 逻辑运算符
逻辑运算符用于进行逻辑操作,常用的逻辑运算符包括与(&&
)、或(||
)和非(!
)。
下表显示了 C++ 支持的关系逻辑运算符。
运算符 | 描述 |
---|---|
&& | 逻辑与运算符。如果两个边都 true,则条件为 true。 |
|| | 逻辑或运算符。如果两个边中有任意一个 true,则条件为 true。 |
! | 逻辑非运算符。用来逆转边的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。 |
(条件表达式1 && 条件表达式2)
条件表达式1 | 条件表达式2 | &&运算结果 |
---|---|---|
成立 | 成立 | 成立 |
不成立 | 成立 | 不成立 |
成立 | 不成立 | 不成立 |
不成立 | 不成立 | 不成立 |
(条件表达式1 || 条件表达式2)
条件表达式1 | 条件表达式2 | ||运算结果 |
---|---|---|
成立 | 成立 | 成立 |
不成立 | 成立 | 成立 |
成立 | 不成立 | 成立 |
不成立 | 不成立 | 不成立 |
!(条件表达式)
条件表达式 | !运算结果 |
---|---|
成立 | 不成立 |
不成立 | 成立 |
复合运算符
下表显示了 C++ 支持的部分复合运算符。
运算符号 | 例子 | 等价于 |
---|---|---|
+= | a+=10; | a=a+10 |
-= | a-=10; | a=a-10 |
*= | a*=10; | a=a*10 |
/= | a/=10; | a=a/10 |
%= | a%=10; | a=a%10 |
#include <iostream>
int main() {
bool a = true;
bool b = false;
bool result1 = a && b;
bool result2 = a || b;
bool result3 = !a;
std::cout << "a与b的逻辑与:" << result1 << std::endl;
std::cout << "a与b的逻辑或:" << result2 << std::endl;
std::cout << "a的逻辑非:" << result3 << std::endl;
return 0;
}
输出结果:
a与b的逻辑与:0
a与b的逻辑或:1
a的逻辑非:0
2️⃣ 表达式
在C++中,表达式是由运算符、操作数和函数调用组成的组合。通过使用表达式,我们可以进行各种计算和操作。
#include <iostream>
int main() {
int a = 5;
int b = 3;
int c = 2;
int result1 = a * (b + c);
int result2 = (a - b) / c;
std::cout << "result1的值为:" << result1 << std::endl;
std::cout << "result2的值为:" << result2 << std::endl;
return 0;
}
输出结果:
result1的值为:25
result2的值为:1
3️⃣ 条件语句
条件语句用于根据不同的条件执行不同的代码块。C++提供了 if
、else if
和 else
来构建条件语句。
条件分支结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。
下面是大多数编程语言中典型的判断结构的一般形式:
①双分支
if(条件表达式){
}else{
}
②多分支
if(条件表达式1){
}else if(条件表达式2){
}else if(条件表达式3){
}else{
}
else if
可以连续接任意多个。但每个if
语句最多只能有一个对应的else
语句。
#include <iostream>
int main() {
int age;
std::cout << "请输入你的年龄:";
std::cin >> age;
if (age >= 18) {
std::cout << "你已经成年了!" << std::endl;
} else if (age >= 13) {
std::cout << "你是青少年!" << std::endl;
} else {
std::cout << "你还是个孩子!" << std::endl;
}
return 0;
}
输出结果示例:
请输入你的年龄:21
你已经成年了!
在上述案例中,首先获取用户输入的年龄,然后使用条件语句判断用户的年龄段,并输出相应的消息。
🌟 经典案例:计算器程序
通过一个经典案例来综合应用前面介绍的知识。创建一个简单的计算器程序,用户可以输入两个数字和一个运算符,程序会根据运算符执行相应的计算并输出结果。
#include <iostream>
int main() {
double num1, num2;
char op;
std::cout << "请输入第一个数字:";
std::cin >> num1;
std::cout << "请输入运算符:";
std::cin >> op;
std::cout << "请输入第二个数字:";
std::cin >> num2;
double result;
if (op == '+') {
result = num1 + num2;
} else if (op == '-') {
result = num1 - num2;
} else if (op == '*') {
result = num1 * num2;
} else if (op == '/') {
result = num1 / num2;
} else {
std::cout << "无效的运算符!" << std::endl;
return 0;
}
std::cout << "结果:" << result << std::endl;
return 0;
}
在上述案例中,首先获取用户输入的两个数字和一个运算符,然后使用条件语句判断运算符,并执行相应的计算。最后,将计算结果输出到控制台。
这是C++基础语法中运算符、表达式和条件语句的学习笔记。