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

CCBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/FileHandlingGroup(["File Handling"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/FileHandlingGroup -.-> c/write_to_files("Write To Files") c/FileHandlingGroup -.-> c/create_files("Create Files") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123289{{"C 言語におけるネストされたループ"}} c/for_loop -.-> lab-123289{{"C 言語におけるネストされたループ"}} c/write_to_files -.-> lab-123289{{"C 言語におけるネストされたループ"}} c/create_files -.-> lab-123289{{"C 言語におけるネストされたループ"}} c/output -.-> lab-123289{{"C 言語におけるネストされたループ"}} end

新しい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言語のプログラミングにおいて重要な役割を果たします。