Cにおける演算子の優先順位と結合性
演算子の優先順位は、式内の用語のグループ化を決定し、式の評価方法を決定します。特定の演算子は他の演算子よりも優先されます。たとえば、乗算演算子は加算演算子よりも優先順位が高くなります。
たとえば、x =7 + 3 * 2;ここでは、演算子*の優先順位が+よりも高いため、xには20ではなく13が割り当てられます。したがって、最初に3 * 2が乗算され、次に7に加算されます。
ここでは、優先順位が最も高い演算子が表の上部に表示され、優先順位が最も低い演算子が下部に表示されます。式内では、優先順位の高い演算子が最初に評価されます。
カテゴリ | ||
---|---|---|
接尾辞 | ()[]->。 ++ --- | 左から右 |
単項 | +-! 〜++ ---(type)*&sizeof | 右から左 |
乗法 | * /% | 左から右 |
添加剤 | +- | 左から右 |
シフト | <<>> | 左から右 |
リレーショナル | <<=>> = | 左から右 |
平等 | ==!= | 左から右 |
ビットごとのAND | & | 左から右 |
ビット単位のXOR | ^ | 左から右 |
ビット単位または | | | 左から右 |
論理積 | && | 左から右 |
論理OR | || | 左から右 |
条件付き | ?: | 右から左 |
割り当て | =+ =-=* =/ =%=>> =<<=&=^ =| = | 右から左 |
カンマ | 、 | 左から右 |
サンプルコード
#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
-
JavaScriptプログラムの!=演算子と!==演算子の違い
!=比較演算子 !=演算子は、型チェックを行わずに2つのオブジェクトの不等式をチェックします。 2つのオペランドのデータ型を1つに変換してから、それらの値を比較します。たとえば、1!=1はfalseになります。 !==比較演算子 !==演算子は、型チェックを使用して2つのオブジェクトの不等式をチェックします。データ型を変換せず、型付きチェックを行います。たとえば、1!==1はtrueになります。 次の例は、「!=」と「!==」演算子の使用法を示しています。 例 <!DOCTYPE html> <html> <head> <
-
JavaScriptのRESTおよびSpread演算子
残りの演算子(…)を使用すると、任意の数の引数を使用して関数を呼び出し、それらの余分な引数に配列としてアクセスできます。 rest演算子を使用すると、配列またはオブジェクトを破棄することもできます。 スプレッド演算子(…)を使用すると、反復可能な配列のようなものを個々の要素に展開できます。 例 以下は、JavaScriptのRESTおよびSpread演算子を示すコードです- <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" />