第 7 講:do-while 循環(huán)
2021-08-30 16:15 作者:SunnieShine | 我要投稿
在求得 1 到 100 的和的計算結果的時候,我們明顯知道 i
第一次的初始數值(即 1)是不可能超過 100 的,所以第一次完全不必判斷這個條件。
正是因為這樣,我們便產生了 do-while
語句。在提及代碼的寫法格式之前,我們先來看一下它的執(zhí)行邏輯,如下圖所示。

do-while
(循環(huán))語句
下面我們來看一下 do-while
語句的執(zhí)行邏輯和代碼規(guī)范。
這種寫法把條件進行了后置處理,所以執(zhí)行 S += i++;
操作是無條件都會執(zhí)行至少一次的。然后執(zhí)行后才會判斷數值 i
是否不超過 100。
不過,此時的大括號最好就不要省略了,雖然編譯器依舊允許你這么寫:
甚至
和
這兩種寫法雖然沒什么問題,不過不建議這么書寫是因為代碼不太好看。
一定要注意,語法格式
里面的末端,寫了括號和條件 condition
后,還要加上分號,標記整體是一個語句的結束。
while
和 do-while
的異同
從兩種書寫格式來看,while
的條件是前置的,而 do-while
的條件則是后置的,這使得條件判斷的位置不同。C 語言的執(zhí)行是從上到下的,所以遇到這些條件的機會和方式不同,while
是不論如何都會先判斷條件,當條件成立的時候執(zhí)行對應大括號里的內容,但條件如果不滿足,則不會執(zhí)行內部的語句。所以 while
語句的重復執(zhí)行部分很有可能一次都不會去執(zhí)行;但 do-while
不一樣,它的條件被放到后面,這使得重復執(zhí)行的代碼不論如何都會先被執(zhí)行一次,然后才會判斷條件。所以 do-while
語句的重復執(zhí)行部分最少都會執(zhí)行一次。
除此之外,它們并無什么不同。
標簽: