Objective-C 嵌套循环

Objective-C 编程语言支持在另一个循环中使用一个循环。下一节展示了几个例子来说明这个概念。


语法

嵌套循环 语句在 C 语言中的语法如下:

  1. for ( init; condition; increment ) {
  2. for ( init; condition; increment ) {
  3. statement(s);
  4. }
  5. statement(s);
  6. }

嵌套循环 语句在 Objective-C 语言中的语法如下:

  1. while(condition) {
  2. while(condition) {
  3. statement(s);
  4. }
  5. statement(s);
  6. }

Objective-C 语言中的 嵌套 do…while 循环 语句语法如下:

  1. do {
  2. statement(s);
  3. do {
  4. statement(s);
  5. } while( condition );
  6. } while( condition );

关于 循环嵌套 的最后一点是,您可以将任何类型的循环放在任何其他类型的循环中。例如,For 循环可以在 while 循环内,反之亦然。


实例

下面的程序使用嵌套的 for 循环来查找 2 到 100 之间的素数:

  1. #import <Foundation/Foundation.h>
  2. int main () {
  3. /* local variable definition */
  4. int i, j;
  5. for(i=2; i<100; i++) {
  6. for(j=2; j <= (i/j); j++)
  7. if(!(i%j)) break; // if factor found, not prime
  8. if(j > (i/j)) NSLog(@"%d is prime\n", i);
  9. }
  10. return 0;
  11. }

结果如下:

  1. 2022-09-07 22:40:01.004 demo[1027] 2 is prime
  2. 2022-09-07 22:40:01.005 demo[1027] 3 is prime
  3. 2022-09-07 22:40:01.005 demo[1027] 5 is prime
  4. 2022-09-07 22:40:01.005 demo[1027] 7 is prime
  5. 2022-09-07 22:40:01.005 demo[1027] 11 is prime
  6. 2022-09-07 22:40:01.005 demo[1027] 13 is prime
  7. 2022-09-07 22:40:01.005 demo[1027] 17 is prime
  8. 2022-09-07 22:40:01.005 demo[1027] 19 is prime
  9. 2022-09-07 22:40:01.005 demo[1027] 23 is prime
  10. 2022-09-07 22:40:01.005 demo[1027] 29 is prime
  11. 2022-09-07 22:40:01.005 demo[1027] 31 is prime
  12. 2022-09-07 22:40:01.005 demo[1027] 37 is prime
  13. 2022-09-07 22:40:01.005 demo[1027] 41 is prime
  14. 2022-09-07 22:40:01.005 demo[1027] 43 is prime
  15. 2022-09-07 22:40:01.005 demo[1027] 47 is prime
  16. 2022-09-07 22:40:01.005 demo[1027] 53 is prime
  17. 2022-09-07 22:40:01.005 demo[1027] 59 is prime
  18. 2022-09-07 22:40:01.005 demo[1027] 61 is prime
  19. 2022-09-07 22:40:01.005 demo[1027] 67 is prime
  20. 2022-09-07 22:40:01.005 demo[1027] 71 is prime
  21. 2022-09-07 22:40:01.005 demo[1027] 73 is prime
  22. 2022-09-07 22:40:01.005 demo[1027] 79 is prime
  23. 2022-09-07 22:40:01.005 demo[1027] 83 is prime
  24. 2022-09-07 22:40:01.005 demo[1027] 89 is prime
  25. 2022-09-07 22:40:01.005 demo[1027] 97 is prime

分类导航