do-while語句的一般形式為:
do
語句
while(表達式);
這個循環與while循環的不同在於:它先執行循環中的語句,然後再判斷表達式是否為真,如果為真則繼續循環;如果為假,則終止循環。因此,do-while循環至少要執行一次循環語句。其執行過程可用下圖表示。

【例6-5】用do-while語句計算從1加到100的值
復制純文本新窗口
- #include <stdio.h>
- int main(void){
- int i,sum=0;
- i=1;
- do{
- sum=sum+i;
- i++;
- }
- while(i<=100);
- printf("%d\n",sum);
- return 0;
- }
#include <stdio.h>
int main(void){
int i,sum=0;
i=1;
do{
sum=sum+i;
i++;
}
while(i<=100);
printf("%d\n",sum);
return 0;
}
同樣當有許多語句參加循環時, 要用"{"和"}"把它們括起來。
【例6-6】while和do-while循環比較。
1) while循環:
復制純文本新窗口
- #include <stdio.h>
- int main(void){
- int sum=0,i;
- scanf("%d",&i);
- while(i<=10){
- sum=sum+i;
- i++;
- }
- printf("sum=%d",sum);
- return 0;
- }
#include <stdio.h>
int main(void){
int sum=0,i;
scanf("%d",&i);
while(i<=10){
sum=sum+i;
i++;
}
printf("sum=%d",sum);
return 0;
}
2) do-while循環:
復制純文本新窗口
 
- #include <stdio.h>
- int main(void){
- int sum=0,i;
- scanf("%d",&i);
- do{
- sum=sum+i;
- i++;
- }
- while(i<=10);
- printf("sum=%d",sum);
- return 0;
- }