簡(jiǎn)單掌握C++編程中的while與do-while循環(huán)語(yǔ)句使用
While 語(yǔ)句
重復(fù)執(zhí)行語(yǔ)句,直到表達(dá)式計(jì)算為零。
語(yǔ)法
while ( expression ) statement
備注
expression 的測(cè)試在每次執(zhí)行循環(huán)前發(fā)生;因此 while 循環(huán)執(zhí)行零次或更多次。 表達(dá)式必須是整型、指針類型或包含明確的整型或指針類型轉(zhuǎn)換的類類型。
當(dāng)中斷、導(dǎo)航或回歸在語(yǔ)句體中執(zhí)行時(shí),也可以中止while 循環(huán)。請(qǐng)使用continue語(yǔ)句來(lái)結(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)頂部計(jì)算終止條件。如果沒(méi)有尾隨下劃線,循環(huán)不執(zhí)行。
do-while 語(yǔ)句
反復(fù)執(zhí)行 statement,直到指定的終止條件 (expression) 的計(jì)算結(jié)果為零。
語(yǔ)法
do statement while ( expression ) ;
備注
終止條件的測(cè)試將在每次執(zhí)行循環(huán)后進(jìn)行;因此 do-while 循環(huán)將執(zhí)行一次或多次,具體取決于終止表達(dá)式的值。 do-while 語(yǔ)句還可在語(yǔ)句體中執(zhí)行 break、goto 或 return 語(yǔ)句時(shí)終止。
expression 必須具有算法或指針類型。執(zhí)行過(guò)程如下所示:
執(zhí)行語(yǔ)句體。
接著,計(jì)算 expression。如果 expression 為 false,則 do-while 語(yǔ)句將終止,控制將傳遞到程序中的下一條語(yǔ)句。如果 expression 為 true(非零),則將從第一步開(kāi)始重復(fù)此過(guò)程。
以下示例演示了 do-while 語(yǔ)句:
// do_while_statement.cpp
#include <stdio.h>
int main()
{
int i = 0;
do
{
printf_s("\n%d",i++);
} while (i < 3);
}
相關(guān)文章
Windows 環(huán)境下使用 Qt 連接 MySQL
這篇文章主要介紹了Windows 環(huán)境下使用 Qt 連接 MySQL的相關(guān)資料,需要的朋友可以參考下2017-07-07
C++ 數(shù)字的反轉(zhuǎn)實(shí)現(xiàn)實(shí)例
這篇文章主要介紹了C++ 數(shù)字的反轉(zhuǎn)實(shí)現(xiàn)實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06
C++中std::construct()與std::destroy()的使用
std::construct()和std::destroy()是C++ STL中的函數(shù)模板,用于在已分配的存儲(chǔ)區(qū)域中構(gòu)造或銷毀對(duì)象,本文主要介紹了C++中std::construct()與std::destroy()的使用,感興趣的可以了解一下2024-02-02

