今日の人気記事

  1. 変数 - 予約語
  2. MinGW - gcc の環境設定(パスを通す) - Windows環境
  3. int main(void) - プログラムの基本
  4. MacでC言語 - コンパイラ(gcc)のインストール - Xcode - Command Line Tools
  5. 論理演算子 - 条件分岐

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文」をみていきます。

基本構文 の人気記事

  1. printf関数の変換指定子
  2. int main(void) - プログラムの基本
  3. 変数の値を出力 - printf 関数
  4. 条件演算子(3項演算子)「? :」
  5. while文 - 繰り返し処理
  6. continue文 - ループをスキップ
  7. 関数のプロトタイプ宣言
  8. エスケープシーケンス - 特殊文字
  9. 変数 - 予約語
  10. 四則演算 - 算術演算子

関連記事(一部広告含む)