C 演算子の優先順位と結合性を理解する:明確なガイド
演算子の優先順位
演算子の優先順位によって、式に複数の演算子がある場合にどの演算子が最初に実行されるかが決まります。
例を考えてみましょう。
int x = 5 - 17* 6;
C では、* の優先順位 - より大きいです と = 。したがって、17 * 6 が最初に評価されます。次に、- を含む式 - の優先順位として評価されます。 = よりも高いです .
以下に、演算子の優先順位を高い順に示した表を示します。 結合性の性質
演算子の優先順位と結合性の表
[]
->
.関数呼び出し
配列要素の参照
間接的なメンバーの選択
直接メンバー選択左から右へ!
~
+
-
++
--
&
*
サイズの
(型)論理否定
ビット単位(1の)補数
単項プラス
単項マイナス
インクリメント
デクリメント
逆参照 (アドレス)
ポインタ参照
オブジェクトのサイズを返します
タイプキャスト (変換)右から左*
/
%乗算
分ける
残り左から右+
・バイナリープラス(加算)
2進数のマイナス(減算)左から右へ<<
>>左シフト
右シフト左から右<
<=
>
>=未満
以下
より大きい
以上左から右==
!=等しい
等しくない左から右&ビットごとのAND左から右^ビットごとの排他的OR左から右|ビットごとのOR左から右&&論理AND左から右||論理OR左から右?:条件演算子右から左=
*=
/=
%=
+=
-=
&=
^=
|=
<<=
>>=単純な割り当て
製品の割り当て
商の割り当て
剰余の代入
合計の割り当て
差分の割り当て
ビット単位の AND を代入する
ビット単位の XOR を割り当てる
ビット単位の OR を代入する
左シフトを割り当てる
右シフトの割り当て右から左、式の区切り文字左から右
演算子の結合性
演算子の結合性によって、式が評価される方向が決まります。たとえば、
b = a;
ここで、a の値は b に割り当てられますが、その逆はありません。それは、= の結合性によるものです。 演算子は右から左です。
また、同じ優先順位 (優先度) の 2 つの演算子が存在する場合、結合性によってそれらの演算子の実行方向が決まります。
例を考えてみましょう。
1 == 2 != 3
ここで、演算子 == と != 同じ優先順位を持ちます。そして、それらの結合性は左から右です。したがって、1 == 2 が最初に実行されます。
上記の式は次と同等です。
(1 == 2) != 3
注: ステートメントに複数の演算子がある場合は、括弧 () を使用できます。 コードを読みやすくするため。
目次
C言語
- トップ 100 C プログラミング インタビューの質問と回答 (2021)
- 初心者向け Powershell チュートリアル:Powershell スクリプトを学ぶ
- C# 変数と (プリミティブ) データ型
- C++ プログラミング:C++ とは | C++ の基本概念を学ぶ
- C++ のコンストラクターを使用した動的初期化をマスターする
- C++ ファイル処理:C++ でファイルを開く、書き込む、読み取る、閉じる方法
- .NET を使用した構築、テスト、展開 – 無料のオープンソース、クロスプラットフォーム開発プラットフォーム
- C++ の変数、リテラル、および定数
- C++ 参照渡し:ポインターの使用 [例あり]
- C# 継続ステートメント
- C++関数からオブジェクトを渡したり返す方法は?