ホームページ >バックエンド開発 >C#.Net チュートリアル >C言語の論理演算子の優先順位は何ですか?
C 言語の論理演算子の優先順位は高い順に次のようになります:! (論理 NOT)、&& (論理 AND)、|| (論理 OR)。論理式の値は論理値であり、論理値は論理真値と論理偽値に分けられ、判定の際にはゼロ値のみが論理偽値(偽)と判定され、すべての値が論理偽値(偽)と判定されます。ゼロ以外の値は論理的な真の値として判断できます。
#C 言語には、次の 3 つの論理演算子があります。
1元:! (論理的にはそうではありません)。バイナリ: && (論理 AND)、|| (論理 OR)。
上記 3 つの論理演算子 のうち、論理 NOT ! の優先順位が最も高く、論理 AND && が 2 番目、論理 OR || の優先順位が最も低くなります。
論理式の値は論理値、つまりブール型 (bool) です。この型は C99 で新しく追加されました。一部のコンパイラはまだこの型をサポートしていない可能性があります。
論理値は、論理真値と論理偽値に分けられます。通常、判定時にはゼロ値のみが論理的偽値(false)と判定され、ゼロ以外の値はすべて論理的真値(true)と判定できますが、格納・表現する際には、通常、論理値を表すには 1 が使用され、真の値、0 は論理偽の値を表します。
論理 AND && 演算子の操作規則: 結果は、両方のオペランドが論理的に true の場合にのみ true になります。それ以外の場合はすべて、結果は false になります。
論理 OR || 演算子の操作規則: 結果は、両方のオペランドが論理的に false の場合にのみ false になります。それ以外の場合はすべて、結果は true になります。
int a=3,b=5;
次に、次があります:
!a: a はゼロではないため、true、!a は false、その値は 0 です。
a||b: a と b は両方とも 0 でなく、どちらも true であるため、論理和の結果は true となり、その値は 1 になります。
a&&b: a と b は両方とも 0 でなく、どちらも true であるため、論理 AND の結果は true となり、その値は 1 になります。
!a||b&&2: 論理否定! は最も高い優先順位を持っているため、最初の論理否定と結合され、&& は || よりも高い優先順位を持ちます。これは (!a)||(b&&2 と同等です) )、つまり 0|| 1 が true の場合、その値は 1 です。
論理 AND &&、論理 OR || はすべて「短絡」特性があります:
論理 AND && 「短絡」: 論理 AND && の左側のオペランドがislogical false の場合は、論理演算の結果が false であると判断すればよいため、右側のオペランドは実行されなくなります。
論理和 || 「ショートサーキット」: 論理和 || の左側のオペランドが論理的に真である場合、論理演算の結果が真であると判断するだけで十分であるため、右側のオペランドは無効になります。処刑される。
推奨チュートリアル:「C 言語」
以上がC言語の論理演算子の優先順位は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。