C ブレイク アンド コンティニュー
C ブレーク アンド コンティニュー
前のチュートリアルでループについて学びました。このチュートリアルでは、例を使って break と continue ステートメントの使い方を学びます。
C ブレイク
break ステートメントは、ループに遭遇するとすぐにループを終了します。その構文は次のとおりです:
break;
break ステートメントは、ほとんどの場合 if...else
で使用されます。 ループ内のステートメント。
break ステートメントの仕組み
<図>例 1:break ステートメント
// Program to calculate the sum of numbers (10 numbers max)
// If the user enters a negative number, the loop terminates
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter n%d: ", i);
scanf("%lf", &number);
// if the user enters a negative number, break the loop
if (number < 0.0) {
break;
}
sum += number; // sum = sum + number;
}
printf("Sum = %.2lf", sum);
return 0;
}
出力
Enter n1: 2.4 Enter n2: 4.5 Enter n3: 3.4 Enter n4: -3 Sum = 10.30
このプログラムは、最大 10 個の数値の合計を計算します。なぜ最大 10 個の数字なのですか?ユーザーが負の数を入力すると、 break
ステートメントが実行されます。これで for
が終了します ループ、および 合計 が表示されます。
C では、break
switch
でも使用されます 声明。これについては、次のチュートリアルで説明します。
C 続行
continue
ステートメントは、ループの現在の反復をスキップして、次の反復を続行します。その構文は次のとおりです:
continue;
continue
ステートメントは、ほとんどの場合 if...else
とともに使用されます。
continue ステートメントの仕組み
<図>例 2:continue ステートメント
// Program to calculate the sum of numbers (10 numbers max)
// If the user enters a negative number, it's not added to the result
#include <stdio.h>
int main() {
int i;
double number, sum = 0.0;
for (i = 1; i <= 10; ++i) {
printf("Enter a n%d: ", i);
scanf("%lf", &number);
if (number < 0.0) {
continue;
}
sum += number; // sum = sum + number;
}
printf("Sum = %.2lf", sum);
return 0;
}
出力
Enter n1: 1.1 Enter n2: 2.2 Enter n3: 5.5 Enter n4: 4.4 Enter n5: -3.4 Enter n6: -45.5 Enter n7: 34.5 Enter n8: -4.2 Enter n9: -1000 Enter n10: 12 Sum = 59.70
このプログラムでは、ユーザーが正の数を入力すると、合計は sum += number;
を使用して計算されます。
ユーザーが負の数を入力すると、continue
ステートメントが実行され、計算から負の数がスキップされます。
C言語