ホームページ > バックエンド開発 > C#.Net チュートリアル > C言語における演算子の優先順位(コード例)

C言語における演算子の優先順位(コード例)

藏色散人
リリース: 2020-09-14 09:36:53
オリジナル
91602 人が閲覧しました

C 言語の演算子の優先順位: 1. 第 1 レベルの演算子には識別子と定数があります; 2. 第 2 レベルの演算子には配列添字演算と関数呼び出しがあります; 3. 第 3 レベルの演算子には Increment のプレフィックスが付いていますおよび接頭辞のデクリメント; 4. 第 4 レベルの演算子は、式を強制的に指定された型にします; 5. 第 5 レベルの演算子は、乗算演算子などです。

C言語における演算子の優先順位(コード例)

例: x = 7 3 * 2; ここで、演算子 * の優先順位が次よりも高いため、x には値 20 ではなく値 13 が割り当てられます。まず 3*2 を乗算し、次に 7 に加算します。

ここでは、最も高い優先順位の演算子が表の上部に表示され、最も低い優先順位の演算子が表の下部に表示されます。式では、優先順位の高い演算子が最初に評価されます。

  • 第 1 レベルの演算子: 識別子、定数、文字列リテラル、優先度昇格式が最初に実行されます。

  • 二次演算子: 配列添字演算 (式)、関数呼び出し (引数式リスト)、メンバー アクセス (識別子、-> 識別子)、サフィックス インクリメント ( i)、サフィックスデクリメント (i--)、複合初期化 (initializer-list)。

  • 第 3 レベルの演算子: プレフィックス インクリメント (i)、プレフィックス デクリメント (--i)、単項変換式 (アドレスの取得 &、取り消し *、プラス記号、マイナス記号 -、ビット) inversion ~logical no!)、型の長さ (単項式のサイズ) を見つけます。

  • 第 4 レベルの演算子: 式を type-name (type-name) Cast-expression で指定された型に強制します。

  • 5 レベルの演算子: " * " 乗算演算子。

  • 6 レベルの演算子: " " 加算演算子。

  • 7 レベルの演算子: << 左シフト演算子; >> 右シフト演算子。

  • 8 レベルの演算子: <、<=、>、>= 関係演算子。

  • 9 レベルの演算子: 「==」は演算子と同等ですが、「!=」は演算子と同等ではありません。

  • 第 10 レベルの演算子:「&」ビット単位の AND 演算子。

  • 第 11 レベルの演算子:「∧」ビットごとの XOR 演算子。

  • 12 レベルの演算子:「|」ビットごとの OR 演算子。

  • 第 13 レベルの演算子:「&&」論理 AND 演算子。

  • 第 14 レベルの演算子:「||」論理 OR 演算子。

  • 第 15 レベルの演算子: ? :条件演算子。

C 言語の演算子の優先順位は次のとおりです (高いものから低いものへ)。

##< <= > >=左から右 == !=左から右&左から右 ^左から右##|##&&左から右||左から右?:右から左右から左へ #,左から右
#include <stdio.h>main() {

   int a = 20;
   int b = 10;
   int c = 15;
   int d = 5;
   int e;
 
   e = (a + b) * c / d;      // ( 30 * 15 ) / 5
   printf("Value of (a + b) * c / d is : %d\n",  e );

   e = ((a + b) * c) / d;    // (30 * 15 ) / 5
   printf("Value of ((a + b) * c) / d is  : %d\n" ,  e );

   e = (a + b) * (c / d);   // (30) * (15/5)
   printf("Value of (a + b) * (c / d) is  : %d\n",  e );

   e = a + (b * c) / d;     //  20 + (150/5)
   printf("Value of a + (b * c) / d is  : %d\n" ,  e );
  
   return 0;}
ログイン後にコピー
出力:
Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is  : 90
Value of (a + b) * (c / d) is  : 90
Value of a + (b * c) / d is  : 50
ログイン後にコピー
演算子 結合性
() [] -> . - - 左へright
- ! ~ - - (type)* & sizeof 右から左へ
* / % 左から右へ
# - 左から右へ
#<< >> ; 左から右
左から右
##= = -= *= /= %=>>= <<= &= ^= |=
C での演算子の優先順位の例:
関連推奨事項: "

C チュートリアル

"

この記事は、C 言語の演算子の優先順位についての紹介です。必要とする友人に役立つことを願っています。役に立ちました!

以上がC言語における演算子の優先順位(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート