C のループ: For、while、Do While ループ文 [例]

C のループとは何ですか?

C のループ文 指定された条件が false になるまで、一連のステートメントを何度も実行します。 C のループは、ループ本体と制御ステートメントの XNUMX つの部分で構成されます。 制御ステートメントは、指定された条件が false になるまでループの本体を実行するように指示するいくつかの条件の組み合わせです。 C ループの目的は、同じコードを何度も繰り返すことです。

C のループの種類

プログラム内の制御文の位置に応じて、C のループ文は XNUMX つのタイプに分類されます。

1. 入口制御ループ

2. 制御ループを終了する

C のエントリ制御ループ、 ループの本体を実行する前に条件がチェックされます。 事前チェックループとも呼ばれます。

制御されたループを終了する、ループ本体の実行後に条件がチェックされます。 事後検査ループとも呼ばれます。

C のループの種類
サンプルループ

制御条件は明確に定義され指定されていなければならず、そうでないとループは無限回実行される。実行を停止せず、文を何回も処理するループは、 無限ループ。 無限ループは「」とも呼ばれます。無限ループ無限ループの特徴は次のとおりです。

1. 終了条件は指定されていません。

2. 指定された条件が満たされない。

指定された条件によって、ループ本体を実行するかどうかが決まります。

「C」プログラミング言語では、次の XNUMX 種類のループ構造が提供されます。

1. while ループ

2. do-while ループ

3. for ループ

Sr. ループタイプ 詳細説明
1. Whileループ while ループでは、ループ本体を処理する前に条件が評価されます。 条件が true の場合にのみ、ループの本体が実行されます。
2. Do-while ループ do…while ループでは、条件は常にループ本体の後に実行されます。 これは、終了制御ループとも呼ばれます。
3. ループ for ループでは、初期値は 1 回だけ実行され、その後、条件は各反復後にカウンターをテストして固定値と比較し、false が返されると for ループを停止します。

Cでループしている間

while ループは最も単純なループ構造です。C プログラミング言語の while ループ構文は次のとおりです。

C の While ループの構文

while (condition) {
             statements;
}

これはエントリ制御されたループです。 while ループでは、ループ本体を処理する前に条件が評価されます。 条件が true の場合にのみ、ループの本体が実行されます。 ループ本体が実行された後、制御は再び先頭に戻り、条件が真であるかどうかがチェックされ、条件が偽になるまで同じプロセスが実行されます。 条件が false になると、制御はループから外れます。

ループを抜けた後、制御はループの直後のステートメントに移ります。 ループの本体には複数のステートメントを含めることができます。 ステートメントが XNUMX つだけ含まれている場合、中括弧は必須ではありません。 ただし、本文にステートメントが XNUMX つしかない場合でも、中括弧を使用することをお勧めします。

while ループでは、条件が true でない場合、ループの本体は一度も実行されません。 do while ループでは異なりますが、これについては後で説明します。

次のプログラムは、C プログラミング例の while ループを示しています。

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

出力:

1
2
3
4
5
6
7
8
9
10

上記のプログラムは while ループの使用方法を示しています。上記のプログラムでは、while ループを使用して 1 から 10 までの一連の数字を出力しています。

Cでループしている間
C プログラミングでの While ループ
  1. num という変数を値 1 で初期化しました。1 から 10 まで出力するので、変数は値 1 で初期化されます。0 から出力したい場合は、初期化中に値 0 を割り当てます。
  2. while ループでは条件 (num<=10) を指定しました。これは、num の値が 10 になるまでループが本体を実行することを意味します。その後、ループは終了し、制御はループの外に落ちます。
  3. ループ本体には、数値を出力する print 関数と、ループの実行ごとに値を増分する増分操作があります。num の初期値は 1 で、実行後は 2 になり、次の実行では 3 になります。このプロセスは、値が 10 になるまで継続され、その後、コンソールに一連の数値が出力されてループが終了します。

\n は書式設定の目的で使用され、値が新しい行に出力されることを意味します。

C の Do-while ループ

C の do…while ループは while ループと似ていますが、条件が常にループ本体の後に実行される点が異なります。 これは、終了制御ループとも呼ばれます。

C プログラミング言語の do while ループの構文は次のとおりです。

C の Do-while ループの構文

 do {
  statements
} while (expression);

while ループで見たように、条件が真の場合にのみ本体が実行されます。場合によっては、条件が偽であってもループ本体を少なくとも 1 回実行する必要があります。このタイプの操作は、do-while ループを使用して実現できます。

do-while ループでは、ループ本体は常に少なくとも 1 回実行されます。本体が実行された後、条件がチェックされます。条件が true の場合は、ループ本体が再度実行され、そうでない場合は制御がループ外に移されます。

while ループと同様に、制御がループの外に出ると、ループの直後のステートメントが実行されます。

while ループと do-while ループの決定的な違いは、while ループでは while が先頭に記述されることです。 do-while ループでは、while 条件が最後に記述され、セミコロン (;) で終了します。

