1. 程式人生 > >while和do...while的區別

while和do...while的區別

在一般情況下,用while語句和用do…while語句處理同一問題時,若二者的迴圈體部分是一樣的,那麼結果也一樣。如例1和例2程式中的迴圈體是相同的,得到的結果也相同。但是如果while後面的表示式一開始就為假(0值)時,兩者迴圈的結果是不同的。

例1. 用while迴圈

在這裡插入圖片描述
執行結果(兩次)
(1)輸入i=1時
在這裡插入圖片描述
(2)輸入i=11時
在這裡插入圖片描述

例2.用do…while迴圈

在這裡插入圖片描述
執行結果(兩次)
(1)輸入i=1時
在這裡插入圖片描述
(2)輸入i=11時
在這裡插入圖片描述
可以看到,當輸入i的值小於或等於10時,二者得到的結果相同。而當i>10時,二者結果就不同了。這是因為此時對while迴圈來說,一次也不執行迴圈體(表示式“i<=10”的值為假),而對do…while迴圈語句來說則至少執行一次迴圈體。可以得到結論:當while後面的表示式的第1次的值為“真”時,兩者迴圈得到的結果相同;否則,二者結果不相同(指二者具有相同的迴圈體的情況)