do while 循环属于后判断循环,核心特点是循环体内代码至少执行一次,先执行循环体,执行完成之后再判断 while 后面的条件,条件成立就继续下一轮,条件不成立就退出循环,这点和 while 循环不一样,while 是先判断条件,条件不满足一次都不会执行。do while 适合需要先执行一次操作,再根据条件决定是否重复的场景,比如菜单选择用户输入校验累加求和这类需求,下面给出 C 语言 Python 替代写法 VB 等常见语言的 do while 循环例子,同时讲解执行逻辑和注意事项。
核心语法结构
do
{
循环体代码
}
while(循环条件);
重点提醒,C 语言里面 while 后面末尾必须加分号,漏掉分号是初学者高频报错。
C 语言 do while 基础例子 1 到 10 累加求和
include
int main()
{
int i = 1;
int sum = 0;
do
{
sum = sum + i;
i++;
}
while(i <= 10);
printf("累加结果sum=%d",sum);
return 0;
}
执行说明,初始 i=1,先进入循环体累加,i 自增,然后判断 i 是否小于等于 10,满足就继续循环,直到 i 变成 11,条件不成立退出循环,最终 sum 等于 55。
C 语言 do while 用户输入校验例子
include
int main()
{
int num;
do
{
printf("请输入大于0的数字:");
scanf("%d",&num);
}
while(num <= 0);
printf("输入合法,数字是%d",num);
return 0;
}
执行说明,程序一定会先执行一次输入提示,接收用户输入,再判断,如果输入小于等于 0,就重复提示输入,直到输入正数才退出循环,这个场景非常适合 do while,因为必须先让用户输入一次。
VB do while 循环例子
Dim i As Integer
i = 1
Do While i <= 5
Print i
i = i + 1
Loop
补充 VB 还有 Do Loop While 写法,也就是后判断版本,和 C 语言 do while 逻辑一致
Dim i As Integer
i = 1
Do
Print i
i = i + 1
Loop While i <= 5
Python 说明
Python 原生没有 do while 关键字,一般使用 while True 加内部条件判断模拟 do while 效果
i = 1
sum = 0
while True:
sum = sum + i
i = i + 1
if i > 10:
break
print(sum)
do while 和 while 对比表
| 对比项 | while 循环 | do while 循环 |
|---|---|---|
| 判断时机 | 先判断条件,再执行循环体 | 先执行循环体,再判断条件 |
| 最少执行次数 | 0 次 | 至少 1 次 |
| 适用场景 | 一开始条件就可能不满足 | 必须先执行一次操作再判断 |
常见易错点
第一 循环变量忘记自增,会造成死循环,程序一直卡在循环里面
第二 C 语言 do while 末尾 while 括号后面忘记写分号,编译报错
第三 条件写反,永远成立变成死循环,写条件的时候确认边界值
第四 混淆 do while 和 while,不需要至少执行一次的场景强行使用 do while,逻辑会出错
收尾判断
do while 就是后置判断循环,优势是保证循环体至少运行一次,最典型用途是输入校验,累加计算菜单循环,写代码重点记住执行顺序,循环变量更新,还有语法分号这类细节,区分开普通 while 和 do while 执行逻辑。
【相关 FAQ】
问题 1 do while 循环语句例子里面为什么至少执行一次
回答 1 do while 循环语句例子执行顺序是先跑循环体,之后才判断 while 条件,不管条件一开始是真还是假,循环体内代码都会先执行一轮,所以 do while 循环语句例子最少执行一次。
问题 2 do while 循环语句例子 C 语言末尾为什么要加分号
回答 1 do while 循环语句例子 C 语言语法规定,while (条件) 是一条完整语句,末尾必须添加分号,漏掉分号编译器会语法报错,这是 do while 循环语句例子最常见错误。
问题 3 do while 循环语句例子和 while 循环能不能互换
回答 1 do while 循环语句例子和 while 循环大部分场景可以改写互换,但是如果业务要求循环体必须至少执行一次,就只能使用 do while,普通 while 初始条件不成立一次都不会运行,不能直接替换。
问题 4 do while 循环语句例子出现死循环是什么原因
回答 1 do while 循环语句例子出现死循环,一般是循环变量没有更新,或者 while 判断条件永远成立,循环一直满足判断条件,程序无法跳出循环,写 do while 循环语句例子一定要修改循环变量。
免责声明:本文内容仅为编程基础教学参考,不同编程语言语法存在差异,实际编译运行请对照对应语言官方规范,操作产生的相关风险由使用者自行承担。


