C言語の一連の演算子

C言語には一連の演算子がありますが、これらの演算子をすべて知っていますか?
C言語を上手に学びたいのなら、空っぽのカップ精神が必要なので、知っているかどうかにかかわらず、もう一度見てください!

C言語の演算子:

C言語には、主に算術演算子、シフト演算子、ビット演算子、代入演算子、単項演算子、関係演算子、論理演算子、条件演算子、コンマ式などが含まれます。それらの使い方を一つ一つ見ていきましょう!
算術演算子: +、-、*、/、%
算術演算子+、-、*誰もがそうすると思いますが、初心者の中には/と%の違いがはっきりしない人もいます(数か月前にやったと密かに言っています)区別がつかない)。
ここに画像の説明を挿入
ここに画像の説明を挿入
実際、a / bの結果は、aをbで除算する商であり、a%bは、7を2で除算し、残りの3が1であるように、aをbで除算した余りです。 、および7%2は1に等しい。
シフト演算子: <<、>>
左シフト演算子は右シフト演算子に似ています。例として左シフト演算子を取り上げましょう。
ここに画像の説明を挿入
ここに画像の説明を挿入
では、なぜ結果が10なのですか?
実際、数値はコンピューターに2進数で格納され、int型のサイズは4バイト(32ビット)であるため、5の2進数表現は00000000000000000000000000000101であり、a << 1はMoveの2進数ビットを統合することを意味します。左に1ビット、空を0で埋め、変換された2進数を10進数に変換して出力します。
ここに画像の説明を挿入
また、a << 1の後の2進数に対応する10進数は10なので、出力は10です。
ビット演算子:&、|、^
ビット演算子の操作メカニズムは非常に似ていますが、規則が異なります。それらはすべて、オペランドをバイナリに変換し、バイナリの各桁を比較してから、操作を実行します。
&:バイナリ対応ビットが両方とも1の場合は1、それ以外の場合は0です。
|:両方のバイナリ対応ビットが0の場合は0、それ以外の場合は1です。
^:バイナリ対応ビットが同じ場合は0、異なる場合は1です。
ここに画像の説明を挿入
ここに画像の説明を挿入
代入演算子:=、+ =、-=、* =、/ =、&=、| =、^ =、<< =、>> =
私の意見では、代入演算子はステートメントを単純化するだけ
ここに画像の説明を挿入
です。他のものは類推によって推測できます。最初は少しぎこちなく見えますが、もっと読むと慣れます^ _ ^
単眼演算子:

オペレーター オペレーターの役割
論理逆演算
- 負の値
+ 正の値
住所を取る
のサイズ オペランドのタイプの長さ(バイト単位)
数値の2進ビットを反転します
--- フロントリア -
++ フロント、リア++
* 間接アクセス演算子(逆参照演算子)
(の種類) 強制型変換

単項演算子は、その名前が示すように、オペランドが1つだけです。
関係演算子: >、> =、<、<=、!=、==
関係演算子は比較的単純ですが、==を使用するときは、=と書かないように注意してください。初心者はこれに特別な注意を払う必要があります。
論理演算子: &&、||
&&:両側が真の場合は真、それ以外の場合は偽です。
||:両側が偽の場合は偽、それ以外の場合は真です。
(どちらもtrueの場合は1を返し、falseの場合は0を返します。)
ここに画像の説明を挿入
条件演算子: expr1?expr2:expr3
この式では、expr1がtrueの場合はexpr2の値を返し、そうでない場合はexpr3の値を返します。
ここに画像の説明を挿入
コンマ式: expr1、expr2、expr3、...、exprN
コンマ式は左から右にコンパイルされますが、最後の式の値が最後に返されます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/chenlong_cxy/article/details/112555749