次の C のループ プログラムは、do-while ループの動作を示しています。

以下は、番号 2 のテーブルを出力する C の do-while ループの例です。

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

出力:

2
4
6
8
10
12
14
16
18
20

上の例では、do-while ループを使用して 2 の九九を出力しました。 プログラムがどのようにシリーズを印刷できるかを見てみましょう。

C の Do-while ループ
C プログラミングの Do-while ループ
  1. まず、変数 'num' を値 1 で初期化しました。次に、do-while ループを作成しました。
  2. ループ内には、num の値に 2 を乗算して系列を出力する print 関数があります。
  3. 増加するたびに、num の値は 1 ずつ増加し、画面に表示されます。
  4. 最初、num の値は 1 です。ループの本体では、print 関数が次のように実行されます: 2*num (num=1 の場合)、その後 2*1=2 となるため、値 10 が出力されます。 これは、num の値が 0 になるまで続きます。その後、ループは終了し、ループの直後のステートメントが実行されます。 この場合は XNUMX を返します。

C の for ループ

for ループは、「C」プログラミングにおけるより効率的なループ構造です。 C の for ループ構文の一般的な構造は次のとおりです。

C の For ループの構文

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  • for ループの初期値は XNUMX 回だけ実行されます。
  • 条件はブール式であり、各反復後にカウンターをテストして固定値と比較し、false が返されたときに for ループを停止します。
  • インクリメント/デクリメントにより、カウンタは設定値ずつ増加 (または減少) します。

次のプログラムは、C プログラミング例の for ループを示しています。

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

出力:

1
2
3
4
5
6
7
8
9
10

上記のプログラムは、for ループを使用して 1 から 10 までの一連の数値を出力します。

C の for ループ
C プログラミングの For ループ
  1. 私たちは宣言しました 変数 値を格納するには int データ型を使用します。
  2. for ループの初期化部分で、変数番号に値 1 を代入しました。 条件部分で条件を指定し、次に増分部分を指定します。
  3. ループの本体には、コンソールの新しい行に数字を出力する print 関数があります。number に値 2 が格納されており、最初の反復後に値が増分されて 2 になります。これで、変数 number の値は 10 になります。条件が再チェックされ、条件が true であるため、ループが実行され、画面に 1 が出力されます。このループは、変数の値が 10 になるまで実行され続けます。その後、ループは終了し、XNUMX ~ XNUMX の一連の数字が画面に出力されます。

C では、for ループの各部分にカンマで区切られた複数の式を含めることができます。

具体的な例を挙げますと、以下の通りです。

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

また、セミコロンを追加することで、初期値の式、条件、増分をスキップすることもできます。

具体的な例を挙げますと、以下の通りです。

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

外側のループと内側のループがある場合、ループを入れ子にすることもできることに注意してください。 外側のループが反復されるたびに、内側のループはサイクル全体を繰り返します。

C プログラミングでネストされた for ループを使用して乗算表を出力する、for ループ内に複数の条件がある次の例を考えてみましょう。

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

出力:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

for ループのネストは任意のレベルまで行うことができます。ネストされたループは、コードを読みやすくするために適切にインデントする必要があります。一部のバージョンの 'C' では、ネストは最大 15 ループに制限されていますが、それ以上のループを提供するバージョンもあります。

ネストされたループは主に配列アプリケーションで使用されます。これについては、後のチュートリアルで説明します。

C の Break ステートメント

Break ステートメントは主に次のような場合に使用されます。 switchステートメント。 ループを即座に停止する場合にも役立ちます。

while ループを終了するために break を導入する次のプログラムを考えてみます。

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

出力:

5
4

C の Continue ステートメント

次の反復にスキップしてループに留まりたい場合は、 continue ステートメントを使用する必要があります。

具体的な例を挙げますと、以下の通りです。

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

出力:

6
4
3
2
1

したがって、値 5 はスキップされます。

どのループを選択しますか?

ループの選択はプログラマーにとって常に難しい作業です。ループを選択するには、次の手順を実行します。

  • 問題を分析し、事前テストまたは事後テストのループが必要かどうかを確認します。
  • 事前テストが必要な場合は、while ループまたは for ループを使用します。
  • 事後テストが必要な場合は、do-while ループを使用します。

製品概要

  • C言語でループを定義する: ループはあらゆる言語の重要な概念の1つです プログラミング言語。 C 言語のループは条件文を使用して実装されます。
  • C のループ制御ステートメントのブロックは、条件が false になるまで何度も実行されます。
  • C プログラミングのループには、開始制御と終了制御の 2 つのタイプがあります。
  • C でのさまざまなループ制御命令をリストします。C プログラミングでは、1) while 2) do-while および 3) for ループ制御命令が提供されます。
  • for および while ループ C プログラミングは、C 言語のエントリ制御ループです。
  • Do-while は C の終了制御ループです。