当型循环和直到型循环(精讲)

简介: 当型循环和直到型循环(精讲)

背景

两年前写过一篇 当型循环和直到型循环的博客,访问量较高,但当时刚开始接触博客,文章看上去着实水平不高,并且存在一些问题,随即又重新学习了一下,写下了这篇文章。

概念

  直到型循环和当型循环是编程中常用的两种循环结构

当型循环

    当型循环结构用在先判断某些条件是否为真,然后重复执行某一段代码的情况下。当型循环的条件是在循环体执行前进行判断的 当条件满足时进入循环,否则结束循环.当型循环也叫“前测试型”循环。

直到型循环

    直到型结构是循环结构的一种。直到型循环结构是先在执行了一次循环体之后,再对控制条件进行判断,当条件不满足时执行循环体,满足时则停止。

二维表对比

区别:

  1. 判断条件的时机不同:当型循环在循环体执行之前判断条件,直到型循环在循环体执行之后判断条件。
  2. 执行次数不同:直到型循环至少会执行一次循环体,当型循环可能一次都不执行循环体。

联系:

1 两者都是循环结构,用于重复执行一段代码。

2. 两者都需要一个循环条件,用于判断是否继续执行循环。

以下是用二维表表示直到型循环和当型循环的区别和联系:

直到型循环 当型循环
执行顺序 先执行,再判断 先判断,再执行
执行次数 至少执行一次循环体 可能一次都不执行循环体
判断 条件不成立执行 条件成立执行
脱离循环 条件成立 条件不成立

图示与代码

当型循环

流程图

N-S图(盒图)

先判断后执行,当P1条件成立的情况下,反复执行A语句,直到P1条件不成立为止

直到型循环

流程图

N-S图(盒图)

先执行后判断,当P1条件不成立的情况下,反复执行A语句,直到P1条件成立为止

注意:do-while 语句是直到型结构的变形

例子

计算1+2+3+…100的和

当型

图示



a106f24c32654c9aa0a791bb096c204f.png

代码

这里使用简单的vb代码

Private Sub Form_Click()
Dim s As Integer, n As Integer
s = 0: n = 1
Do While n <= 100
s = s + n
n = n + 1
Loop
Print "1+2+3+...100="; s
End Sub

直到型

图示

代码

Private Sub Form_Click()
Dim s As Integer, n As Integer
s = 0: n = 1
Do Until n > 100
s = s + n
n = n + 1
Loop
Print "1+2+3+...100="; s
End Sub

Do–Loop 和For –Next

相同点:

  1. 都是用于重复执行一段代码,实现循环的目的。
  2. 都需要一个循环变量来控制循环的次数或条件。

不同点:

  1. 语法结构不同:Do-Loop使用的是Do关键字,后跟循环条件,而For-Next使用的是For关键字,后跟循环变量和循环范围。
  2. 控制方式不同:Do-Loop可以根据循环条件的真假来决定是否继续循环,可以是无限循环或有条件循环;而For-Next是根据循环变量的递增或递减来控制循环次数,循环次数是有限的(循环次数确定)。
  3. 循环变量的使用不同:Do-Loop可以使用任意变量作为循环条件,可以在循环体内自行修改循环条件;而For-Next需要在循环开始前定义循环变量,并在循环体内不可修改循环变量。
  1. For –Next中Next i 可以自行给控制变量i 加上步长;而Do–Loop必须自己写控制变量的变化
  2. Do–Loop语句中控制变量的初值往往要放在循环外面设置

代码

Do-Loop的示例代码:

Dim i As Integer
i = 1
Do While i <= 5
    Console.WriteLine(i)
    i = i + 1
Loop

解释:上述代码使用Do-Loop结构,先定义一个整数变量i,并将其初始化为1。然后使用Do关键字开始循环,循环条件为i小于等于5。在循环体内,打印出i的值,并将i加1。循环执行完毕后,再次判断循环条件,如果满足条件则继续执行循环体,否则跳出循环。

For-Next的示例代码:

For i = 1 To 5
    Console.WriteLine(i)
Next

解释:上述代码使用For-Next结构,直接使用For关键字定义循环变量i,并指定循环范围为1到5。在循环体内,打印出i的值。循环执行完毕后,循环变量i会自动递增,然后再次判断循环条件,如果满足条件则继续执行循环体,否则跳出循环。

总结

1、当型循环适合于不确定循环体是否需要执行的情况,循环条件可能在循环体执行后才能确定。

2、直到型循环适合于至少需要执行一次循环体的情况,循环条件可能在循环体执行前就能确定。

3、在选择循环结构时,需要根据具体的需求和逻辑来确定使用哪种循环结构。

相关文章
|
7月前
循环编程计算
循环编程计算
34 0
|
8月前
while循环和do while循环有什么区别
while循环和do while循环有什么区别
93 0
while循环和do while循环有什么区别?
while循环和do while循环有什么区别?
152 0
当型循环——直到型循环
在VB中有其中有两种循环结构,一个是当型循环另一个是直到型循环,那么这两种有什么不同,在什么时候会用到,循环语句一般用来处理重复性的问题,接下来就往下面看吧。
268 0
|
Java
三种循环的区别
三种循环的区别
100 0
|
开发工具
游戏开发实战教程(5):重复执行和逻辑循环的区别
将循环分为重复执行和逻辑循环,应该是微信小游戏开发工具中所特有的。因为之前做游戏,无论是使用哪种工具或者哪种编程语言,对于循环来说,都只有一种,不会存在歧义或者误用。但是这里将循环分为了两种,如果误用的话会导致出现一些奇怪的问题。所以需要单独拿出来区分一下,避免掉进这个“坑”。
167 0
|
PHP 开发者
For 循环|学习笔记
快速学习 For 循环
For 循环|学习笔记
|
PHP 开发者
Do-while 循环|学习笔记
快速学习 Do-while 循环
Do-while 循环|学习笔记
|
PHP 开发者
while 循环|学习笔记
快速学习 while 循环
while 循环|学习笔记

热门文章

最新文章