
C言語のきほん|アルゴリズムの表現方法
いきなりコードが難しいなら、まず図で考えよう!流れ図で“手順”を見える化すると、アルゴリズムがスッと書けるよ。
アルゴリズムは「問題を解く手順書」だけど、手順が長くなると、頭の中だけで整理するのがしんどくなってきます。特にソートみたいに「比較」「交換」「繰り返し」が絡む手順は、途中で迷子になりやすいんですよね。
そんなときに助けになるのが、アルゴリズムを図や文章で表現する方法です。
いきなりC言語のコードにせず、
- 手順を箇条書きで並べる
- 表で整理する
- 図で流れを描く
みたいに「先に見える形」にすると、考え方がスッキリします。
この記事では、とくに初学者に役立つ 流れ図(フローチャート) を中心に、アルゴリズムの表現方法を解説します。
なぜ“表現方法”が必要なの?
アルゴリズムにはたいてい次の要素が入ってきます。
| よく出る操作 | 例 |
|---|---|
| 順番どおりに処理する | 入力 → 計算 → 表示 |
| 条件で分ける | もし点数が60以上なら合格 |
| 繰り返す | 5回繰り返す、条件を満たすまで繰り返す |
この3つが組み合わさると、口で説明するのは意外と大変です。
だからこそ、図や決まったルールで表現して、他人にも自分にも伝わりやすくします。
流れ図(フローチャート)とは
流れ図(フローチャート)は、処理の流れを図にしたものです。
ざっくり言うと「上から下へ、矢印で手順をつないだ図」です。
流れ図が役立つ場面
| 目的 | どう嬉しい? |
|---|---|
| 処理手順を整理する | 何をどの順番でやるかが見える |
| 他人に説明する | 図を見せれば一発で伝わりやすい |
| コードを書く準備 | if や for の形が自然に決まってくる |
「コードを書く前の下書き」として使うと、とても強いです。
流れ図の主な記号(覚えるのはまず少数でOK)
流れ図にはJISで決まった記号があります。全部を暗記しなくても大丈夫で、最初は頻出だけ押さえるのがおすすめです。
最初に覚える5つ(これだけでだいたい描ける)
| 記号の名前 | 役割 | 例 |
|---|---|---|
| 端子 | 開始・終了 | 開始 / 終了 |
| 処理 | 計算や代入 | 合計を計算 |
| 判断 | 条件分岐 | 合計が100以上? |
| データ | 入力やデータ | 数値を入力 |
| 表示 | 画面出力 | 結果を表示 |
他にも「定義済み処理」「ループ端」などがありますが、まずはこの5つで十分に練習できます。

流れ図で表すと何が見える?
ここではソートじゃなく、もっとシンプルな例に置き換えて「図にする意味」を体感します。
例として「2つの値を入力して、大きい方を表示する」を考えます。
手順を文章で書く(まずはこれでOK)
- a と b を入力する
- a が b より大きいか判定する
- 大きい方を表示する
- 終了する
この時点でもアルゴリズムですが、流れ図にすると分岐がよりはっきりします。
流れ図っぽい表現(文字で表す)

こうしておくと、C言語で書くときに if が必要だな、と自然に見えてきます。
流れ図をC言語に落とす(別のシンプル例に変更)
上の例を、そのままC言語にします。
ファイル名:7_3_1.c
#include <stdio.h>
int main(void)
{
int a, b;
printf("整数を2つ入力してください。\n");
printf("1つ目 > ");
scanf("%d", &a);
printf("2つ目 > ");
scanf("%d", &b);
/* 判断:aがbより大きいかどうか */
if (a > b) {
printf("大きい方は%dです。\n", a);
} else {
printf("大きい方は%dです。\n", b);
}
printf("メッセージ: 流れ図で分岐を整理すると、ifが書きやすくなるよ。\n");
return 0;
}「判断」が if に対応しているのが分かれば、流れ図を描く価値が一気に見えてきます。
流れ図を作るときの注意点
複雑にしすぎない
流れ図は自由に描ける分、手順を全部盛りにすると図がぐちゃぐちゃになりがちです。
大きくなりそうなら、「定義済み処理」っぽくまとめて、処理を分割する意識が大切です。
記号の使い方を統一する
同じ意味の処理は同じ記号で書く、と決めると読みやすさが上がります。
上から下が基本
流れ図は基本的に上から下へ流します。逆向きに戻るときは、矢印をはっきり描きます。とくにループは「どこに戻るか」を迷わせないのがコツです。
開発現場では流れ図は少ないけど、学習には強い

実際の現場だと、流れ図は大規模になるほど読みづらくなりやすく、あまり使われないことが多いです。代わりに、モジュール設計や構造化された設計図のほうが向いています。
でも、初学者が
- 順次
- 分岐
- 繰り返し
を直感で掴むには、流れ図はすごく強いです。
紙でもメモでもいいので、まずは「手順を図にするクセ」を付けると、アルゴリズムが書けるスピードが上がっていきます。
