C++中while与do-while循环的使用指南
C++中的while和do-while是常用的循环控制语句。while语句先判断条件再执行,可能不执行;do-while则是先执行一次再判断,至少执行一次。本文通过具体代码示例解析两者的语法及区别。
While 循环语句
while语句用于重复执行一段语句,直到表达式计算为零(false)。其核心特点是“先判断,后执行”,因此如果初始条件不满足,循环体一次也不会执行。
第1步:理解While语法结构
While语句的基本语法如下:
while ( expression )
statement
在每次执行循环前,都会对expression进行测试。这意味着expression必须是整型、指针类型或包含明确的整型或指针类型转换的类类型。如果需要在循环中结束当前迭代但不退出循环,可以使用continue语句将控件传递给下一轮循环。
第2步:实战应用——剪裁字符串尾随下划线
以下代码演示了如何使用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));
}
在该示例中,程序首先获取字符串最后一个字符前的指针,然后利用while循环逆序检查。只要指针未越界且当前字符为下划线,就将该位置替换为字符串结束符并向前移动。如果原字符串没有尾随下划线,则循环根本不执行,直接返回原字符串。
Do-While 循环语句
与while不同,do-while循环会在每次执行完statement后才测试终止条件(expression)。这确保了无论条件如何,循环体至少会执行一次。
第1步:理解Do-While语法结构
do-while语句的标准语法格式为:
do
statement
while ( expression ) ;
执行过程分为两步:首先执行语句体,接着计算expression。如果expression为false,循环终止,控制传递给下一条语句;如果expression为true(非零),则从头开始重复这个过程。expression同样需要具备算法或指针类型。
第2步:实战应用——数值递增输出
以下示例展示了do-while循环的典型用法:
// do_while_statement.cpp
#include <stdio.h>
int main()
{
int i = 0;
do
{
printf_s("\n%d",i++);
} while (i < 3);
}
在此代码中,变量i初始化为0。循环首先打印0并将i自增为1,然后判断i是否小于3。由于条件成立,继续打印1并自增;再次判断仍成立,打印2并自增为3。此时判断i<3不成立,循环结束。最终输出为0、1、2。
以上就是C++中while与do-while循环的详细使用指南,更多关于C++基础语法和循环控制的知识请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









