6th

目录:

6     循环控制... 1

6.1    概述... 1

6.2    goto语句以及用goto语句构成循环... 1

6.3    while语句... 2

6.4    do-while语句... 4

6.5    for语句... 6

6.6    循环的嵌套... 9

6.7    几种循环的比较... 9

6.8    breakcontinue语句... 9

6.8.1   break语句... 9

6.8.2   continue 语句... 10

6.9    程序举例... 11



(部分摘录代码或相关文字版权属于原作者)

goto语句是一种无条件转移语句, BASIC中的goto语句相似。goto 语句的使用格式为:

     goto  语句标号;



 

while语句的一般形式为:

    while(表达式)语句

其中表达式是循环条件,语句为循环体。


 

do-while语句的一般形式为:

        do

            语句

        while(表达式)



 

C语言中,for语句使用最为灵活,它完全可以取代 while 语句。它的一般形式为:

        for(表达式1;表达式2;表达式3) 语句



break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。



continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。continue语句只用在forwhiledo-while等循环体中,常与if条件语句一起使用,用来加速循环




 程序举例

【例6.10】用 公式求π

N-S流程图:

#include<math.h>

main()

{

  int s;

  float n,t,pi;

  t=1,pi=0;n=1.0;s=1;

  while(fabs(t)>1e-6)

      {pi=pi+t;

       n=n+2;

       s=-s;

t=s/n;

      }

  pi=pi*4;      

  printf("pi=%10.6f\n",pi);

  }

【例6.11】判断m是否素数。

N-S流程图:

#include<math.h>

main()

{

int m,i,k;

scanf(%d,&m);

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>=k+1)

printf(%d is a prime number\n,m);

else

printf(%d is not a prime number\n,m);

}

【例6.12】求100200间的全部素数。

#include<math.h>

main()

{

int m,i,k,n=0;

for(m=101;m<=200;m=m+2)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0)break;

if(i>=k+1)

{printf(%d,m);

   n=n+1;}

      if(n%n==0)printf(\n);

}

printf(\n);

}

 

posted @ 2007-05-10 22:13  Edward Xie  阅读(302)  评论(0编辑  收藏  举报