do...while loop

  1. 流程圖

    \begin{tikzpicture}[node distance=1.5cm]\setlength \baselineskip{1ex}
\node [input,name=input] {};
......
  2. 語法:先進入迴圈執行一次,condition 再判斷是否成立?成立則繼續執行迴圈。
    do {
       statement(s);
    
    }while( condition );
    
  3. 範例:承上例輸入一數字,從 1 累加到總數超過此數字。但使用 do...while 迴圈讓用戶輸入正整數為止。
    [dywang@deyu zzz]$ vim dowhile1.c
    [dywang@deyu zzz]$ cat dowhile1.c 
    #include <stdio.h>
    
    int main() {
    	int i=1, a, sum=1;
    
    	do {
    		printf("Enter an integer: ");
    		scanf("%d", &a);
    	} while ( a<=0 );
    
    	while ( sum < a ) {
    		printf("%d+", i++ );
    		sum += i;
    	}
    	printf("%d=%d\n", i,sum );
    }
    
  4. 編譯成功
    [dywang@deyu zzz]$ gcc -o dowhile1 dowhile1.c
    
  5. 執行結果:輸入 0 或 -3 程式持續要求輸入一整數,直到輸入正整數 25 時才計算總合並輸出。
    [dywang@deyu zzz]$ ./dowhile1
    Enter an integer: 0
    Enter an integer: -3
    Enter an integer: 25
    1+2+3+4+5+6+7=28