C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の論理演算子


論理演算子の概念は単純です。これらにより、プログラムは複数の条件に基づいて決定を下すことができます。各オペランドは、真または偽の値に評価できる条件と見なされます。次に、条件の値を使用して、op1演算子op2または!op1グループ化の全体的な値を決定します。

論理OR演算子(||)は、一方または両方のオペランドがtrueの場合はブール値trueを返し、それ以外の場合はfalseを返します。オペランドは、評価の前に暗黙的にbool型に変換され、結果はbool型になります。論理ORには、左から右への結合性があります。論理OR演算子のオペランドは同じ型である必要はありませんが、整数型またはポインター型である必要があります。オペランドは通常、関係式または等式です。

論理OR式の評価を続行する前に、最初のオペランドが完全に評価され、すべての副作用が完了します。 2番目のオペランドは、最初のオペランドがfalse(0)と評価された場合にのみ評価されます。これにより、論理OR式が真の場合に第2オペランドを不必要に評価する必要がなくなります。

論理AND演算子(&&)は、両方のオペランドがtrueの場合はブール値trueを返し、それ以外の場合はfalseを返します。オペランドは、評価の前に暗黙的にbool型に変換され、結果はbool型になります。論理積には、左から右への結合性があります。論理AND演算子のオペランドは同じタイプである必要はありませんが、整数型またはポインター型である必要があります。オペランドは通常、関係式または等式です。

論理積式の評価を続行する前に、最初のオペランドが完全に評価され、すべての副作用が完了します。 2番目のオペランドは、最初のオペランドがtrue(ゼロ以外)と評価された場合にのみ評価されます。この評価により、論理積式がfalseの場合の第2オペランドの不要な評価が排除されます。

論理否定演算子(!)は、そのオペランドの意味を逆にします。オペランドは、算術型またはポインター型(または算術型またはポインター型に評価される式)である必要があります。オペランドは暗黙的にbool型に変換されます。変換されたオペランドがfalseの場合、結果はtrueです。変換されたオペランドがtrueの場合、結果はfalseになります。結果はbool型です。

#include<iostream>
using namespace std;
int main() {
   bool x = true, y = false;
   cout << (x || y) << endl;
   cout << (x && y) << endl;
   cout << (!x) << endl;
   return 0;
}
出力

これにより、出力が得られます-

1
0
0

これは、2つのうちの1つが偽であるため、偽であり、1つが真であるか真であり、true(x)が偽ではないためです。つまり0です。


  1. C#の論理演算子は何ですか?

    論理演算子はブール値で使用されます。次の3つの論理演算子はC#で使用できます。 オペレーター 説明 && 論理積演算子と呼ばれます。両方のオペランドがゼロ以外の場合、条件は真になります。 || 論理OR演算子と呼ばれます。 2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 ! 論理NOT演算子と呼ばれます。オペランドの論理状態を逆にするために使用します。条件がtrueの場合、LogicalNOT演算子はfalseになります。 C#で論理演算子を操作する方法を示す例を見てみましょう。ここでは、論理積演算子の条件がチェックされます。 if (a

  2. Python論理演算子

    Python言語でサポートされている論理演算子は次のとおりです。変数aが10を保持し、変数bが20を保持すると仮定すると、- Sr.No オペレーターと説明 例 1 論理積 両方のオペランドが真の場合、条件は真になります。 (aおよびb)は真です。 2 または論理OR 2つのオペランドのいずれかがゼロ以外の場合、条件は真になります。 (aまたはb)は真です。 3 論理的ではない オペランドの論理状態を逆にするために使用されます。 Not(aおよびb)はfalseです。