今日の人気記事

  1. MinGW - gccのコンパイルと実行 - Windows環境
  2. MinGW - gcc のインストール - Windows環境
  3. サンプルプログラム集
  4. MinGW - gcc の環境設定(パスを通す) - Windows環境
  5. コンパイルと実行 - GNU Compiler Collection(gcc) - Mac環境

for文 - 入れ子(ネスト)多階層の繰り返し処理

スポンサーリンク

前回は「for文の基本構文」を紹介しました。

繰り返し処理は多階層にすることができるので、ここではその方法をみていきます。

入れ子(ネスト) - 多階層の繰り返し

多階層の繰り返し処理(入れ子、ネストとも言います)はよく使う構文なので、ササッと使えるようにしておきましょう。

多階層の繰り返しでは次のように

for(i=0;i<10;++i){
  // カウンタ「i」の繰り返し処理
  for(j=0;j<10;++j){
    // カウンタ「j」の繰り返し処理
  }
}

カウンタ「i」の繰り返し処理の中に……カウンタ「j」の繰り返し処理をネストしています。

実際に具体例(プログラム)で、動きを確認しましょう。

スポンサーリンク

サンプルプログラム

多階層の繰り返し処理のカウンタ変数「i」と「j」を出力するサンプルプログラムです。

#include <stdio.h>

int main(void){

  /* カウンタ変数の宣言 */
  int i, j;

  /* 多階層の繰り返し処理 */
  for(i=0;i<10;++i){
    for(j=0;j<10;++j){
      /* カウンタを表示 */
      printf("%d %d\n", i, j);
    }
  }

  return 0;
}
0 0
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
2 0
2 1
2 2
2 3
2 4
2 5
2 6
2 7
2 8
2 9
3 0
3 1
3 2
3 3
3 4
3 5
3 6
3 7
3 8
… 略 …

このような実行結果になります。

外側のループのカウンタ「i」が1つ増加する間に内側のループのカウンタ「j」がひと回り(0〜9)します。

数の「1の位」「10の位」と同じように動くことがわかりますね。

次はfor文と同じく繰り返し処理を実行する構文「while文」をみていきます。

スポンサーリンク