简单掌握C++编程中的while与do-while循环语句使用
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;
//SetpointertocharacterbeforeterminatingNULL
pszEOS=szSource+strlen(szSource)-1;
//iteratebackwardsuntilnon'_'isfound
while((pszEOS>=szSource)&&(*pszEOS=='_'))
*pszEOS--='\0';
returnszSource;
}
intmain()
{
charszbuf[]="12345_____";
printf_s("\nBeforetrim:%s",szbuf);
printf_s("\nAftertrim:%s\n",trim(szbuf));
}
在循环顶部计算终止条件。如果没有尾随下划线,循环不执行。
do-while语句
反复执行statement,直到指定的终止条件(expression)的计算结果为零。
语法
do statement while(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>
intmain()
{
inti=0;
do
{
printf_s("\n%d",i++);
}while(i<3);
}