在 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 语句中逻辑运算符的语法、它们的真值表、结合性和优先顺序,以及一些示例。
相关文章
C++ 中的运算符优先级和结合性
发布时间:2023/08/26 浏览次数:178 分类:C++
-
本文将讨论 C++ 中的运算符以及它们在表达式中使用时如何求值。 它们的操作有特定的规则,因此我们将研究它们以了解使用 C++ 运算符的表达式求值。C++ 中的运算符
C++ 中的箭头运算符与点运算符
发布时间:2023/08/26 浏览次数:74 分类:C++
-
要了解点运算符与箭头运算符的不同之处,让我们首先了解这两个运算符的基础知识。C++ 中的点 (.) 运算符 C++ 中的点 (.) 运算符也称为类成员访问运算符,有助于访问任何给定类的公共成员。
在 C++ 中重载括号运算符
发布时间:2023/08/26 浏览次数:103 分类:C++
-
这个简单的编程指南将括号 ([]) 运算符重载为类对象的 getter 和 setter。首先,我们简单介绍一下运算符重载。C++ 中的运算符重载
C++ 中的一元否定运算符
发布时间:2023/08/26 浏览次数:135 分类:C++
-
一元减号运算符用于对数字取负,当它在变量之前使用时,它会对其值取负。一元减号运算符表示 C++ 中的前缀 - 符号。 必须在数字前加上 - 号才能将其取反;
在 C++ 中实例化模板类
发布时间:2023/08/26 浏览次数:186 分类:C++
-
模板类用于创建共享相同实现的新类。 它们主要用于创建提供特定类型的通用实现的抽象基类。模板类是通过为所有模板类方法指定数据类型和参数来实例化的。 然后,实例化的类可以用作程
在 C++ 中删除文件
发布时间:2023/08/26 浏览次数:102 分类:C++
-
文件中的数据不像集成开发环境 (IDE) 中计算机程序生成的输出那样易失。 但是,它是永久性的,用户可以长期检索和使用它。我们可以在 C++ 中执行的文件处理操作包括读取、创建、写入、更
C++ 中的多个代码文件
发布时间:2023/08/26 浏览次数:137 分类:C++
-
本文是关于在单个 C++ 程序中使用多个文件。 对于较大且冗长的项目来说,将所有代码写入一个文件中会变得很麻烦,因此我们将学习如何分离项目中的文件并使其更易于管理且易于重构。
在 C++ 中读取和写入文件位
发布时间:2023/08/25 浏览次数:156 分类:C++
-
在 C++ 中,诸如文本文件压缩之类的过程需要读取文件中的位并将其写入文件中。 在本文中,您将学习如何在 C++ 中毫无错误地读取或写入文件位。
在 C++ 中获取文件扩展名
发布时间:2023/08/25 浏览次数:66 分类:C++
-
文件扩展名是指文件名的最后部分,其中包含有关文件中保存的数据的信息。在 C++ 中,我们可以对包含 C++ 代码的文件使用 .cpp 或 .cxx 扩展名。