您好,登錄后才能下訂單哦!
有些情況下,不論條件是否滿足,循環(huán)過程必須至少執(zhí)行一次,這時可以采用do...while語句。就像如圖7.4所示登錄賬號一樣,需要先輸入密碼和賬戶名,后進行判斷;如果密碼始終不正確,則循環(huán)要求用戶輸入密碼。
圖7.4 登錄界面
而do...while語句的特點就是先執(zhí)行循環(huán)體語句的內容,然后判斷循環(huán)條件是否成立。do...while語句一般形式為:
do
循環(huán)體語句
while(表達式);
do...while語句的執(zhí)行流程圖如圖7.5所示。
圖7.5do...while語句的執(zhí)行流程圖
do...while語句首先執(zhí)行一次循環(huán)體語句中的內容,然后判斷表達式,當表達式的值為真時,返回重新執(zhí)行循環(huán)體語句。執(zhí)行循環(huán),直到表達式的判斷結果為假時為止,此時循環(huán)結束。
例如下面代碼:
01 do
02 {
03 iNumber++;
04 }while(iNumber<100);
在這幾行代碼中,首先執(zhí)行iNumber++的操作,也就是說,不管iNumber是否小于100都會執(zhí)行一次循環(huán)體中的內容。然后判斷while后括號中的內容,如果iNumber小于100,則再次執(zhí)行循環(huán)語句塊中的內容。
注意:在使用do...while語句時,循環(huán)條件要放在while關鍵字后面的括號中,最后必須加上一個分號,這是許多初學者容易忘記的。
實例 模擬一輛客車的承載量
一輛客車只能承載25人,如果超過25人,司機就會拒絕載客。具體代碼如下:
01 #include<stdio.h> /*包含頭文件*/
02 int main() /*主函數(shù)main*/
03 {
04 intnum=0; /*定義人數(shù)變量*/
05 scanf("%d",&num); /*輸入人數(shù)*/
06 do /*進入循環(huán)*/
07 {
08 num++; /*人數(shù)累加1*/
09 printf("還能承載 %d 人,\n",26-num);/*所剩座位*/
10 }while(num<=25); /*檢驗條件*/
11 printf("座位已滿,不能再承載了。\n");/*輸出信息*/
12 return 0; /*程序結束*/
13 }
運行程序,顯示結果如圖7.6所示。
圖7.6 客車承載數(shù)運行圖
從該實例代碼和運行結果可以看出:
(1)定義變量num用來保存當前車輛的載客量。do關鍵字之后是循環(huán)語句,語句塊中進行累加1和打印出座位剩余情況等操作。
(2)語句塊下方是while語句檢驗條件,如果檢驗為真,則繼續(xù)執(zhí)行上面的語句塊操作;為假時,程序執(zhí)行下面的代碼。在循環(huán)操作完成之后,將執(zhí)行程序的第12行代碼。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。