break文とcontinue文
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
breakとcontinueの例を見るために、前のページ(while文でのループ・繰り返し)で、例に出したフィボナッチ数列を少し書き換えてみます。
スポンサーリンク
break文
break文を用いると、ループ処理から、任意の条件成立時に抜け出し、繰り返しを終了できます。
#include <iostream>
int prev_num; // 一つ前の数字
int cur_num; // 現在の数字
int next_num; // 次の数字
int main() {
prev_num = 1;
cur_num = 1;
std::cout << cur_num << "\n";
while (true) {
std::cout << cur_num << "\n";
next_num = prev_num + cur_num;
prev_num = cur_num;
cur_num = next_num;
if (cur_num > 100) {
break;
}
}
return(0);
}
今回は、「while (true)」となっている点が要注意です。
whileの条件は、常に真(true)なので、break文でループを脱出しない限り、無限ループとなってしまいます。
「if (cur_num > 100)」で、数列の数字が100より大きくなったら、breakを実行し、ループを抜け出し終了する命令を与えています。
実行結果。
1 1 2 3 5 8 13 21 34 55 89
continue文
今度は、continue文です。
continueは、任意の条件成立時に、ループ中の残りの処理をスキップして、ループの先頭に戻ります。
フィボナッチ数列のうち、偶数のフィボナッチ数をスキップ(continue)し、奇数のフィボナッチ数のみを表示するプログラムを書いてみます。
フィボナッチ数が100より大きくなったら、breakで終了させます。
#include <iostream>
int prev_num; // 一つ前の数字
int cur_num; // 現在の数字
int next_num; // 次の数字
int main() {
prev_num = 1;
cur_num = 1;
std::cout << cur_num << "\n";
std::cout << cur_num << "\n";
while (true) {
next_num = prev_num + cur_num;
prev_num = cur_num;
cur_num = next_num;
// フィボナッチ数の偶数をスキップ
if (cur_num % 2 == 0) {
continue;
}
// 現在の数字が100より大きくなったらループ終了
if (cur_num > 100) {
break;
}
std::cout << cur_num << "\n";
}
return(0);
}
実行結果。
1 1 3 5 13 21 55 89
今度は、フィボナッチ数列のうち奇数の数字のみが表示されました。
スポンサーリンク
>> 次の記事 : for文でのループ・繰り返し
<< 前の記事 : while文でのループ・繰り返し
スポンサーリンク