ホームページ  >  記事  >  優先順位が最も低い演算子は何ですか?

優先順位が最も低い演算子は何ですか?

烟雨青岚
烟雨青岚オリジナル
2020-07-06 09:12:5627582ブラウズ

優先順位が最も低い演算子は、カンマ演算子です。式が結合される順序は、式内のさまざまな演算子の優先順位によって決まります。優先順位の高い演算子が最初に結合され、優先順位の低い演算子が後で結合されます。同じ行内の演算子の優先順位は同じです。

優先順位が最も低い演算子は何ですか?

優先順位が最も低い演算子は、カンマ演算子です。

式には、異なる演算子で接続された、異なるデータ型の複数のデータ オブジェクトが含まれる場合があります。式には複数の演算があるため、組み合わせ順序が異なると異なる結果が生じる可能性があります。結果として、誤った演算エラーが発生する場合もあります。なぜなら、式に複数の演算が含まれる場合、演算の合理性と結果の正確性と一意性を保証するために、それらを特定の順序で組み合わせる必要があるからです。

優先順位は上から下に下がり、一番上の優先順位が最も高く、カンマ演算子の優先順位が最も低くなります。式が結合される順序は、式内のさまざまな演算子の優先順位によって異なります。優先順位の高い演算子が最初に結合され、優先順位の低い演算子が後で結合され、同じ行の演算子は同じ優先順位を持ちます。

知識の拡張

優先順位

優先順位は評価の順序とは関係ありません。たとえば、a b && b*c では、* の優先順位が最も高くなりますが、この式の評価順序は左から右になります。

優先順位は上から下に下がり、一番上の優先順位が最も高く、カンマ演算子の優先順位が最も低くなります。

同じ優先順位で、結合に従って結合します。ほとんどの演算子は左から右に結合しますが、右から左に結合する優先順位は 3 つだけです (単項演算子、条件演算子、代入演算子)。

基本的な優先順位を覚えておく必要があります:

ポインターは最適であり、単眼操作は両眼操作よりも優れています。プラス記号やマイナス記号など。

最初に算術演算、次にシフト演算、最後にビット演算です。特に注意してください: 1 << 3 2 & 7 は (1 << (3 2))&7 と同等です。

論理演算は最終的に結合されます。

演算子

演算子は、1 つ以上のオペランドを受け取り、対応する値を返す特別な関数です。オペランドは、演算子への入力として使用される値であり、通常はリテラル、変数、または式です。演算子は単項、二項、または三項にできます。単項演算子には 1 つのオペランドがあり、二項演算子には 2 つのオペランドがあり、三項演算子には 3 つのオペランドがあります。

結合性

オペランドの両側の演算子の優先順位が同じ場合、式の演算順序は演算子の結合性によって決まります。他の高級言語にはない結合性の概念がC言語の特徴の一つです。

標準の C 言語ドキュメントでは、演算子の結合性はあまり明確に説明されていません。完璧な答えは、それがアービターであり、複数のオペレーターが同じ優先順位を持つ場合にどのオペレーターを最初に実行するかを決定することです。 C 言語では、結合性の異なる 34 個の演算子も指定されています。

ほとんどの演算子の結合方向は「左から右」です。つまり、最初に左、次に右です。「左結合性」とも呼ばれます。たとえば、a-b c には 2 つの演算子があります。式 、同じ優先順位を持ち、左、次に右の結合の方向に従って、最初にマイナス記号の周りで結合して a-b の演算を実行し、次にプラス記号の周りで結合して演算 (a-b) c を完了します。

C 言語には、左結合性に加えて、「右結合」とも呼ばれる、組み合わせ方向が右から左である 3 種類の演算子 (単項演算子、条件演算子、代入演算子) があります。

左結合であろうと右結合であろうと、それは同じ優先順位を持つ 2 つの隣接する演算子 (式のオペランドではない) に対するものであることを強調することが重要です。演算子は左と右を決定します。の演算では、最初に前の演算子 (つまり、左側の演算子) を使用して演算を構築します。これは左結合であり、その逆の場合は右結合です。

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !

以上が優先順位が最も低い演算子は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。