do-while语句及for语句(初学者)

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

do

  语句

while(表达式);

这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断这个表达式是否为真,如果为真则继续循环;如果为假,则中止循环。因此do-while语句至少要执行一次循环语句。

do-while语句及for语句(初学者)

例:

#include<stdio.h>

void main()
{
int i,sum=;
i=;
do
{
sum=sum+i;
i++;
}
while(i<=);
printf("%d",sum);
}

区分while语句与do-while语句

#include<stdio.h>

void main()
{
int i,sum=;
scanf("%d",&i);
while(i<=)
{
sum=sum+i;
i++;
}
printf("%d",sum);
}
#include<stdio.h>

void main()
{
int i,sum=;
scanf("%d",&i);
do
{
sum=sum+i;
i++;
}
while(i<=);
printf("%d",sum);
}

注:一般情况下,用while和do-while语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当while后面的“表达式”一开始为“假(0)”时,两种循环的结果不同。这是因为此时while循环的循环体不被执行,而do-while循环的循环体被执行一次。

2、for语句

在C语言中,for语句使用最为灵活,它完全可以取代while语句。它的一般形式为:for(表达式1;表达式2;表达式3)

过程如下:

(1)先求解表达式1;

(2)求解表达式2,若值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3步;若值为假(0),则循环结束,转到第5步;

(3)求解表达式3;

(4)转回上面第二步继续执行。

(5)循环结束,执行for语句下面的一个语句。

理解:for(循环变量赋初值;循环条件;循环变量增量)语句

do-while语句及for语句(初学者)

#include<stdio.h>

void main()
{
int i,sum=;
for(i=;i<=;i++)
{
sum=sum+i;
}
printf("%d",sum);
}

注意:(1)for循环中的“表达式1(循环变量赋初值)“、”表达式2(循环条件)“、”表达式3(循环变量增量)“都是选择项,即可以缺省,但”;“不能缺省。

(2)省略了”表达式1(循环变量赋初值)“,表示不对循环控制变量赋初值。

(3)省略了”表达式2(循环条件)“,则不做其他处理时便成为死循环。

例:for(i=1;;i++)

  {

    sum=sum+i;

  }

(4)省略了”表达式3(循环变量增量)“,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。

例:for(i=1;i<=100;)

  {

    sum=sum+i;

    i++;

  }

(5)3个表达式都可以省略。

例:for(;;)语句相当于while(1)语句(死循环)

(6)表达式1可以是设置循环变量的初值的赋值表达式额,也可以是其他表达式。

例:for(sum=0;i<=100;i++)

    sum=sum+i;

(7)表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。

例:for(sum=0,i=1;i<=100;i++)

    sum=sum+i;

  for(i=0,j=100;i<=100;i++,j--)

    k=i+j;

(8)表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非0,就执行循环体。

例:for(;(c=getchar())!='\n';)

  {

    printf("%c",c);

  }

上一篇:Ubuntu安装JDK(tar.gz)


下一篇:《敏捷软件开发:原则、模式与实践(C#版.修订版)》—第2章2.3节 参考文献