1. 程式人生 > >循環控制結構程序(初學者)

循環控制結構程序(初學者)

註意 控制結構 oop 中一 getc eight 錯誤 形式 str

循環結構是程序中一種很重要的結構,其特點是在給定條件成立時,反復執行某程序段,直到條件不成立為止。給定的條件稱為循環條件,反復執行的程序段稱為循環體。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);
}

循環控制結構程序(初學者)