天天看點

continue語句可以用在switch語句和3種循環語句中_C語言學習 循環結構語句

例1:求1+2+3+……+100,求其和

while語句:#include<stdio.h>

#include<math.h>

int main()

{

int i=1,sum=0;

while(i<=100)

{

sum+=i;

i+=1; //也可以寫成i++(現輸出i的值,然後使i 加1)

}

printf("sum=%dn",sum);

return 0;

}

很顯然該程式運作結果為5050

do while語句:#include<stdio.h>

#include<math.h>

int main()

{

int i=1,sum=0; //也可以指派i=2,sum=1

do

{

sum+=i;

i+=1; //相當于i++

}while(i<=100);

printf("sum=%dn",sum)

return 0;

}

很顯然結果也為5050

由此可知 while語句和do while語句的循環體相同,那麼結果也一樣,是以兩者可以互換,while語句是先判斷表達式,再執行循環體,而do while語句先無限執行循環體,再進行判斷。

for語句:#include <stdio.h>

#include<math.h>

int main()

{

int sum=0,i;

for(i=1;i<=100;i++)

sum+=i;

printf("sum=%dn",sum);

return 0;

}

for語句的語句形式和while語句的主體部分相同 形式如下:for(循環變量賦初值;循環條件;循環變量增值) 語句 定義變量并指派 while(循環條件) 語句 兩個部分可以互相替代,而while語句和do……while可以互換的,是以三者可以互相替代 改變循環執行的狀态:break語句和continue語句,但是這兩個語句并不能單獨使用,隻能用于循環語句和switch語句

例2:在全系1000名同學中舉行慈善募捐,當總數達到10萬元時就結束,統計此時捐款的人數及平均每人捐款的數目。

很顯然,該例題應用break語句來解決

#include <stdio.h>

#include<math.h>

#define SUM 100000 //這句話可以删去,但第13行的代碼必須将sum改成100000

int main(void)

{

float amount,aver,total;

int i;

for(i=1,total=0;i<=1000;i++)

{

printf("please enter amount:")

scanf("%fn",&amount)

total+=amount;

if(total>=SUM)break; // 若第三行未定義常變量sum,可以直接輸入total>=10000

}

aver=total/i;

printf("num=%dnaver=%10.2fn",i,aver);

return 0;

}

例3:要求輸出100~200不能被7整除的數

顯然這題目前隻能用continue來解決

#include <stdio.h>

int main()

{

int n;

for(n=100;n<=200;n++)

{if(n%7==0)

continue;

printf("%d",n);

}

printf("n") //換行

return 0;

}

例4,輸入一個大于3的整數n,判斷它是否為素數(prime)

#include <stdio.h>

#include<math.h>

int main()

{

int n,i,k;

printf("please enter a integer number:n=?");

scanf("%d",&n);

k=sqrt(n);

for(i=2;i<=k;i++)

if(n%i==0)break;

if(i<k)printf("%d is not a prime number.n",n);

else printf ("%d is a prime number.n",n);

return 0;

}

面對一些問題,可将循環語句和選擇語句結合使用,注意break語句和continue語句必須放在循環語句或switch語句中,不可單獨使用。

繼續閱讀