C言語の論理演算子の優先順位は何ですか?

烟雨青岚
リリース: 2020-07-02 09:27:05
オリジナル
15187 人が閲覧しました

C 言語の論理演算子の優先順位は高い順に次のようになります:! (論理 NOT)、&& (論理 AND)、|| (論理 OR)。論理式の値は論理値であり、論理値は論理真値と論理偽値に分けられ、判定の際にはゼロ値のみが論理偽値(偽)と判定され、すべての値が論理偽値(偽)と判定されます。ゼロ以外の値は論理的な真の値として判断できます。

C言語の論理演算子の優先順位は何ですか?

#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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!