C語言 第五章 迴圈結構

來源:互聯網
上載者:User

標籤:break   can   輸入   gif   選擇   邏輯   log   pre   not   

  • 一、for
  • 二、while
  • 三、do while
  • 四、continue
  • 五、break
一、for

請在螢幕上輸出1000個*號

printf("*************************....");

#include "stdio.h"void main(){    int i;    for(i=1;i<=1000;i++){      printf("*");    }}

for(運算式A;運算式B;運算式C)
{
要重複執行的代碼塊D;
}

1、運算式A先執行,且只執行一次

2、運算式B再執行,如果為真則執行代碼塊D

3、再執行運算式C,再選擇運算式B,回到第2步

4、ABCD都可以省去 for(;i>=100;);

5、運算式1通常用來給迴圈變數賦初值,一般是賦值運算式i=1  i=-1,j=100

6、運算式2通常是迴圈條件,一般為關聯運算式或邏輯運算式i>=5 i>5&&j<=8

7、運算式3通常可用來修改迴圈變數的值,一般是複合指派陳述式i++,i--,  i+=5,j++

8、這三個運算式都可以是逗號運算式,即每個運算式都可由多個運算式組成。三個運算式都是任選項,都可以省略。

#include "stdio.h"void main(){    int i,j;    for(i=1;i<=10;i++)    {        printf("%d \n",i);    }}
#include "stdio.h"void main(){    int i,j;    for(i=-10;i<=10;i++)    {        printf("%d \n",i);    }}

#include "stdio.h"void main(){    int i,j;    for(i=1;i<=10;i=i+3)    {        printf("%d \n",i);    }}

 

#include "stdio.h"void main(){    int i,j;    for(i=10;i>0;i--)    {        printf("%d \n",i);    }}

 

#include "stdio.h"void main(){    int i,j;    for(i=10,j=1;i>0;i--,j++)    {        printf("%d + %d = 11 \n",i,j);    }}

#include "stdio.h"void main(){    int i=1;    for(;i<=10;i++)    {        printf("\n %d",i);        }}
#include "stdio.h"void main(){    int i=1;    for(;i<=10;)    {        printf("\n %d",i);            i++;    }}
#include "stdio.h"void main(){    int i=1;    for(;;)    {        printf("\n %d",i);            i++;        if(i>10)break;    }}

for語句中的各運算式都可省略,但分號間隔符不能少。如:
for(;運算式;運算式)省去了運算式1。
for(運算式;;運算式)省去了運算式2。
for(運算式;運算式;)省去了運算式3。
for(;;)省去了全部運算式。
在迴圈變數已賦初值時,可省去運算式1,如省去運算式2或運算式3則將造成無限迴圈, 這時應在迴圈體內設法結束迴圈。
迴圈體(要重複的語句)可以是空語句。

練習:計算出1-100之間奇數之和。1+3+5+7....99=?

#include "stdio.h"void main(){    //練習:計算出1-100之間奇數之和。1+3+5+7....99=?    int i,s=0;    for(i=1;i<=100;i++)    {        if(i%2==1){            s=s+i;        }    }    printf("結果:%d",s);}

2500

#include "stdio.h"void main(){    //練習:計算出1-100之間奇數之和。1+3+5+7....99=?    int i,s=0;    for(i=1;i<=100;i=i+2)    {            s=s+i;    }    printf("結果:%d",s);}

2500

二、while

while語句的一般形式為:
初值;
while(運算式A)
{
運算式的值為真時要重複的語句塊;B
步長;

其中運算式是迴圈條件
要重複的語句塊和步長都為迴圈體
while語句的語義是:計算運算式的值,當值為真(非0)時, 執行迴圈體語句。

1、程式先判斷A是否為真,如果為真則執行迴圈體B

2、當執行完迴圈體後再回到第1步

3、當運算式A為假時結束迴圈

#include "stdio.h"void main(){    int i=1;    while(i<=10)    {        printf("%d \n",i);        i=i+1;    }}

while語句中的運算式一般是關係表達或邏輯運算式,只要運算式的值為真(非0)即可繼續迴圈
迴圈體如包括有一個以上的語句,則必須用{}括起來, 組成複合陳述式。
應注意迴圈條件的選擇以避免死迴圈。

練習:

練習:計算出1-100之間奇數之和。1+3+5+7....99=?

/* Note:Your choice is C IDE */#include "stdio.h"void main(){   int i=1,s=0;   while(i<=100)   {         s=s+i;         i=i+2;   }    printf("s=%d",s);}

 

2500

練習:列出1-1000之間所有能同時被3與7整除的數。

三、do while

do-while語句的一般形式為: 
do
{
要重複的語句塊;
}while(運算式);
其中“要重複的語句塊”是迴圈體
運算式是迴圈條件
語義是:先執行迴圈體語句一次,再判斷運算式的值,若為真(非0)則繼續迴圈,否則終止迴圈。

/* Note:Your choice is C IDE */#include "stdio.h"void main(){    int i=1,s=0;    do    {        s=s+i;        i++;    }while(i<=5);    printf("%d",s);}//i=1 2 3 4 5  6//s=0 1 3 6 10 15

15

適用於必須要執行一次的應用,如輸入一個合格的數字。

#include "stdio.h"void main(){    int n;    do    {        printf("請輸入1-7之間的數:");        scanf("%d",&n);    }while(n<1||n>7);}

四、continue

 在for,while,do-while中遇到continue表示結束當次迴圈,繼續下次迴圈。

#include "stdio.h"void main(){   int i;   for(i=1;i<=10;i++)   {          printf("●");          printf("□");   }}

#include "stdio.h"void main(){   int i;   for(i=1;i<=5;i++)   {          if(i%2==0)          {                continue;  //結束當次,繼續下一次          }          printf("□");   }      //i=1 2 3 4 5 6   □□□}

五、break

 在for,while,do-while,switch中遇到break跳出當前迴圈。

#include "stdio.h"void main(){   int i;   for(i=1;i<=5;i++)   {          if(i%2==0)          {                break;  //結束當前迴圈          }          printf("□");   }  }

在無條件迴圈中退出

#include "stdio.h"void main(){    int i=1,s=0;    while(1)    {        s=s+i;        i++;        if(i>100) break;    }    printf("%d",s);}

C語言 第五章 迴圈結構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.