以 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);
可以少掉第一道預防關卡。