C 嵌套循環(huán)

C 循環(huán) C 循環(huán)

C 語(yǔ)言允許在一個(gè)循環(huán)內(nèi)使用另一個(gè)循環(huán),下面演示幾個(gè)實(shí)例來(lái)說明這個(gè)概念。

語(yǔ)法

C 語(yǔ)言中 嵌套 for 循環(huán) 語(yǔ)句的語(yǔ)法:

for ( init; condition; increment )
{
   for ( init; condition; increment )
   {
      statement(s);
   }
   statement(s);
}

C 語(yǔ)言中 嵌套 while 循環(huán) 語(yǔ)句的語(yǔ)法:

while(condition)
{
   while(condition)
   {
      statement(s);
   }
   statement(s);
}

C 語(yǔ)言中 嵌套 do...while 循環(huán) 語(yǔ)句的語(yǔ)法:

do
{
   statement(s);
   do
   {
      statement(s);
   }while( condition );

}while( condition );

關(guān)于嵌套循環(huán)有一點(diǎn)值得注意,您可以在任何類型的循環(huán)內(nèi)嵌套其他任何類型的循環(huán)。比如,一個(gè) for 循環(huán)可以嵌套在一個(gè) while 循環(huán)內(nèi),反之亦然。

實(shí)例

下面的程序使用了一個(gè)嵌套的 for 循環(huán)來(lái)查找 2 到 100 中的質(zhì)數(shù):

#include <stdio.h>
 
int main ()
{
   /* 局部變量定義 */
   int i, j;
   
   for(i=2; i<100; i++) {
      for(j=2; j <= (i/j); j++)
        if(!(i%j)) break; // 如果找到,則不是質(zhì)數(shù)
      if(j > (i/j)) printf("%d 是質(zhì)數(shù)\n", i);
   }
 
   return 0;
}

當(dāng)上面的代碼被編譯和執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

2 是質(zhì)數(shù)
3 是質(zhì)數(shù)
5 是質(zhì)數(shù)
7 是質(zhì)數(shù)
11 是質(zhì)數(shù)
13 是質(zhì)數(shù)
17 是質(zhì)數(shù)
19 是質(zhì)數(shù)
23 是質(zhì)數(shù)
29 是質(zhì)數(shù)
31 是質(zhì)數(shù)
37 是質(zhì)數(shù)
41 是質(zhì)數(shù)
43 是質(zhì)數(shù)
47 是質(zhì)數(shù)
53 是質(zhì)數(shù)
59 是質(zhì)數(shù)
61 是質(zhì)數(shù)
67 是質(zhì)數(shù)
71 是質(zhì)數(shù)
73 是質(zhì)數(shù)
79 是質(zhì)數(shù)
83 是質(zhì)數(shù)
89 是質(zhì)數(shù)
97 是質(zhì)數(shù)

C 循環(huán) C 循環(huán)