for循環(huán)執(zhí)行次數(shù)公式 for循環(huán)是先執(zhí)行循環(huán)語句還是先判斷?
for循環(huán)是先執(zhí)行循環(huán)語句還是先判斷?首先,二者在表達(dá)能力上是等價的,也就是說,他們能完成的事情是一樣的。其次,因為for語句結(jié)合了初始化、循環(huán)條件和每次循環(huán)后對循環(huán)變量的修改,所以它清晰直觀。因此,
for循環(huán)是先執(zhí)行循環(huán)語句還是先判斷?
首先,二者在表達(dá)能力上是等價的,也就是說,他們能完成的事情是一樣的。其次,因為for語句結(jié)合了初始化、循環(huán)條件和每次循環(huán)后對循環(huán)變量的修改,所以它清晰直觀。因此,for語句通常用于循環(huán)或遍歷中,這些循環(huán)或遍歷可以預(yù)先確定循環(huán)的數(shù)量。例如遍歷一個數(shù)組,或者多次執(zhí)行一個操作。在這種情況下,for語句更好。while語句歷史較長,表達(dá)更靈活。它通常用于不能預(yù)先判斷循環(huán)數(shù)的循環(huán)中。例如經(jīng)典的計算長度的C風(fēng)格字符串代碼,如根遍歷后二叉樹的非遞歸實現(xiàn)。在這種情況下,使用while語句將使程序更清晰。最后強(qiáng)調(diào)二者在表達(dá)能力上是等價的。
關(guān)于C語言for的循環(huán)次數(shù)?
您可能會誤解while和for循環(huán)可以無限執(zhí)行或通過特定條件退出。
以下兩種寫入方法是無限循環(huán):
while(1)for()
以下兩種寫入方法在達(dá)到特定條件(字符串結(jié)尾)后退出
char*P=“123456”對于(“0”!=*P){P}while(“0”!=*P){P}}
以上兩種寫方法不需要知道循環(huán)次數(shù),只需要達(dá)到條件即可。如果for循環(huán)中間的表達(dá)式為true,則對其進(jìn)行處理。條件判斷的本質(zhì)是表達(dá)判斷。