一、双分支的基本语法结构
双分支结构,也称为if-else语句,其基本语法如下:
if (判断表达式) {
// 条件为真时执行的代码块
} else {
// 条件为假时执行的代码块
}
说明:
- 判断表达式是一个布尔表达式,它的值为真(true)或假(false)。
- 如果判断表达式的值为真,执行if后面的代码块;如果判断表达式的值为假,执行else后面的代码块。
- if和else后面的代码块用大括号{ }括起来,表示一个代码块。
- 如果if或else后面只有一条语句,可以省略大括号。但为了提高代码的可读性,建议始终使用大括号。
例如:
#include <iostream>
using namespace std;
int main() {
int a = 10;
if (a > 0) {
// 如果a大于0,执行这个代码块
cout << "a是正数。" << endl;
} else {
// 如果a不大于0,执行这个代码块
cout << "a不是正数。" << endl;
}
return 0;
}
在这个例子中,条件a > 0
为真,所以会执行if后面的代码块,输出"a是正数。"。
二、逻辑运算符
运算符 | 描述 | 示例 | 结果 |
---|---|---|---|
&& | 逻辑与:如果两个操作数都非零,则条件为真。 | (a > 10) && (b < 20) | 如果 a 大于 10 且 b 小于 20,则为真。 |
|| | 逻辑或:如果两个操作数中有任意一个非零,则条件为真。 | (a > 10) || (b < 20) | 如果 a 大于 10 或 b 小于 20,则为真。 |
! | 逻辑非:用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 | !(a > 10) | 如果 a 不大于 10,则为真。 |
> | 大于:如果左操作数大于右操作数,则条件为真。 | a > b | 如果 a 大于 b,则为真。 |
>= | 大于等于:如果左操作数大于或等于右操作数,则条件为真。 | a >= b | 如果 a 大于或等于 b,则为真。 |
< | 小于:如果左操作数小于右操作数,则条件为真。 | a < b | 如果 a 小于 b,则为真。 |
<= | 小于等于:如果左操作数小于或等于右操作数,则条件为真。 | a <= b | 如果 a 小于或等于 b,则为真。 |
!= | 不等于:如果两个操作数不相等,则条件为真。 | a != b | 如果 a 不等于 b,则为真。 |
知识点总结:
- 逻辑运算符用于组合或否定布尔表达式的结果。
- C++中有三种逻辑运算符:与(&&)、或(||)、非(!)。
- && 运算符:当两个操作数都为真时,结果为真;否则为假。
- || 运算符:当至少一个操作数为真时,结果为真;否则为假。
- ! 运算符:对操作数取反,真变假,假变真。
- 逻辑运算符的优先级:! > && > ||
- 逻辑运算符的操作数必须是布尔类型或者可以隐式转换为布尔类型。
- 关系运算符包括大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、不等于(!=)。
- 关系运算符用于比较两个操作数,返回一个布尔值。
- 关系运算符的优先级:> >= < <= !=
示例代码:
#include <iostream>
using namespace std;
int main() {
int a = 15, b = 10, c = 20;
// 逻辑与 (&&)
if ((a > 10) && (b < 20)) {
cout << "a 大于 10 且 b 小于 20" << endl;
}
// 逻辑或 (||)
if ((a > 20) || (b < 20)) {
cout << "a 大于 20 或 b 小于 20" << endl;
}
// 逻辑非 (!)
if (!(a > 20)) {
cout << "a 不大于 20" << endl;
}
// 大于 (>)
if (a > b) {
cout << "a 大于 b" << endl;
}
// 大于等于 (>=)
if (a >= 15) {
cout << "a 大于或等于 15" << endl;
}
// 小于 (<)
if (b < a) {
cout << "b 小于 a" << endl;
}
// 小于等于 (<=)
if (b <= 10) {
cout << "b 小于或等于 10" << endl;
}
// 不等于 (!=)
if (a != c) {
cout << "a 不等于 c" << endl;
}
// 组合使用
if ((a > b) && (a < c) && (b != c)) {
cout << "a 大于 b,a 小于 c,且 b 不等于 c" << endl;
}
return 0;
}
这个示例代码涵盖了表格中提到的所有运算符:
- 逻辑与 (&&)
- 逻辑或 (||)
- 逻辑非 (!)
- 大于 (>)
- 大于等于 (>=)
- 小于 (<)
- 小于等于 (<=)
- 不等于 (!=)