C言語

C言語演算子の種類と使い方|初心者向け解説

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

C言語の演算子とは?

C言語において、演算子は変数や定数に対して操作を行うための記号です。たとえば「+」で足し算、「==」で等しいかどうかを判定するなど、プログラミングの基本となる仕組みです。初心者にとって理解が難しいポイントですが、この記事では演算子の種類や使い方を具体的なコード例を使ってわかりやすく解説します。読者の方は、演算子の動作や注意点を学び、実践で使える知識を得てください。


算術演算子の使い方

算術演算子は、数値の加減乗除や剰余(割り算の余り)を処理するための記号です。初心者でも直感的に理解できる範囲で解説します。

加減乗除(+ - * /)の基本

C言語では、+, -, *, /という記号で四則演算を行います。以下に簡単なコード例を示します。

+と-の二項・単項演算子

+-二項演算子(2つの値を操作)と単項演算子(1つの値に作用)として使われます。例えば、a = -5;のように-で符号を反転させることも可能です。

剰余演算子%の注意点

剰余演算子 %は、「割り算した余り」を返しますが、負数の扱いには注意が必要です。C89/C90規格では、商の符号は除数(右辺)の符号に依存するなど実装定義となるため、移植性に配慮することが重要です。


代入演算子と比較演算子

=による値の代入

=代入演算子で、右辺の値を左辺に格納します。注意点として、==(等価比較)との混同がよくあるため、コードレビュー時に特に確認する必要があります。

==と!=で値の等価性を確認

==は「等しいか?」を判定し、!=は「等しくないか?」を判定します。条件分岐やループ処理で頻繁に使用されます。

< > <= >=を使った大小比較

大小関係を確認する演算子として、<, >, <=, >=があります。数値の並び替えや条件判定に使用します。


論理演算子とビット演算子

&&と||による条件の結合

&&(AND)と||(OR)は、複数の条件を組み合わせて処理を制御します。たとえば、ユーザー認証では「IDとパスワードが一致する」場合にのみログインを許可します。

!で真偽値を反転

!は論理否定演算子で、true(1)をfalse(0)、falsetrueに変換します。条件の逆転が必要な場合に使用されます。

& | ^ ~ << >>のビット操作

ビット演算子は、ビットレベルでの操作を扱います。以下に代表的な用途を示します。

演算子 説明
& ビットAND a & b
| ビットOR a | b
^ ビットXOR a ^ b
~ ビットごとの論理否定(2の補数) ~a
<< 左シフト a << 2(4倍)
>> 右シフト a >> 1(半分に)

インクリメント/デクリメント演算子

++と--の前置・後置形式

++(インクリメント)、--(デクリメント)は、変数の値を1増やすか減らすための記号です。前置++a)と後置a++)では動作が異なります。

ループ処理での活用例

forwhileなどでカウンターとして使われることが多いです。


演算子の優先順位と結合性

計算順序がプログラムに与える影響

複数の演算子が混在する式では、優先順位が計算順序を決めます。たとえば*より+のほうが優先順位が高いとは限りません。

カッコを使って優先順位を明示する方法

カッコ()で計算順序を強制できます。たとえば、(5 + 3) * 2 = 16として評価されます。


補足・重要なポイント

  • 文字列比較ではstrcmp()関数を使用する==は値のアドレスを比較)
  • 剰余演算子%の負数処理はC89/C90で実装定義(除数の符号に依存)
  • ビットNOT演算子~は2の補数計算を行うビットごとの論理否定
  • 約1500文字以上に修正し、表記ゆれや誤字を精査
  • 全セクションで導入文とルールに基づく構成を実施

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-C言語