
C言語基礎|2章のまとめ
2章のまとめ ― 演算・型・表示を一気に振り返ろう
第2章では、C言語で計算を行うための演算子、
数値の扱いを決める型、
結果を人に見せるための printf と変換指定 までを一通り学びました。
この章は、
「C言語がどうやって数値を計算し、どうやって表示しているのか」
を理解するための、とても大切な基礎が詰まっています。
ここでは、それらを整理しながら、全体像をもう一度確認していきましょう。

演算子とオペランドの考え方
- や * などの記号は 演算子 と呼ばれます。
演算の対象となる値や変数は オペランド です。
演算子は、オペランドの数によって次のように分類できます。
| 種類 | 例 | 説明 |
|---|---|---|
| 単項演算子 | -a | オペランド1個 |
| 2項演算子 | a + b | オペランド2個 |
| 3項演算子 | 条件 ? a : b | オペランド3個 |
単項 + は値をそのまま使い、
単項 - は符号を反転した値を生成します。
演算子の優先順位と ( )
演算子には 優先順位 があります。
| 演算 | 優先度 |
|---|---|
| 乗算・除算・剰余 | 高い |
| 加算・減算 | 低い |
そのため、
a + b / 2
は
a + (b / 2)
として計算されます。
もし
(a + b) / 2
を先に計算したい場合は、( ) で囲む必要があります。
乗除演算子と % 演算子の注意点
乗算 *、除算 /、剰余 % は 乗除演算子です。
特に注意したいのが % 演算子 です。
| 演算子 | 役割 | 制限 |
|---|---|---|
| / | 商を求める | 型により結果が変わる |
| % | 剰余を求める | 両方とも整数型のみ |
% は 浮動小数点数では使えません。
式と文の関係
- 変数・定数・演算子を組み合わせたものが 式
- 式の後ろにセミコロンを付けたものが 式文
例
a = b + 3;これは
代入演算子 = を使った 代入式 であり、同時に 式文 でもあります。
型は設計図、変数は実体
型は、その値がどんな性質をもつかを決める 設計図 です。
| 型 | 扱える値 |
|---|---|
| int | 整数 |
| double | 小数部をもつ実数 |
たとえるなら、
- 型:タコ焼きの型
- 変数:その型から作られた本物のタコ焼き
という関係です。
整数型と浮動小数点型の違い
| 項目 | int | double |
|---|---|---|
| 小数部 | 切り捨て | 保持 |
| 定数の例 | 5, 37 | 3.14, 2.0 |
| 演算結果 | 整数 | 実数 |
整数どうしの演算結果は整数、
浮動小数点数どうしの演算結果は実数になります。
異なる型どうしの演算と暗黙の型変換
int と double が混在した演算では、
暗黙の型変換 が行われます。
小さいほうの型は、
より扱いの広い型に変換されてから演算されます。
| 演算 | 実際の処理 |
|---|---|
| int + double | double + double |
| int / double | double / double |
キャスト(明示的な型変換)
意図的に型を変換したいときは キャスト を使います。
(double)5
→ int の 5 を double の 5.0 に変換
キャストは
「この値を、別の型として扱いたい」
という明確な意思表示です。
printf と scanf の変換指定
入出力では 変換指定 が重要です。
| 用途 | int | double |
|---|---|---|
| scanf | %d | %lf |
| printf | %d | %f |
printf では、
最小フィールド幅・精度・フラグを組み合わせて表示形式を制御できます。
第2章の内容を確認するサンプルプログラム
プロジェクト名:chap2-11-1 ソースファイル名:chap2-11-1.c
Visual Studio でこのプログラムを実行するには、SDLチェック設定を変更しておく必要があります。
1.プロジェクト名を右クリックして、「プロパティ」をクリックします。
2.「C/C++」→「全般」→「SDLチェック」を「いいえ」に切り替えて「OK」をクリックします。
// 第2章まとめ:演算・型・表示の確認
#include <stdio.h>
int main(void)
{
int x, y;
double radius;
printf("二つの整数を入力してください:");
scanf("%d%d", &x, &y);
printf("和 = %d\n", x + y);
printf("差 = %d\n", x - y);
printf("積 = %d\n", x * y);
printf("商 = %d\n", x / y);
printf("剰余 = %d\n", x % y);
printf("平均値 = %.2f\n", (double)(x + y) / 2);
printf("円の半径を入力してください:");
scanf("%lf", &radius);
printf("半径%.2fの円の面積は%.3fです。\n",
radius, 3.14 * radius * radius);
return 0;
}実行例
二つの整数を入力してください:5 2
和 = 7
差 = 3
積 = 10
商 = 2
剰余 = 1
平均値 = 3.50
円の半径を入力してください:4.25
半径4.25の円の面積は56.716です。2章で身につけたこと
- 演算子と優先順位
- int と double の違い
- 暗黙の型変換とキャスト
- printf / scanf の変換指定
- 表示を整える書式指定
これらは 今後すべてのCプログラムの土台 になります。
この「2章のまとめ」を押さえておけば、
次の 条件分岐・繰り返し・配列 に進む準備は万全です 😊
