【C言語入門】式と演算子の基本をやさしく解説
今回の記事でわかること
この記事では、C言語における
式の考え方と演算子の種類について解説します
- 式が何を意味しているのか分かる
- よく使う演算子を整理して覚えられる
条件分岐やループを理解するためにも、ここはとても大事な土台になります
式とは
プログラミングでいう「式」とは
値・変数・演算子を組み合わせて、結果を計算できるものを指します
算数で
1 + 2 = 3
となるのと同じように
プログラムでも式を書けば、計算結果が得られます
int num = 1 + 2;
printf("%d", num);
/* 出力結果
3
*/この場合
1 + 2が「式」- 計算結果の
3がnumに代入
という流れになります
演算子とは
式の中で使われる計算や比較を行う記号を演算子と呼びます
C言語には多くの演算子がありますがまずはよく使うものから覚えるのがおすすめです
算術演算子
数値の計算に使う演算子です
| 演算子 | 説明 | 例 | 結果 |
|---|---|---|---|
| + | 足し算 | 3 + 2 | 5 |
| – | 引き算 | 3 – 2 | 1 |
| * | 掛け算 | 3 * 2 | 6 |
| / | 割り算 | 5 / 2 | 2 |
| % | 余り | 5 % 2 | 1 |
#include <stdio.h>
int main(void){
int a = 5;
int b = 2;
printf("a + b = %d\n", a + b);
printf("a - b = %d\n", a - b);
printf("a * b = %d\n", a * b);
printf("a / b = %d\n", a / b);
printf("a %% b = %d\n", a % b);
}int 型同士の割り算では小数点以下は切り捨てられる点に注意です
小数を扱いたい場合はfloat や double を使います
比較演算子
数値を比べるための演算子です。結果は true または false になります
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
| == | 等しい | 3 == 3 | true |
| != | 等しくない | 3 != 2 | true |
| > | 大なり | 5 > 2 | true |
| < | 小なり | 2 < 5 | true |
| >= | 以上 | 3 >= 3 | true |
| <= | 以下 | 3 <= 3 | true |
#include <stdio.h>
int main(void){
int a = 5;
int b = 2;
printf("a == b : %d\n", a == b);
printf("a != b : %d\n", a != b);
printf("a > b : %d\n", a > b);
printf("a < b : %d\n", a < b);
printf("a >= b : %d\n", a >= b);
printf("a <= b : %d\n", a <= b);
}- 0 → false
- 1 → true
条件分岐で頻繁に使われる演算子です
代入演算子
右辺の値を左辺の変数に入れる演算子です
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
| = | 代入 | a = 3 | 3 |
| += | 足して代入 | a += 3 | 8 |
| -= | 引いて代入 | a -= 2 | 6 |
| *= | 掛けて代入 | a *= 2 | 10 |
| /= | 割って代入 | a /= 2 | 5 |
| %= | 余りを代入 | a %= 2 | 1 |
同じ変数を更新するときに、コードが短くなって読みやすくなります
論理演算子(短絡演算子)
主に if 文で使われる演算子です
| 演算子 | 意味 | 例 |
|---|---|---|
| && | AND | a > 0 && b > 0 |
| || | OR | a > 0 || b > 0 |
| ! | NOT | !(a > 0) |
#include <stdio.h>
int main(void){
int a = 0;
int b = 1;
if (a && b){
printf("AND : true\n");
} else {
printf("AND : false\n");
}
a = 1;
if (a || b){
printf("OR : true\n");
} else {
printf("OR : false\n");
}
}左側の結果だけで、全体の結果が決まる場合、右側は評価されません
これを「短絡評価」と呼びます
インクリメント・デクリメント演算子
変数の値を1だけ増やす/減らす演算子です
| 演算子 | 意味 | 例 |
|---|---|---|
| ++ | 1増やす | a++ |
| — | 1減らす | a– |
++a と a++ では式として評価されるタイミングが違うので注意です
ビット演算子(知識として)
実務ではあまり使わないことも多いですが、仕組みとして知っておくと役立つ場面があります
| 演算子 | 内容 |
|---|---|
| & | AND |
| | | OR |
| ^ | XOR |
| ~ | NOT |
| << | 左シフト |
| >> | 右シフト |
ビット演算子は高速処理やハードウェア制御で使われることが多いです
まとめ
- 式は「計算できるまとまり」
- 演算子は式を作るための記号
- 算術・比較・論理演算子は特に重要
この内容が理解できると if 文や for 文が一気に分かりやすくなります