物聯(lián)網(wǎng)/嵌入式工程師
重磅升級:新增硬件電路設(shè)計(jì)與實(shí)戰(zhàn),讓你軟硬通吃,同級PK無敵!行業(yè)風(fēng)口、政策傾斜,新晉熱門高薪不內(nèi)卷!0基礎(chǔ)一站式就業(yè)完整路徑,搶占先發(fā)優(yōu)勢!
我們再來看看 do-while 循環(huán),語法如下:
do { } while(表達(dá)式 A)
可以發(fā)現(xiàn),do-while 和 while 是非常像的,不一樣的是,這里多了一個(gè) do,而且 while 放到了后面。
而 do-while 和 while 最不一樣的地方,就是 do-while 無論條件是否成立,都會先執(zhí)行一次循環(huán)體內(nèi)的內(nèi)容。
do-while 是一種 while 的重要補(bǔ)充,由 while 的先判斷再循環(huán),變成先循環(huán)再判斷。
我們來看這樣一段程序
do { ... } while(false)
這段程序中,我們直接在 while 的判斷條件中寫了一個(gè) false。那么我們這樣做了,事實(shí)上是無法構(gòu)成一個(gè)循環(huán)的。既然不是循環(huán),那么我們?yōu)槭裁匆@樣做呢?
因?yàn)槲覀冞@里要利用一個(gè)循環(huán)的語法,來實(shí)現(xiàn)非循環(huán)的用途。
我們在寫程序的時(shí)候,有時(shí)候會想要做一個(gè)跳過一段程序的功能。
if(a == 12){ // 執(zhí)行跳過語句 } b = a + b; b = a - b;
例如,在上面的程序中,如果我們想要實(shí)現(xiàn)這樣一個(gè)需求:當(dāng) a 等于 12 的時(shí)候,就跳過b = a + b;
,直接執(zhí)行b = a - b;
。如果 a 不等于 12,就依次執(zhí)行b = a + b; b = a - b;
。
顯然,實(shí)現(xiàn)這樣一個(gè)功能,可以用 if 等的多分支結(jié)構(gòu):
if(a == 12){ b = a - b; } else{ b = a + b; b = a - b; }
但是當(dāng)要跳過的語句有好多行的時(shí)候,就會顯得特別不方便。因此,我們可以嘗試?yán)?do-while 語法來完成。
do {
if(a == 12){
break;
}
b = a + b;
} while(false);
b = a - b;
這樣,我們將 do-while 和 break 進(jìn)行配合,完成一個(gè)和循環(huán)無關(guān)的程序結(jié)構(gòu)。
請驗(yàn)證,完成請求
由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)