C while と do...while ループ
C while と do...while ループ
このチュートリアルでは、サンプルを使用して、C プログラミングで while および do...while ループを作成する方法を学習します。
プログラミングでは、ループを使用して、指定された条件が満たされるまでコード ブロックを繰り返します。
C プログラミングには 3 種類のループがあります。
<オール>
前のチュートリアルでは、 for
について学びました ループ。このチュートリアルでは、while
について学びます。 と do..while
ループ。
while ループ
while
の構文 ループは:
while (testExpression) {
// the body of the loop
}
while ループのしくみ
while
ループはtestExpression
を評価します 括弧内()
.- If
testExpression
本当です 、while
の本体内のステートメント ループが実行されます。次に、testExpression
再評価されます。 - プロセスは
testExpression
まで続きます false と評価されます . - If
testExpression
偽です 、ループが終了します (終了します)。
テスト式の詳細については (testExpression
の場合) true と評価されます そして偽 )、関係演算子と論理演算子を確認してください。
while ループのフローチャート
<図>
例 1:while ループ
// Print numbers from 1 to 5
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
++i;
}
return 0;
}
出力
1 2 3 4 5
ここで、i を初期化しました 1.
<オール>i = 1
の場合 、テスト式 i <= 5
本当です .したがって、 while
の本体 ループが実行されます。これは 1
を出力します 画面と i の値 2
に増加 .i = 2
、テスト式 i <= 5
これも真です . while
の本体 ループが再び実行されます。これは 2
を出力します 画面と i の値 3
に増加 .i <= 5
false になります そしてループは終了します。do...while ループ
do..while
ループは while
に似ています 重要な違いが 1 つあります。 do...while
の本体 ループは少なくとも 1 回実行されます。その後、テスト式が評価されます。
do...while
の構文 ループは:
do {
// the body of the loop
}
while (testExpression);
while ループはどのように機能しますか?
do...while
の本体 ループは 1 回実行されます。そのときだけ、testExpression
評価されます。- If
testExpression
本当です 、ループの本体が再度実行され、testExpression
もう一度評価されます。 - このプロセスは
testExpression
まで続きます 偽になる . - If
testExpression
偽です 、ループが終了します。
do...while ループのフローチャート
<図>
例 2:do...while ループ
// Program to add numbers until the user enters zero
#include <stdio.h>
int main() {
double number, sum = 0;
// the body of the loop is executed at least once
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}
出力
Enter a number: 1.5 Enter a number: 2.4 Enter a number: -3.4 Enter a number: 4.2 Enter a number: 0 Sum = 4.70
ここでは、do...while
を使用しています。 ループして、ユーザーに数値の入力を求めるプロンプトを表示します。入力番号が 0
でない限り、ループは機能します。 .
do...while
ループ は少なくとも 1 回実行されます。つまり、最初の反復は条件をチェックせずに実行されます。条件は、最初の反復が実行された後にのみチェックされます。
do {
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
したがって、最初の入力がゼロ以外の数値の場合、その数値は sum に追加されます variable であり、ループは次の繰り返しに続きます。このプロセスは、ユーザーが 0
を入力するまで繰り返されます .
ただし、最初の入力が 0 の場合、ループと sum の 2 回目の反復は行われません。 0.0
になります .
ループの外では、sum の値を出力します。 .
C言語