C语言分支与循环(7)--- do...while()循环
  uUWKQE7Avyk4 2023年11月02日 33 0

一. do语句的语法

do
循环语句;
while(表达式);

我们可以发现do后面的循环语句一定会被执行一次,随后再去执行while()循环语句,去判断表达式,如果为真则返回do语句继续执行,若为假则不进入do语句循环,如以下代码:

#include<stdio.h>
int main(void){
	int i = 0;
	do
	{
		printf("%d ",i);
		i++;
	} while (i<=10);
	getchar();
	return 0;
}

以下代码将输出0-10,我们接下来对代码进行分析:首先声明变量i并赋值i=0,然后执行do语句中的内容先调用printf()函数输出i的值,随后将变量i进行自增(i+1)随后利用while()语句进行判断若i<=10则满足条件跳转到do语句中以此类推,直到i=11,不再满足while()入口条件,跳出循环,以下是程序运行

截图:

C语言分支与循环(7)--- do...while()循环_do while

同样do...while()语句中也可以存在continue与break语句,如以下代码:

#include<stdio.h>
int main(void){
	int i = 0;
	do
	{
		if (i == 5){
			break;
		}
		printf("%d ",i);
		i++;
	} while (i<=10);
	getchar();
	return 0;
}

我们之前已经多次了解过break语句,知道了break语句是用于终止循环的,所以这个程序运行的结果我们也可以计算出是 0 1 3 2 4,如图所示:

C语言分支与循环(7)--- do...while()循环_do while_02

我们再来看以下代码:

#include<stdio.h>
int main(void){
	int i = 0;
	do
	{
    i++;
		if (i == 5){
			continue;
		}
		printf("%d ",i);
	} while (i<=10);
	getchar();
	return 0;
}

continue语句则是终止本次循环,重新开始新的循环,也就是说continue语句后面的代码不会被执行,注意使用continue语句时一定要注意变量无法成功自增导致的死循环问题,例如i的自增语句放在了continue语句的后面则很可能导致死循环,这点需要格外注意,同时do语句中的内容也会被优先无条件执行

程序最终的结果为 1 2 3 4 6 7 8 9 10 11 ,如图所示:

C语言分支与循环(7)--- do...while()循环_循环_03


但是do...while()语句使用的场景有限,不经常使用,所以也就不多介绍了

                                                                                                         2023/7/24

                                                                                                            王起舟

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

uUWKQE7Avyk4