C++中while与do-while循环的使用指南

闻溪
闻溪
发布时间:2026-10-13 | 2人浏览过
原创

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++基础语法和循环控制的知识请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表