bool
类型结果(true
或 false
)。运算符 | 含义 | 示例 |
---|---|---|
== | 等于 | a == b |
!= | 不等于 | a != b |
> | 大于 | a > b |
< | 小于 | a < b |
>= | 大于等于 | a >= b |
<= | 小于等于 | a <= b |
bool
类型结果。运算符 | 含义 | 示例 | 结果说明 |
---|---|---|---|
&& | 逻辑与(且) | a && b | 当 a 和 b 均为 true 时返回 true |
|| | 逻辑与(或) | a || b | 当 a 和 b 有一个为 true 时返回 true |
! | 逻辑非(取反) | !a | 当 a 为 false 时返回 true ,反之亦然 |
if
语句)if (条件表达式) { // 条件为 true 时执行的代码块}
#include <iostream> #include <cstdio> using namespace std; int main() { int score = 85; if (score >= 60) { // 条件为 true 时执行 cout << "成绩合格!" << endl; } return 0;}
if-else
语句)if (条件表达式) { // 条件为 true 时执行的代码块} else { // 条件为 false 时执行的代码块}
#include <iostream> #include <cstdio> using namespace std; int main() { int score = 55; if (score >= 60) { cout << "成绩合格!" << endl; } else { // 条件为 false 时执行 cout << "成绩不合格!" << endl; } return 0;}
if-else if-else
语句)if (条件表达式1) { // 条件1为 true 时执行} else if (条件表达式2) { // 条件1为 false 且条件2为 true 时执行} else { // 所有条件均为 false 时执行}
#include <iostream> #include <cstdio> using namespace std; int main() { int score = 78; if (score >= 90) { cout << "等级:A" << endl; } else if (score >= 80) { // 条件1不满足时判断条件2 cout << "等级:B" << endl; } else if (score >= 60) { cout << "等级:C" << endl; } else { // 所有条件均不满足时执行 cout << "等级:D" << endl; } return 0;}
?:
)条件表达式 ? 表达式1 : 表达式2
若条件为 true
,返回 表达式 1 的值;
若条件为 false
,返回 表达式 2 的值。
#include <iostream> #include <cstdio> using namespace std; int main() { int a = 10, b = 20; int max = (a > b) ? a : b; // 等价于 if-else 结构 cout << "较大值:" << max << endl; return 0;}
switch-case
语句switch (表达式) { case 常量1: // 执行代码块1 break; // 跳出 switch case 常量2: // 执行代码块2 break; ... default: // 可选,所有 case 均不匹配时执行 // 执行代码块 break;}
case
后必须是常量表达式,且值必须唯一。
break
用于终止当前 case
的执行,避免穿透效应(若省略 break
,会继续执行下一个 case
)。
default
分支可选,相当于 if-else
中的 else
。
#include <iostream> #include <cstdio> using namespace std; int main() { int day = 3; switch (day) { case 1: cout << "星期一" << endl; break; case 2: cout << "星期二" << endl; break; case 3: cout << "星期三" << endl; // 匹配 day=3 break; // 跳出 switch default: cout << "未知日期" << endl; } return 0;}
八、分支结构对比
结构 | 适用场景 | 特点 |
---|---|---|
if | 单条件或简单双条件判断 | 灵活,可处理复杂表达式 |
if-else | 二选一的条件判断 | 清晰区分条件成立与不成立的场景 |
if-else if | 多条件互斥判断(连续区间) | 按顺序判断条件,适合范围比较(如成绩等级划分) |
switch | 多条件等值判断(离散值) | 效率更高,结构更清晰,但要求条件为离散值且必须是整型 / 字符型等可比较类型 |
三目运算符 | 简单条件赋值或表达式 | 语法简洁,适用于一行代码解决简单逻辑 |
有话要说...