以 while 迴圈結構為主,do while 敘述必須多一道前門把關的動作。
while(運算式) {
   執行區
}



if(運算式)
   do
{
      執行區
   }
while(運算式);


範例:
在費氏數列中,求大於等於 n 的最小費氏數

while 語法
do while 語法
a=1;b=1;
while(b<n){
   c=a+b;
   a=b;
   b=c;
}
printf("%d\n",b);
a=1;b=1;
if(b<n)
   do {
      c=a+b;
      a=b;
      b=c;
   }while(b<n);
printf("%d\n",b);

上例若能保證 n>1 ,則 do while 迴圈至少做一次,程式可以修改成

a=1;b=1;
do {
   c=a+b;
   a=b;
   b=c;
}while(b<n);
printf("%d\n",b);

可以少掉第一道預防關卡。