什么是 do-while 循环?

2025年6月14日 | 阅读6分钟

do-while 循环是一种控制流程语句,它至少执行一次代码块,然后根据代码块末尾给出的条件重复执行该代码块。

do-while 循环也被称为“后置测试循环”,因为在该循环中,条件是在循环执行一次之后才进行检查的。在某些情况下,我们希望无限次地执行代码块,从而创建一个无限循环。当创建这种类型的循环时,使用 break 语句允许从循环中终止。

嵌套循环:嵌套循环是外循环内的内循环。内循环执行直到外循环完成其执行。

一般语法

do-while 循环的算法

  • 首先,代码块执行一次,不验证条件。
  • 在代码块执行一次之后,检查测试条件。
  • 如果条件为真,则执行代码块,直到条件为真,否则终止循环。

do-while 循环与其他循环(例如 for 循环、while 循环)的区别

do-while 循环中的语句至少执行一次,然后验证条件,但在其他循环(for 循环、while 循环)的情况下,仅当指定的条件被评估时才执行语句。

do-while 循环的语法在 C、C++、Java、php、perl、javascript、C# 中通用。

  • 应该注意的是,测试条件是在块的末尾指定的。因此,块语句至少执行一次,然后评估条件。如果条件为真,则再次执行语句,直到指定的条件为真。

Ruby 中 do-while 循环的语法

您可以在上面的场景中看到,块语句至少执行一次,然后评估指定的条件。如果条件为假,则再次执行块语句。

Rust 中 do-while 循环的语法

Rust 不支持 do-while 循环。它仅支持三种迭代活动,即 loop、while 和 for。

Swift 中 do-while 循环的语法

Swift 包含 "repeat-while" 块。在该循环中,块语句至少执行一次,然后评估条件。如果条件为真,则再次执行语句,直到指定的条件为真

Python 中 do-while 循环的语法

Python 不支持 do-while 循环。它仅支持两种迭代活动,即 for 循环和 while 循环。

要点提示

  • Rust 语言不支持 do-while 循环。
  • Python 语言不支持 do-while 循环。
  • Ruby 包含 "do-if" 块,而 Swift 包含 "repeat-while" 块。


无限循环

让我们看看在各自语言中使用无限循环的简单程序

C语言程序

此程序创建一个无限循环。除非我们按下键 y,否则此循环将继续。当我们按下键“y”时,这会导致循环终止。

C++ 程序

此程序创建一个无限循环。除非我们按下键 'y',否则此循环将继续。当我们按下键“y”时,这会导致循环终止。

C#程序

此程序创建一个无限循环。除非我们按下键 ?Enter?,否则此循环将继续。当我们按下 Enter 键时,它会导致循环终止。

Java程序

此程序创建一个无限循环,因此无限次打印“javaTpoint”。

JavaScript程序

此程序创建一个无限循环,因此无限次打印“javaTpoint”。

Perl程序

此程序创建一个无限循环,因此无限次打印“javaTpoint”。

PHP程序

此程序创建一个无限循环,因此无限次打印“avaTpoint”。

Ruby程序

此程序创建一个无限循环,因此无限次打印“javaTpoint”。

Swift程序

此程序创建一个无限循环,因此无限次打印“javaTpoint”。

输出

javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint 
javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint javaTpoint ....................
(infinite times) 


嵌套循环的用法

让我们看看用相应语言打印数字模式的简单程序。

C语言程序

在这个程序中,使用嵌套循环来创建数字模式。 每次 i 迭代时,j 执行 'i' 次。 在 'C 语言' 中,使用 printf() 函数打印模式。

C++ 程序

在这个程序中,i 执行 5 次。 因此,每次 i 迭代时,j 执行 i 次。 在 C++ 语言中,使用 cout 对象来打印模式。

C#程序

在这个程序中,i 执行 5 次。 因此,每次 i 迭代时,j 执行 i 次。 在 C# 语言中,使用 Console.Write() 函数打印模式。

Java程序

在这个程序中,i 执行 5 次。 每次 i 迭代时,j 执行 i 次。 在 "java 语言" 中,使用 System.out.print() 打印模式。

JavaScript程序

在这个程序中,i 执行 5 次。 每次 i 迭代时,j 执行 i 次。 在 javascript 中,使用 document.write() 打印模式。

Perl程序

在这个程序中,$i 执行 5 次。 每次 $i 迭代时,$j 执行 $i 次。 在 perl 中,使用 printf() 函数打印模式。

PHP程序

在这个程序中,$i 执行 5 次。 每次 $i 迭代时,$j 执行 $i 次。 在 PHP 中,使用 echo 关键字打印模式。

Ruby程序

在这个程序中,$i 执行 5 次。 每次 $i 迭代时,$j 执行 $i 次。 在 ruby 中,使用 print 关键字在屏幕上打印模式。

Swift程序

在这个程序中,i 执行 5 次。 每次 i 迭代时,j 执行 i 次。 在 swift 中,使用 print 函数打印模式。

输出

1
1 2
1 2 3 
1 2 3 4
1 2 3 4 5

下一主题编程概念