有些情況下,不論條件是否滿足,循環過程必須至少執行一次,這時可以采用do...while語句。就像如圖7.4所示登入賬号一樣,需要先輸入密碼和賬戶名,後進行判斷;如果密碼始終不正确,則循環要求使用者輸入密碼。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCM581dvRWYoNHLwEzX5xCMx8FesU2cfdGLwATMfRHLGZkRGZkRfJ3bs92YskmNhVTYykVNQJVMRhXVEF1X0hXZ0xiNx8VZ6l2cssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLiRzNzQjMwYTZxcDOmdDZmVzNzUzY0EGMkZTN0EWN1kzLcNDMvwVMwgTMwIzLcd2bsJ2LcNXZnFWbp9CXt92Yu8GdjFTNuITavw1LcpDc0RHaiojIsJye.png)
圖7.4 登入界面
而do...while語句的特點就是先執行循環體語句的内容,然後判斷循環條件是否成立。do...while語句一般形式為:
do
循環體語句
while(表達式);
do...while語句的執行流程圖如圖7.5所示。
圖7.5do...while語句的執行流程圖
do...while語句首先執行一次循環體語句中的内容,然後判斷表達式,當表達式的值為真時,傳回重新執行循環體語句。執行循環,直到表達式的判斷結果為假時為止,此時循環結束。
例如下面代碼:
在這幾行代碼中,首先執行iNumber++的操作,也就是說,不管iNumber是否小于100都會執行一次循環體中的内容。然後判斷while後括号中的内容,如果iNumber小于100,則再次執行循環語句塊中的内容。
注意:在使用do...while語句時,循環條件要放在while關鍵字後面的括号中,最後必須加上一個分号,這是許多初學者容易忘記的。
執行個體 模拟一輛客車的承載量
一輛客車隻能承載25人,如果超過25人,司機就會拒絕載客。具體代碼如下:
運作程式,顯示結果如圖7.6所示。
圖7.6 客車承載數運作圖
從該執行個體代碼和運作結果可以看出:
(1)定義變量num用來儲存目前車輛的載客量。do關鍵字之後是循環語句,語句塊中進行累加1和列印出座位剩餘情況等操作。
(2)語句塊下方是while語句檢驗條件,如果檢驗為真,則繼續執行上面的語句塊操作;為假時,程式執行下面的代碼。在循環操作完成之後,将執行程式的第12行代碼。