在本章中,我们将深入探讨如何使用条件语句和逻辑运算符来控制程序流程。这不仅包括基本的 if
和 else
语句,还包括 switch
语句以及循环结构中的条件控制。理解这些概念是编写复杂逻辑和实现程序功能的关键。
if 语句
if
语句是最基础也是最常用的条件判断语句。它允许程序根据特定条件执行不同的代码块。
-- -------------------- ---- ------- -------- ---------- --- ------ - --- ------ - -- -- ------- - -- - --------- -- -------- -- ---------- - ------ -- -
多条件判断:if-else 语句
当需要根据条件的不同结果执行不同操作时,可以使用 if-else
结构。
-- -------------------- ---- ------- -------- ---------- --- ------ - --- ------ - --- -- ------- - -- - --------- -- -------- -- ---------- - ---- - --------- -- --------- -- ---------- - ------ -- -
多分支判断:if-else if-else 语句
当有多个互斥条件需要判断时,可以使用 if-else if-else
结构。
-- -------------------- ---- ------- -------- ---------- --- ------ - --- ------ - -- -- ------- - -- - --------- -- -------- -- ---------- - ---- -- ------- -- -- - --------- -- -------- -- ---------- - ---- - --------- -- -------- -- ---------- - ------ -- -
switch 语句
switch
语句提供了一种简洁的方式来处理多分支条件,特别是当条件基于同一个变量的不同值时。
-- -------------------- ---- ------- -------- ---------- --- ------ - --- --------- - -- ------ ----------- - ---- -- --------- -- ------ -- ---------- ------ ---- -- --------- -- ------ -- ---------- ------ ---- -- --------- -- ------ -- ---------- ------ -------- --------- -- ------- -- ---------- ------ - ------ -- -
使用默认分支
在 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++ 提供了多种方式来实现条件判断和逻辑控制。合理运用这些工具,可以帮助我们编写出更加灵活和高效的代码。