C语言《循环程序设计》:while和 do while区别

2023-05-3117:43:05编程语言入门到精通Comments908 views字数 1103阅读模式

一、C语言循环

有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。
编程语言提供了更为复杂执行路径的多种控制结构。
循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

C语言《循环程序设计》:while和 do while区别

二、循环类型

C 语言提供了以下几种循环类型。点击链接查看每个类型的细节。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

C语言《循环程序设计》:while和 do while区别

三、C语言while和 do while区别

while 和 do while 都是 C 语言中的循环语句,它们的主要区别在于循环体执行的顺序。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

while 循环首先检查循环条件,只有当条件为真时才执行循环体。因此,如果条件一开始就为假,那么循环体将永远不会执行。而如果条件一直为真,那么循环将一直执行下去。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

while: 你欠我钱,我走路上,前面一人,我先看清楚这个人是不是你,不是就不打。
do while: 你欠我钱,我走路上,前面一人,我不管这个人是不是你,先打再说。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

下面是一个 while 循环的实例程序:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

#include <stdio.h>文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

int main()文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

int i = 0;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

while (i < 5)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

printf("i = %dn", i);文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

i++;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

return 0;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

C语言《循环程序设计》:while和 do while区别

do while 循环与 while 循环的主要区别在于它们执行循环体的顺序。do while 循环首先执行循环体,然后检查循环条件。因此,即使条件一开始就为假,循环体也会至少执行一次。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

下面是一个 do while 循环的实例程序:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

#include <stdio.h>文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

int main()文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

int i = 0;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

do文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

printf("i = %dn", i);文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

i++;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

} while (i < 5);文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

return 0;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

C语言《循环程序设计》:while和 do while区别

可以看到,即使 i 的初始值为 0,do while 循环仍然执行了 5 次循环体,因为它们先执行了循环体,然后再检查循环条件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

总的来说,while 循环适用于在循环之前检查条件,而 do while 循环适用于至少执行一次循环体,不管条件是否成立。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

四、循环控制语句

循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

C 提供了下列的循环控制语句。点击链接查看每个语句的细节。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

C语言《循环程序设计》:while和 do while区别

五、无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

#include <stdio.h>文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

int main()文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

for (; ; )文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

{文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

printf("该循环会永远执行下去!n");文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

return 0;文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C 程序员偏向于使用 for(;;) 结构来表示一个无限循环。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/43883.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/43883.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定