While 語句
重復(fù)執(zhí)行語句,直到表達(dá)式計算為零。
語法
while ( expression )statement
備注
expression 的測試在每次執(zhí)行循環(huán)前發(fā)生;因此 while 循環(huán)執(zhí)行零次或更多次。 表達(dá)式必須是整型、指針類型或包含明確的整型或指針類型轉(zhuǎn)換的類類型。
當(dāng)中斷、導(dǎo)航或回歸在語句體中執(zhí)行時,也可以中止while 循環(huán)。請使用continue語句來結(jié)束當(dāng)前迭代但不退出while循環(huán)。 繼續(xù) 將控件傳遞給下一輪循環(huán) while。
以下代碼使用 while 循環(huán)從字符串中剪裁尾隨下劃線:
// while_statement.cpp#include <string.h>#include <stdio.h>char *trim( char *szSource ){ char *pszEOS = 0; // Set pointer to character before terminating NULL pszEOS = szSource + strlen( szSource ) - 1; // iterate backwards until non '_' is found while( (pszEOS >= szSource) && (*pszEOS == '_') ) *pszEOS-- = '/0'; return szSource;}int main(){ char szbuf[] = "12345_____"; printf_s("/nBefore trim: %s", szbuf); printf_s("/nAfter trim: %s/n", trim(szbuf));}在循環(huán)頂部計算終止條件。如果沒有尾隨下劃線,循環(huán)不執(zhí)行。
do-while 語句
反復(fù)執(zhí)行 statement,直到指定的終止條件 (expression) 的計算結(jié)果為零。
語法
dostatementwhile ( expression ) ;
備注
終止條件的測試將在每次執(zhí)行循環(huán)后進行;因此 do-while 循環(huán)將執(zhí)行一次或多次,具體取決于終止表達(dá)式的值。 do-while 語句還可在語句體中執(zhí)行 break、goto 或 return 語句時終止。
expression 必須具有算法或指針類型。執(zhí)行過程如下所示:
執(zhí)行語句體。
接著,計算 expression。如果 expression 為 false,則 do-while 語句將終止,控制將傳遞到程序中的下一條語句。如果 expression 為 true(非零),則將從第一步開始重復(fù)此過程。
以下示例演示了 do-while 語句:
// do_while_statement.cpp#include <stdio.h>int main(){ int i = 0; do { printf_s("/n%d",i++); } while (i < 3);}新聞熱點
疑難解答