【精通C语言】:深入解析C语言中的while循环

2024-01-07 19:05:02
个人头像
🎥 屿小夏 : 个人主页
🔥个人专栏 : C语言详解
🌄 莫道桑榆晚,为霞尚满天!


在这里插入图片描述

📑前言

在C语言编程中,循环结构是非常重要的,它可以让程序反复执行某段代码,实现重复性的任务。而while循环作为一种常见的循环结构,在实际开发中经常被使用。本文将深入探讨while循环的语法结构、执行过程以及breakcontinue关键字的作用,帮助读者更好地理解和运用while循环。

一、while循环

由于我们需要程序帮我循环往复的干一件事情,我们需要怎么来写呢?

1.1语法

C语言中引入了 while 语句,可以实现循环。

//while 语法结构

while(表达式)
	循环语句;

1.2 执行过程解析

while语句执行的流程:

image-20240106124411092

这个图可能不太直观的了解,下面用段代码来演示:

//在屏幕打印1-10的数字
#include <stdio.h>
int main()
{
	int i = 1;
	while(i<=10)
	{
		printf("%d ", i);
		i = i+1;
	}
	return 0;
}

定义整型变量i并赋值为1。然后进入while循环,条件是i小于等于10。在循环体内部,使用printf函数打印出i的值,然后将i的值加1。循环会一直执行直到i的值大于10,当i大于10的时候,while循环就会终止。

1.3 break

//break 代码实例
#include <stdio.h>
int main()
{
	int i = 1;
	while(i<=10)
	{
		if(i == 5)
			break;
    	printf("%d ", i);
		i = i+1;
	}
	return 0;
}

变量i赋值为1。然后进入while循环,条件是i小于等于10。在循环体内部,首先有一个if语句判断i是否等于5,如果是,则执行break语句跳出循环。如果i不等于5,则使用printf函数打印出i的值,然后将i的值加1。循环会一直执行直到i的值等于5,此时跳出while循环。

代码输出结果:1 2 3 4

总结:

break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。

所以:while中的break是用于永久终止循环的。

1.4 continue

//continue 代码实例1
#include <stdio.h>
int main()
{
	int i = 1;
	while(i<=10)
	{
		if(i == 5)
			continue;
		printf("%d ", i);
		i = i+1;
	}
	return 0;
}

代码输出:1 2 3 4

这段代码其实是有问题的,当i等于5时,continue语句会导致循环直接跳到下一次迭代,而不会执行printf语句和递增i的操作。这样会导致i永远等于5,因此会陷入死循环。

//continue 代码实例2
#include <stdio.h>
int main()
{
	int i = 1;
	while(i<=10)
	{
		i = i+1;
    	if(i == 5)
			continue;
		printf("%d ", i);
	}
	return 0;
}

代码输出:2 3 4 6 7 8 9 10

当i等于5时,continue语句会导致循环直接跳到下一次迭代,而不会执行printf语句。因此,这段代码会打印出2,3,4,6,7,8,9,10。当i等于5时,由于continue语句,printf语句不会执行,然后i会递增,继续执行循环,直到i等于10,循环结束。

总结:
continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

🌤?全篇总结

本文深入了解了C语言中while循环的语法结构和执行过程,以及breakcontinue关键字的作用。同时,通过代码实例的演示和分析,可以更清晰地理解while循环的使用方法,以及如何利用breakcontinue来控制循环流程。希望本文能够对小伙伴们对掌握while循环,提高编程效率有所帮助。

C语言结尾图

文章来源:https://blog.csdn.net/a1657054242/article/details/135425002
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。