Objective-c-nested-loops
提供:Dev Guides
Objective-Cのネストされたループ
Objective-Cプログラミング言語では、1つのループを別のループ内で使用できます。 次のセクションでは、概念を説明するためのいくつかの例を示します。
構文
Cの*ネストされたループ*ステートメントの構文は次のとおりです-
for ( init; condition; increment ) {
for ( init; condition; increment ) {
statement(s);
}
statement(s);
}
Objective-Cプログラミング言語の nested while loop ステートメントの構文は次のとおりです-
while(condition) {
while(condition) {
statement(s);
}
statement(s);
}
Objective-Cプログラミング言語の nested do … while loop ステートメントの構文は次のとおりです-
do {
statement(s);
do {
statement(s);
} while( condition );
} while( condition );
ループの入れ子に関する最後の注意点は、他の種類のループの中に任意の種類のループを配置できることです。 たとえば、forループはwhileループ内に配置することも、その逆にすることもできます。
例
次のプログラムは、ネストされたforループを使用して、2から100までの素数を見つけます-
#import <Foundation/Foundation.h>
int main () {
/*local variable definition*/
int i, j;
for(i=2; i<100; i++) {
for(j=2; j <= (i/j); j++)
if(!(i%j)) break; //if factor found, not prime
if(j > (i/j)) NSLog(@"%d is prime\n", i);
}
return 0;
}
上記のコードをコンパイルして実行すると、次の結果が生成されます-
2013-09-07 22:40:01.004 demo[1027] 2 is prime
2013-09-07 22:40:01.005 demo[1027] 3 is prime
2013-09-07 22:40:01.005 demo[1027] 5 is prime
2013-09-07 22:40:01.005 demo[1027] 7 is prime
2013-09-07 22:40:01.005 demo[1027] 11 is prime
2013-09-07 22:40:01.005 demo[1027] 13 is prime
2013-09-07 22:40:01.005 demo[1027] 17 is prime
2013-09-07 22:40:01.005 demo[1027] 19 is prime
2013-09-07 22:40:01.005 demo[1027] 23 is prime
2013-09-07 22:40:01.005 demo[1027] 29 is prime
2013-09-07 22:40:01.005 demo[1027] 31 is prime
2013-09-07 22:40:01.005 demo[1027] 37 is prime
2013-09-07 22:40:01.005 demo[1027] 41 is prime
2013-09-07 22:40:01.005 demo[1027] 43 is prime
2013-09-07 22:40:01.005 demo[1027] 47 is prime
2013-09-07 22:40:01.005 demo[1027] 53 is prime
2013-09-07 22:40:01.005 demo[1027] 59 is prime
2013-09-07 22:40:01.005 demo[1027] 61 is prime
2013-09-07 22:40:01.005 demo[1027] 67 is prime
2013-09-07 22:40:01.005 demo[1027] 71 is prime
2013-09-07 22:40:01.005 demo[1027] 73 is prime
2013-09-07 22:40:01.005 demo[1027] 79 is prime
2013-09-07 22:40:01.005 demo[1027] 83 is prime
2013-09-07 22:40:01.005 demo[1027] 89 is prime
2013-09-07 22:40:01.005 demo[1027] 97 is prime