While 語句
重復執行語句,直到表達式計算為零。
語法
while ( expression )statement
備注
expression 的測試在每次執行循環前發生;因此 while 循環執行零次或更多次。 表達式必須是整型、指針類型或包含明確的整型或指針類型轉換的類類型。
當中斷、導航或回歸在語句體中執行時,也可以中止while 循環。請使用continue語句來結束當前迭代但不退出while循環。 繼續 將控件傳遞給下一輪循環 while。
以下代碼使用 while 循環從字符串中剪裁尾隨下劃線:
// 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));}
在循環頂部計算終止條件。如果沒有尾隨下劃線,循環不執行。
do-while 語句
反復執行 statement,直到指定的終止條件 (expression) 的計算結果為零。
語法
dostatementwhile ( expression ) ;
備注
終止條件的測試將在每次執行循環后進行;因此 do-while 循環將執行一次或多次,具體取決于終止表達式的值。 do-while 語句還可在語句體中執行 break、goto 或 return 語句時終止。
expression 必須具有算法或指針類型。執行過程如下所示:
執行語句體。
接著,計算 expression。如果 expression 為 false,則 do-while 語句將終止,控制將傳遞到程序中的下一條語句。如果 expression 為 true(非零),則將從第一步開始重復此過程。
以下示例演示了 do-while 語句:
// do_while_statement.cpp#include <stdio.h>int main(){ int i = 0; do { printf_s("/n%d",i++); } while (i < 3);}