do......while和while......do有什么区别?
时间: 2023-11-10 21:32:59 浏览: 103
`do...while` 循环和 `while...do` 循环都是 C 语言中的循环结构,不同的是它们在循环体执行的次数上有一些差别。
`do...while` 循环先执行一次循环体,然后再检查循环条件是否成立,如果成立则继续执行循环,否则退出循环。因此,`do...while` 循环至少会执行一次循环体。
`while...do` 循环先检查循环条件是否成立,如果成立则执行循环体,否则直接退出循环。因此,如果循环条件一开始就不成立,`while...do` 循环将不会执行任何一次循环体。
下面是两种循环结构的示例代码:
```c
/* do...while 循环 */
int i = 0;
do {
printf("i = %d\n", i);
i++;
} while (i < 5);
/* while...do 循环 */
int j = 0;
while (j < 5) {
printf("j = %d\n", j);
j++;
}
```
在上面的代码中,`do...while` 循环会先执行一次循环体,输出 `i = 0`,然后检查循环条件 `i < 5` 是否成立,由于 `i` 的值为 1,因此继续执行循环体,输出 `i = 1`,以此类推,直到 `i` 的值为 5,循环结束。
`while...do` 循环先检查循环条件 `j < 5` 是否成立,由于 `j` 的初值为 0,因此成立,执行循环体,输出 `j = 0`,然后将 `j` 的值加 1,变为 1。接下来继续检查循环条件,由于 `j` 的值为 1,仍然成立,继续执行循环体,输出 `j = 1`,以此类推,直到 `j` 的值为 5,循环结束。
阅读全文