简单掌握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); }