C语言循环语句详解

本文详细解释了C语言中while,for,break和continue的基本语法、使用场景以及它们之间的区别。重点讨论了如何在循环中使用break和continue来控制流程,以及for循环的不同形式。
摘要由CSDN通过智能技术生成

while循环

while(表达式)
    循环语句;

在while中表达式为真再执行循环语句。

我们在屏幕上打印1——10的数字试试:

	int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i++;
	}

这就是while循环的基本语句。接下来我们看看while的break和continue。

break介绍

我们看看下面代码输出什么?

int main()	
{
    int i = 1;
    while (i < 10)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
		i++;
}

输出:

说明什么,说明只要在循环中遇到break,就会停止后面所有的循环,直接终止循环,break在while中用于永久停止循环的。

continue介绍

int main()
{
	int i = 1;
	while (i < 10)
	{
		if (i == 5)
		{
			continue;//跳过下面所有的代码,调整部分也跳过了
		}
		printf("%d ", i);
		i++;
	}
}

这样的代码会输出什么?

我们会看到程序进入了死循环,因为我们的continue在while中是跳过本次循环的,直接去while的括号部分进行判断,在上面代码中也跳过了 i++ 部分,所以 i 会一直等于5然后死循环。我们可以这样调整:

int main()
{
	int i = 1;
	while (i < 10)
	{
        i++;
        if (i == 5)
		{
			continue;//跳过下面所有的代码,调整部分也跳过了
		}
		printf("%d ", i);
	}
}

输出结果:

因为我们先i++,所以从2开始输出了。

总结:continue是用于中止本次循环的,continue后面的代码就不会再执行了,直接去while的括号部分进行判断。

for循环

基本语法:

for(表达式1;表达式2;表达式3)
                循环语句;

表达式1:初始化部分,初始化变量。

表达式2:判断部分,判断循环什么时候停止。

表达式3:调整部分,循环条件的调整。

在屏幕上打印1——10:

int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		printf("%d ", i);
	}
}

i = 1就是初始化部分,i <= 10 判断部分, i++ 调整部分。当然判断部分必须为真再执行

两者的比较

我们可以看到while和for其实都差不多,都有循环的三个必要条件即初始化,判断,调整。

但是while循环三个部分很可能偏离较远,所以for循环使用的频率最高。

当我们知道明确的循环次数时用for循环好一点,不知道的时候用while循环好一点。

break介绍

int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
	}
}

其实和while中的break意思一样。

continue介绍

int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
		{
			continue;
		}
		printf("%d ", i);
	}
}

也是和while中的意思相同,只不过for循环中的好像更容易理解点,continue直接到判断部分,然后自己执行了调整部分。注意:不可以在循环体内修改循环变量,防止失控。

for的变种

for循环的初始化,判断,调整部分都可以省略,但是不建议,容易有问题。

int main()
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("hehe\n");
		}
	}//输出9个
}

输出多少:

如果这样写呢

int main()
{
	int i = 0;
	int j = 0;
	for ( ; i < 3; i++)
	{
		for ( ; j < 3; j++)
		{
			printf("hehe\n");
		}
	}//输出3个
}

这就是初始化省略的问题,省略了 j 的初始化,在第一次外层循环的时候 j 就已经等于3了。

do while 循环

基本语法:

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

他的特点就是循环上来就执行一次,循环至少执行一次。

他的 break,continue 和while循环的意思一样,所以就不一一介绍了,给大家一个代码看看就行:

int main()
{
	//特点是循环至少要循环一次,上来就直接循环一次
	int i = 1;
	do
	{
		if (i == 5)
		{
			break;
			//continue; 打印到4然后死循环
		}
		printf("%d ", i);
		i++;
	} while (i <= 10);
	return 0;
}

大家可以自己试试打印。

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值