do-while語句及for語句(初學者)


1、do-while語句的一般形式為:

do

  語句

while(表達式);

這個循環與while循環的不同在於:它先執行循環中的語句,然后再判斷這個表達式是否為真,如果為真則繼續循環;如果為假,則中止循環。因此do-while語句至少要執行一次循環語句。

例:

#include<stdio.h>

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

區分while語句與do-while語句

#include<stdio.h>

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

void main()
{
    int i,sum=0;
    scanf("%d",&i);
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=10);
    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(循環變量賦初值;循環條件;循環變量增量)語句

 

#include<stdio.h>

void main()
{
    int i,sum=0;
    for(i=1;i<=100;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);

  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM