1. 程式人生 > >迴圈控制結構程式(初學者)

迴圈控制結構程式(初學者)

迴圈結構是程式中一種很重要的結構,其特點是在給定條件成立時,反覆執行某程式段,直到條件不成立為止。給定的條件稱為迴圈條件,反覆執行的程式段稱為迴圈體。C語言提供了多種迴圈語句,可以組成各種不同形式的迴圈結構。

(1)用goto語句和if語句構成迴圈;

(2)用while語句;

(3)用do-while語句;

(4)用for語句;

1、goto語句及goto語句構成迴圈

goto語句是一種無條件轉移語句。使用格式為:goto 語句標號;

其中標號是一個有效的識別符號加上一個“:”一起出現在函式內某處,執行goto後,程式將跳轉到該標號處並執行其後語句。另外標號必須與goto語句同處一個函式中,但可以不在一個迴圈層中。通常goto語句與if語句連用,當滿足某一條件時,程式跳到標號處執行。

注意:goto語句通常不用,主要因為它將使程式層次不清,且不易讀,但在多層巢狀退出時,用goto語句則比較合理。

例:用goto語句和if語句構成迴圈

#include<stdio.h>

int main()
{
    int i,sum=0;
    i=1;
loop:if(i<=100)
     {
         sum=sum+i;
         i++;
         goto loop;
     }
     printf("%d\n",sum);
}

while語句

while語句一般形式為:while(表示式)語句

其中表達式是迴圈條件,語句為迴圈體。

while語句語義為:計算表示式的值,當值為真(非0)時,執行迴圈體語句。其執行過程如圖:

注:如果表示式的值一開始就為0,則語句一次也不會被執行。

例:

include<stdio.h>

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

錯誤示例:死迴圈

#include<stdio.h>

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

原因:加了//後,sum=sum+i變為迴圈語句,則i<=100永遠為真,陷入死迴圈。

補例:統計從鍵盤輸入一行字元的個數。

#include<stdio.h>

void main()
{
    int n=0;
    printf("input a string:\n");
    while(getchar()!='\n')
    {
        n++;
    }
    printf("%d",n);
}