在本章中,我们将深入探讨如何使用条件语句和逻辑运算符来控制程序流程。这不仅包括基本的 if 和 else 语句,还包括 switch 语句以及循环结构中的条件控制。理解这些概念是编写复杂逻辑和实现程序功能的关键。
if 语句
if 语句是最基础也是最常用的条件判断语句。它允许程序根据特定条件执行不同的代码块。
// www.javascriptcn.com code example
#include <iostream>
int main() {
int number = 5;
if (number > 0) {
std::cout << "数字大于零。" << std::endl;
}
return 0;
}多条件判断:if-else 语句
当需要根据条件的不同结果执行不同操作时,可以使用 if-else 结构。
// www.javascriptcn.com code example
#include <iostream>
int main() {
int number = -5;
if (number > 0) {
std::cout << "数字大于零。" << std::endl;
} else {
std::cout << "数字不大于零。" << std::endl;
}
return 0;
}多分支判断:if-else if-else 语句
当有多个互斥条件需要判断时,可以使用 if-else if-else 结构。
// www.javascriptcn.com code example
#include <iostream>
int main() {
int number = 0;
if (number > 0) {
std::cout << "数字大于零。" << std::endl;
} else if (number == 0) {
std::cout << "数字等于零。" << std::endl;
} else {
std::cout << "数字小于零。" << std::endl;
}
return 0;
}switch 语句
switch 语句提供了一种简洁的方式来处理多分支条件,特别是当条件基于同一个变量的不同值时。
// www.javascriptcn.com code example
#include <iostream>
int main() {
int dayOfWeek = 3;
switch (dayOfWeek) {
case 1:
std::cout << "星期一。" << std::endl;
break;
case 2:
std::cout << "星期二。" << std::endl;
break;
case 3:
std::cout << "星期三。" << std::endl;
break;
default:
std::cout << "非工作日。" << std::endl;
break;
}
return 0;
}使用默认分支
在 switch 语句中,default 分支用于处理所有未被其他 case 匹配的情况。
逻辑运算符
除了简单的比较外,我们还可以结合多个条件使用逻辑运算符来创建更复杂的判断逻辑。
逻辑与 (&&)
当且仅当所有条件都为真时,整个表达式才为真。
if (age >= 18 && age <= 65) {
// 成年人
}逻辑或 (||)
只要有一个条件为真,整个表达式就为真。
if (isStudent || isEmployee) {
// 是学生或员工
}逻辑非 (!)
用于反转布尔值。
if (!isLoggedIn) {
// 用户未登录
}循环中的条件判断
在循环结构中,如 for、while 和 do-while 中,条件判断同样重要。
while 循环
int counter = 0;
while (counter < 10) {
std::cout << "计数器: " << counter << std::endl;
++counter;
}for 循环
for (int i = 0; i < 10; ++i) {
std::cout << "计数器: " << i << std::endl;
}do-while 循环
int counter = 0;
do {
std::cout << "计数器: " << counter << std::endl;
++counter;
} while (counter < 10);通过上述示例,我们可以看到 C++ 提供了多种方式来实现条件判断和逻辑控制。合理运用这些工具,可以帮助我们编写出更加灵活和高效的代码。