break文とcontinue文

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
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

今度は、フィボナッチ数列のうち奇数の数字のみが表示されました。

スポンサーリンク
 
スポンサーリンク