C++ ネストされたループ

C++ 循环C++ ループ

あるループの中に別のループをネストできます。C++ は少なくとも 256 レベルのネストを許可します。

構文

C++ ではネストされた for ループ文の構文:

for ( init; condition; increment ) { for ( init; condition; increment ) { statement(s); } statement(s); // さらに多くのステートメントを配置できます }

C++ ではネストされた while ループ文の構文:

while(condition) { while(condition) { statement(s); } statement(s); // さらに多くのステートメントを配置できます }

C++ ではネストされた do...while ループ文の構文:

do { statement(s); // さらに多くのステートメントを配置できます do { statement(s); }while( condition ); }while( condition );

ネストされたループについて注意すべき点が 1 つあります。任意のタイプのループの中に、他の任意のタイプのループをネストできます。たとえば、for ループは while ループの中にネストできますし、その逆も同様です。

実例

次のプログラムは、ネストされた for ループを使用して 2 から 100 までの素数を検索します:

実例

#include <iostream> using namespace std; int main () { int i, j; for(i=2; i<100; i++) { for(j=2; j <= (i/j); j++) { if(!(i%j)) { break; // 見つかった場合は素数ではありません } } if(j > (i/j)) { cout << i << "は素数です\n"; } } return 0; }

上記のコードがコンパイルおよび実行されると、次の結果が生成されます:

2 是质数
3 是质数
5 是质数
7 是质数
11 是质数
13 是质数
17 是质数
19 是质数
23 是质数
29 是质数
31 是质数
37 是质数
41 是质数
43 是质数
47 是质数
53 是质数
59 是质数
61 是质数
67 是质数
71 是质数
73 是质数
79 是质数
83 是质数
89 是质数
97 是质数

C++ 循环C++ ループ

その他の拡張