
C言語基礎|C言語の演算と型
現実の数値とプログラムの数値
もしも「身長と体重を教えてください」と聞かれて、
「身長は173cmで体重は62kgです」と答えたとします。
でも、よく考えると少し不思議ですね。
身長がちょうど173cmぴったり、ということはまずありません。
実際には、
- 173.3cm かもしれませんし
- 173.2869758…cm かもしれません
しかも、時間が経てば微妙に変化していきます。
それでも、普段の会話では
「173cmで十分」
ですよね。

プログラムの世界も同じ考え方
プログラムの世界でも、現実の値を完全に正確に表す必要はありません。
必要なのは、
- どのくらいの精度があれば十分か
- その値をどう計算したいか
です。
C言語では、この「数値の扱い方」を決めるために、
- 型
- 演算
という仕組みが用意されています。
この章では、C言語で数値を扱うための
最低限かつ非常に重要な知識 として、
演算と型の基本を学んでいきます。
演算とは何か
加算を行う +、
乗算を行う *、
こうした記号を 演算子 と呼びます。
1章では、
- 足し算
- 引き算
- 掛け算
をすでに使ってきましたね。
この章では、それに加えて、
- 割り算
- 余り
も含めて、演算の全体像を整理していきます。
演算子とオペランド
まずは、用語を整理しましょう。
| 用語 | 意味 |
|---|---|
| 演算子 | 計算を指示する記号 |
| オペランド | 計算の対象となる値 |
たとえば、次の式を見てください。
x + yこの場合、
- 演算子:+
- オペランド:x と y
になります。
オペランドには呼び方の違いもあります。
| 位置 | 呼び方 |
|---|---|
| 左側 | 第1オペランド / 左オペランド |
| 右側 | 第2オペランド / 右オペランド |
この考え方は、後の章で学ぶ
比較演算や論理演算でもとても重要になります。
基本的な演算をまとめて確認しよう
それでは、複数の演算を一度に確認できるプログラムを見てみましょう。
以下は、元の例と同じ内容にならないように、
表示メッセージや変数名を変えたサンプルです。
サンプルプログラム:二つの整数でいろいろ計算する
プロジェクト名:chap2-1-1 ソースファイル名:chap2-1-1.c
Visual Studio でこのプログラムを実行するには、SDLチェック設定を変更しておく必要があります。
1.プロジェクト名を右クリックして、「プロパティ」をクリックします。
2.「C/C++」→「全般」→「SDLチェック」を「いいえ」に切り替えて「OK」をクリックします。
// 二つの整数を使って基本的な演算を行う
#include <stdio.h>
int main(void)
{
int a, b;
puts("二つの整数を入力してください。");
printf("整数 a:"); scanf("%d", &a);
printf("整数 b:"); scanf("%d", &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); // 剰余
return 0;
}実行例
二つの整数を入力してください。
整数 a:50
整数 b:14
a + b = 64
a - b = 36
a * b = 700
a / b = 3
a % b = 8各演算の意味を整理する
ここで行っている演算を、表で整理してみましょう。
| 演算 | 記号 | 意味 |
|---|---|---|
| 加算 | + | 二つの値を足す |
| 減算 | - | 左の値から右の値を引く |
| 乗算 | * | 二つの値を掛ける |
| 除算 | / | 左の値を右の値で割る |
| 剰余 | % | 割り算の余りを求める |
特に注意したいのが、除算と剰余です。
整数同士の割り算に注意
C言語では、
a / bのように 整数同士で割り算 を行うと、
小数部分は切り捨て られます。
たとえば、
50 / 14の結果は、
- 実際の計算:3.5714…
- C言語の結果:3
になります。
この挙動はエラーではなく、
型のルール通りの正しい動作 です。
この理由については、
次に学ぶ「型」の話と深く関係しています。
剰余演算の意味
剰余演算 % は、
割り算の余りを求める演算
です。
50 % 14の場合、
- 14 × 3 = 42
- 50 − 42 = 8
となり、結果は 8 になります。
剰余演算は、
- 偶数・奇数の判定
- 周期的な処理
などで、後の章でも頻繁に登場します。
マイナスの結果も正しい
次の点も大切です。
a - bは、
- a と b の「差」を求めているのではない。
- a から b を引いている。
という演算です。
そのため、
b のほうが大きければ、結果は負の値になります。
これは「間違い」ではなく、
演算の定義どおり の結果です。
この章でこれから学ぶこと
ここまでで、演算の基本的な形は見えてきました。
この先の節では、
- 型による計算結果の違い
- 整数型と実数型の使い分け
- 演算の優先順位
などを、順番に学んでいきます。
ここでのポイントは一つだけです。
演算の結果は、使われている型によって変わる
この感覚を持ったまま、
次の節へ進んでいきましょう。
ここからが、
C言語らしさが一気に見えてくる章 です 😊
次は「型」が計算結果にどう影響するのかを、
じっくり見ていきましょう。
