C 言語におけるネストされたループ

CBeginner
オンラインで実践に進む

はじめに

ループは、特定の条件に基づいてコードを繰り返し実行できるステートメントです。C 言語では、forループが頻繁に使用され、特に特定の回数での反復処理に使用されます。ネストされたループの概念は、1 つのループが別のループのループブロック内に配置されている場合です。このプログラミングは、目的の出力パターンを取得するために使用されます。この実験では、C 言語プログラミングにおけるネストされたループの実行方法を学びます。

新しい C ファイルを作成する

ターミナルを開き、以下のコマンドを実行して、main.cという名前の新しい C ファイルを作成します。

touch ~/project/main.c

~/project/の代わりに、任意の他のディレクトリを使用することもできますし、エディタを使って手動でファイルを作成することもできます。

初期の C プログラムを書く

まずは、ネストされたループを使って「*」のパターンを空白で区切って表示する簡単な C プログラムを書いてみましょう。以下がコードです。

#include<stdio.h>

int main()
{
      printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
      printf("\n\nNested loops are usually used to print a pattern in c. \n\n");
      printf("\n\nThey are also used to print out the matrix using a 2 dimensional array. \n\n");

      int i,j,k;
      printf("\n\nOutput of the nested loop is :\n\n");
      for(i = 0; i < 5; i++)
      {
         printf("\t\t\t\t");
         for(j = 0; j < 5; j++)
         printf("* ");

         printf("\n");
      }
      printf("\n\n\t\t\tCoding is Fun!\n\n\n");
      return 0;
}

コードの理解

進める前に、プログラムの構造を理解しましょう。

まず、「stdio.h」というヘッダーファイルをインクルードしています。このヘッダーファイルには、printf() や scanf() などの標準入出力関数が含まれています。

次に、main 関数の中で、printf() 関数を使ってコンソールに 3 つのメッセージ「LabEx - Best place to learn」、「Nested loops are usually used to print a pattern in c.」、「They are also used to print out the matrix using a 2 dimensional array.」を表示しています。

その後、ループで使用するために 3 つの変数 i、j、k を宣言しています。ネストされた for ループの中では、2 つの for ループを使用しています。外側の for ループは行数を制御し、内側の for ループは列数を制御します。

では、ネストされたループの動作について説明しましょう。外側のループは i 変数を 0 に初期化します。i < 5 であるかどうかをチェックします。もしそれが真であれば、制御は内側のループに渡り、内側のループは j 変数を 0 に初期化します。内側のループは j < 5 であるかどうかをチェックします。もしそれが真であれば、アスタリスクと空白を表示し、その後 j をインクリメントします。

内側のループが完全に実行されると、制御は外側のループに戻り、i 変数の値がインクリメントされます。これが i 変数が 5 になるまで続き、両方のループが実行を終了します。

コードを修正する

さて、既存のコードを修正して独自の出力パターンを作成する時が来ました。変数「i」と「j」を修正することで好きなパターンを作成してみてください。たとえば、以下のようにプログラムを修正することで、空白で区切られた正方形の'*'のパターンを表示できます。

#include<stdio.h>

int main()
{
      printf("\n\n\t\tLabEx - Best place to learn\n\n\n");
      printf("\n\nNested loops are usually used to print a pattern in c. \n\n");
      printf("\n\nThey are also used to print out the matrix using a 2 dimensional array. \n\n");

      int i,j,k;
      printf("\n\nOutput of the nested loop is :\n\n");

      for(i=0;i<5;i++)  // 外側のループ
      {
         printf("* ");
         for(j=0;j<4;j++)  // 内側のループ
         printf("* ");
         printf("\n");
      }

      printf("\n\n\t\t\tCoding is Fun!\n\n\n");
      return 0;
}

コードをコンパイルして実行する

プログラムに必要な変更を加えた後、ファイルを保存し、ターミナルで以下のコマンドを使用してコンパイルします。

gcc main.c -o main

上記のコマンドを実行すると、コードがコンパイルされ、エラーがなければ、「main」という名前の実行可能ファイルが生成されます。

次に、以下のコマンドを実行してコードを実行します。

./main

まとめ

この実験では、C 言語におけるネストされたループについて学びました。ネストされたループの概念、その重要性、およびそれを使って目的の出力パターンを得る方法について議論しました。ネストされたループを使った C プログラムを作成するための手順を一通り見ました。結論として、ネストされたループは、表、多次元配列、および大文字の文字を処理するために使用されるため、C 言語のプログラミングにおいて重要な役割を果たします。