 〔回高一首頁〕〔回上一頁〕
while 的架構
while(條件式) <-----( )內需要填入依邏輯判斷式,邏輯判斷式是由『>、>=、<、<=、==、!=』構成的 {
<-----{ } 大刮號在C語言中都是用來表示範圍,在此表示當上一行的邏輯判斷式成立時執行的內容 //條件式成立時執行的內容
}
while的執行步驟如下: 1。檢查條件式是否成立 不成立時:迴圈結束 成立時: 2。執行迴圈的內容 3。執行完畢時,跳回第一步驟,再檢查條件式是否成立,
如果成立則重新執行第二步驟, 不成立則迴圈結束。
|

|
|
範例
【例】用while語句求1+2+3+...+100之總和。
用傳統流程圖表示演算法,見圖:

#include<stdio.h>
main()
{
int
i,sum=0;
i=1;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("%d\n",sum);
}
|
【例】統計從鍵盤輸入一行字元的個數。
#include <stdio.h>
main(){
int n=0;
printf("input a string:\n");
while(getchar()!='\n') n++;
printf("%d",n);
}
|
本例程式中的迴圈條件為getchar()!='\n',其意義是, 只要從鍵盤輸入的字元不是ENTER鍵就繼續迴圈。循環體n++完成對輸入字元個數計數。從而程式實現了對輸入一行字元的字元個數計數。
使用while語句應注意以下幾點:
【例】
main(){
int
a=0,n;
printf("\n input n:
");
scanf("%d",&n);
while
(n--)
printf("%d ",a++*2);
}
|
本例程式將執行n次迴圈,每執行一次,n值減1。迴圈中,輸出運算式 a++*2 的值。該運算式等效於(a*2;a++;)。
基本範例
- 輸入一正整數N,求1+2+3+4+...+n=?
- 輸入一正整數N,求1-2+3-4+...+(-)n=?
- 輸入一正整數N,求1+1/2+1/3+1/4+...+1/n=?
- 輸入一正整數N,求1-1/2+1/3-1/4+...+(-)1/n=?
- 計算任意正整數N的階乘值(N!)。(N<20) (N!=N*(N-1)*...*2*1)
- 輸入一正整數N,列出此數之所有正因數。
- 輸入一個正整數,判斷此數的因數個數為奇數或偶數。
- 寫一程式計算一組數字的乘積。你的程式必須能夠連續輸入數個整數(以Enter隔開),當輸入數字為0時,隨即輸出結果,並結束程式。
|
|