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" />