C言語入門:②-3 繰り返し処理【基礎ロジック】

これまでの記事では、「順次処理」「分岐処理」について学習してきました。

ここまで理解できていれば、プログラムの基本的な動きはかなり見えるようになっています。

本記事では

  • 同じ処理を何度も実行したい
  • 条件が満たされるまで処理を続けたい

上記の処理を行いたいときに必要な以下の3つの繰り返し処理(ループ)について解説します。

  1. for文
  2. while文
  3. break文

本記事の目的・学習目標

学習目標は次の4点です。

  • 繰り返し処理とは何かを理解する
  • 同じ処理を何度も実行する仕組みを理解する
  • for文、while文、break文を理解する
  • for文、while文の違いを理解する

この記事での学習が完了することで、プログラムが自動的に同じ処理を繰り返す仕組みを理解できるようになります。

繰り返し処理とは

繰り返しとは、

  • 同じ処理を何度も実行する仕組み

のことです。

具体的には、

  • 1〜5までの数字を表示する
  • 条件が成立するまで処理を続ける

このように、処理を自動で繰り返す仕組みが繰り返しです。

繰り返し処理の基本構造

繰り返し処理は、次の流れで動きます。

  1. 条件を確認する
  2. 条件が成立 → 処理を実行
  3. 再び条件の確認に戻る

処理の流れ(図解)

以下図にて「条件に当てはまる場合、処理Aを繰り返す」という動作をしています。

for文とは

for文は、回数を決め、その回数分だけ繰り返しさせる場合に使用します。

具体的には条件の範囲を明確にします。

例:電子レンジの秒数減少の表示

  • 60秒のカウントダウンを画面に表示させる

※0秒の表示が最後になるため、59~0の表示をすることで60回とします。

基本構文

for文は、次の形で書きます。

これらを電子レンジの例に当てはめた場合、以下の動作をさせたいことになります。

for(59;0;1ずつ減らす)
{
「あと_秒」と表示させる
}

for文を使用したコード例

上記の「60秒のカウントダウンを画面に表示させる」例をコードにして書くとこのようになります。

for文ではカウントをプログラムが記憶する必要があるため変数iを作成します。

for文のルールでは開始地点の設定を記載する際に変数iを定義します。

変数iに値を設定し、終了条件、カウントの方法、という流れで書くことになっています。

for文で使用するための「ループ範囲で使用する変数」では意味を持つ変数ではないため、iという変数を基本的に作成し、使用します。

while文とは

while文は、条件が成立している間繰り返す処理です。

以下の流れを繰り返します。

繰り返し処理は、次の流れを繰り返しています。

  • 条件を確認する
  • 条件が成立している場合、処理を実行する
  • 処理後、再び条件の確認に戻る

この流れが止まるのは、条件が成立しなくなったときです。

基本構文

while文は、次の形で書きます。

条件が成立している間、処理を繰り返します。

while文では、以下2点が注意点となります。

  • 変数を自分で用意する
  • ループの中で値を更新しないと無限ループになる

while文を使用したコード例

動作の例としてfor文と同じく「60秒のカウントダウンを画面に表示させる」場合、以下のコードになります。

while文を使用する際には変数を使用します。(今回のコードではtimeと命名)

while文での動作では条件を満たしているのかどうかの状態だけを判断しています。

上記のコードでは「time変数が0以上か」どうかだけを判断しているとなっています。

結果の動作としてはfor文と同じですが、判断方法が違うということがわかります。

for文・while文の違い

ここまでfor文、while文を解説しましたが、動作としてはどちらも繰り返しの処理となります。

二つの違いとしては動作の判断基準となります。

for文では回数で判断し、while文では状態を判断しています。

イメージ図:

  • for文では設定した最終地点まで確実に進んでいます。
  • while文では最終地点がなく、状態が条件に達しない限り処理が続きます。

break文とは

break文は、繰り返し処理を途中で強制的に終了させる命令です。

break文がなぜ必要なのか

繰り返し処理は通常、条件が成立しなくなるまで続きます。

しかし、

  • 条件とは別の理由で止めたい場合
  • 途中で終了したい場合

このようなときにbreak文を使用します。

break文を使用したコード例

基本的にbreak文を使用するにはif文と同時に使用します。

以下の書き方になります。

コードにした場合、以下の文になります。

まとめ

本記事では、繰り返し処理の基本を解説しました。

  • 繰り返し処理は同じ処理を何度も実行する仕組み
  • for文は回数で繰り返す
  • while文は条件(状態)で繰り返す
  • break文は途中で処理を終了させる

これらを理解することで、処理を自動で繰り返すプログラムの流れが理解できるようになります。

本記事で登場した用語

本シリーズでは、記事で登場する専門用語を補助知識カテゴリの「④-4 用語辞典」 にまとめています。

① 繰り返し処理(ループ)

同じ処理を何度も実行する仕組み

② for文

回数を指定して繰り返す構文

③ while文

条件が成立している間繰り返す構文

④ break文

繰り返し処理を途中で終了させる命令

⑤ 条件

処理を実行するかどうかを判断するための式

⑥ i

for文で使用されるカウント用の変数
繰り返しの回数や現在の回数を管理するために使用される

関連記事

次の記事では、関数 について解説します。

▶ 次の記事
C言語入門:②-4 関数【基礎ロジック】

◀ 前回の記事
C言語入門:②-2 分岐処理【基礎ロジック】

◆同じカテゴリの記事一覧(概要ページ)
C言語入門シリーズ:②-0 基礎ロジック【概要】全5記事

◆シリーズの記事一覧
C言語入門シリーズ:プログラムの基本構造【記事一覧】

1 COMMENT

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です