在 C++ 中实现具有多个条件的 if 语句
C++ 逻辑运算符 &&
或 ||
可在 if 语句中使用以同时检查多个条件。
本文将详细讨论如何在 C++ 中使用具有多个条件的 if 语句,并结合相关示例。
在 C++ 中实现具有多个条件的 if 语句
在 C++ 中,我们可以通过两种方式拥有多个 if 语句。 一个程序中可以有嵌套的 if 语句和多个 if 语句来检查不同的条件。
我们来详细讨论这两个案例。
可能存在这样的情况:我们需要使用嵌套的 if 语句来检查多个条件。 例如,假设我们要检查一个数字是否在 45 到 60 之间。
使用嵌套 if 语句检查给定条件的代码如下所示:
//演示嵌套 if 语句的 C++ 程序
#include <iostream>
using namespace std;
int main()
{
cout << "Enter a number: ";
int num;
cin >> num;
if (num > 45 )
{
if(num < 60)
{
cout << "Entered number is between 45 and 60";
}
else
{
"Entered number is not in between 45 and 60";
}
}
else
cout << "Entered number is not in between 45 and 60";
return 0;
}
在这里,我们以嵌套 if 语句的形式对每个条件使用一个 if 语句。 在嵌套的if语句中,我们需要编写更长的代码。
相反,我们可以在单个 if 语句中使用多个逻辑 && 运算符,以使代码更简单并避免编写不必要的代码行。
在 C++ 中使用 && 逻辑运算符实现具有多个条件的 if 语句
让我们讨论如何在 C++ 中使用带有逻辑 && 运算符的 if 语句来检查多个条件。
逻辑运算符 && 是二元运算符。 它采用两个布尔值或计算布尔值的表达式作为其操作数。
执行后,如果if语句中的所有操作数都为true,则该运算符返回true; 否则,返回 false。
例如,在以下代码中,如果 (num_1 < num_2) 和 (num_2 > num_3) 这两个条件的计算结果均为 true,则 && 运算符返回 true,并执行 if 块内的语句。 如果任何操作数为 false,则整个表达式将计算为 false,并且 if 块内的代码将不会被执行。
int num_1 = 5;
int num_2 = 12;
int num_3 = 10;
if( (num_1 < num_2) && (num_2 > num_3) //if condition1 "and" condition2 is true
{
statement_1; //then execute the statements
statement_2;
.......
.......
statement_n;
}
请考虑以下示例,在 if 语句中使用逻辑运算符 && 来检查数字是否在 45 到 60 之间:
//C++程序演示逻辑“与”(&&)运算符的使用
#include <iostream>
using namespace std;
int main()
{
cout << "Enter a number: ";
int num;
cin >> num;
if (num > 45 && num < 60)
cout << "Entered number is between 45 and 60";
else
cout << "Entered number is not in between 45 and 60";
return 0;
}
在上面的例子中,逻辑运算符&&检查给定的数字是否大于45或小于60。如果两个操作数都为true,则执行if条件下的语句,输出将为:
Entered number is between 45 and 60
如果任何操作数结果为 false,则执行 else 部分下的语句,输出将为:
Entered number is not in between 45 and 60
在逻辑 && 运算符中,错误概率较高的条件优先作为第一个操作数。 如果任何操作数为假,则不会检查表达式中的其他操作数,因此将减少程序的计算时间。
因此,应该在 if 条件中首先声明失败概率较高的操作数,以减少计算时间。
在上面的例子中,我们必须检查 if 语句的所有表达式是否都为 true。 然而,在某些情况下,我们只需要检查其中一个条件是否为真。
例如,考虑骰子示例,掷骰子得到 2 或 5 即可赢得比赛。
#include <iostream>
using namespace std;
int main()
{
cout << "Enter number on the dice: ";
int num_1;
cin >> num_1;
if (num_1 == 2)
{
cout << "Game is Won";
return 0;
}
if (num_1 == 5)
{
cout << "Game is Won";
return 0;
}
else
cout << "Game is Lost";
return 0;
}
在这里,即使条件 (num_1 == 2) 和 (num_1 == 5) 中的任何一个为真,游戏也会获胜。 在这种情况下,我们可以使用逻辑 || 运算符而不是 C++ 中的多个 if 语句。
使用 || 实现具有多个条件的 if 语句 C++ 中的逻辑运算符
让我们讨论一下使用|| 运算符而不是多个 if 语句。
逻辑 || 运算符 (||) 也是二进制的。 它采用两个布尔值或计算布尔值的表达式作为其操作数。
执行后,如果 if 语句中的任何操作数为 true,则该运算符返回 true。 否则,返回 false。
让我们讨论 || 的语法 借助示例在 if 语句中使用运算符:
int num_1;
int num_2;
int num_3;
if( (num_1 == 0) || (num_2 == 0) || (num_3)==0) //if any condition is true
{
statement_1; //then execute the statements
statement_2;
.......
.......
statement_n;
}
这里,整个表达式 (num_1 == 0) || (num_2 == 0) || 如果条件 (num_1 == 0)、(num_2 == 0) 和 (num_3 == 0) 之一的计算结果为 true,则 (num_3)==0) 将计算为 true。 if 块中的语句将被评估。
如果所有表达式的计算结果均为 false,则整个表达式的计算结果只会为 false。 if语句里面的语句不会被执行。
考虑以下示例,解释使用逻辑|| 运算符而不是 C++ 中的多个 if 语句。
//C++ 程序演示逻辑“或”(||) 运算符的使用
#include <iostream>
using namespace std;
int main()
{
cout << "Enter number on the dice: ";
int num_1;
cin >> num_1;
if (num_1 == 2 || num_1 == 5)
cout << "Game is Won";
else
cout << "Game is Lost";
return 0;
}
在此示例中,|| 运算符检查给定的数字是 2 还是 5。如果任何操作数为 true,则执行 if 条件下的语句,游戏获胜。
如果所有操作数的计算结果均为 false,则执行 else 部分下的语句,游戏失败。
为真概率最高的条件应在第一个操作数中提及。 如果任何操作数结果为 true,则 if 条件为 true,并且不检查其余条件。
这样可以减少程序的计算时间。
两个逻辑运算符都是左结合的; 因此,它们按从左到右的顺序执行。 但是,如果第一个操作数为 false,则不会计算 && 第二个操作数。
在 || 中,如果第一个操作数为 true,则不会计算第二个操作数。
使用 && 和 || 实现具有多个条件的 if 语句 C++ 中的逻辑运算符
我们还可以使用 &&
和 ||
在单个 if 语句中检查 C++ 中的多个条件。 当我们在一个 if 语句中使用两个运算符来检查多个条件时,需要以正确的顺序进行评估。
具有最高优先级的运算符与表达式中的第一个操作数分组。 然后下一个最高的运算符与操作数分组。
逻辑运算符的优先顺序如下表所示:
逻辑运算符 | 优先级 |
---|---|
非(!) | 高 |
AND (&&) | 中 |
或 (` |
从表中可以看出:
- 符合逻辑 ! 运算符在表达式中具有最高优先级,并且首先进行计算。
- 逻辑 && 运算符在表达式中具有中等优先级,并且在 ! 之后进行计算。 操作员。
- 逻辑|| 运算符在表达式中的优先级最低,并且在 && 运算符之后进行计算。
为了更好地理解,请考虑以下代码:
if (num > 45 || num < 60 && num != 100)
{
cout << num;
}
假设 num = 50,则上述代码的结果为 true,因为:
-
num < 60 && num ! = 100
将被评估,因为&&
具有更高的优先级。 这个评价将是真实的。 -
表达式 (
num > 45 || TRUE
) 将被求值,最后我们得到 true 结果。
总结
在本文中,我们讨论了 C++ 中带有多个条件的 if 语句的使用。 我们详细了解了 if 语句中逻辑运算符的语法、它们的真值表、结合性和优先顺序,以及一些示例。
相关文章
Arduino 复位
发布时间:2024/03/13 浏览次数:315 分类:C++
-
可以通过使用复位按钮,Softwarereset 库和 Adafruit SleepyDog 库来复位 Arduino。
Arduino 的字符转换为整型
发布时间:2024/03/13 浏览次数:181 分类:C++
-
可以使用简单的方法 toInt()函数和 Serial.parseInt()函数将 char 转换为 int。
Arduino 串口打印多个变量
发布时间:2024/03/13 浏览次数:381 分类:C++
-
可以使用 Serial.print()和 Serial.println()函数在串口监视器上显示变量值。