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小数部をもつ実数

たとえるなら、

  • 型:タコ焼きの型
  • 変数:その型から作られた本物のタコ焼き

という関係です。

整数型と浮動小数点型の違い

項目intdouble
小数部切り捨て保持
定数の例5, 373.14, 2.0
演算結果整数実数

整数どうしの演算結果は整数、
浮動小数点数どうしの演算結果は実数になります。

異なる型どうしの演算と暗黙の型変換

int と double が混在した演算では、
暗黙の型変換 が行われます。

小さいほうの型は、
より扱いの広い型に変換されてから演算されます。

演算実際の処理
int + doubledouble + double
int / doubledouble / double

キャスト(明示的な型変換)

意図的に型を変換したいときは キャスト を使います。

(double)5
→ int の 5 を double の 5.0 に変換

キャストは
「この値を、別の型として扱いたい」
という明確な意思表示です。

printf と scanf の変換指定

入出力では 変換指定 が重要です。

用途intdouble
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章のまとめ」を押さえておけば、
次の 条件分岐・繰り返し・配列 に進む準備は万全です 😊