C语言基本语法——循环篇(三种常见的循环)

目录


前言

对于新手小白来说,他们会困惑于循环是什么?循环可以用来做什么,C语言中有哪些循环,这些循环又该怎么使用呢?因此,本文总结了C语言中常见的循环类型,专门为小白解决循环这个难题。

一、什么是循环?

循环是程序设计语言中反复执行某些代码的一种计算机处理过程,常见的有按照次数循环和按照条件循环。

循环体被重复执行的次数由循环条件控制,称为控制表达式(controlling expression)。这是一个标量类型的表达式,也就是说,它属于一个算术表达式或指针表达式。如果控制表达式的值不等于 0,循环条件为 true,反之,循环条件为 false。

语句 break 和 continue 用于在一次循环还未执行完时,跳转出循环或返回到循环头部。

二、常见的循环

1.while循环

代码如下:

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

这里的i<10就是循环进行的判断条件,每一次进行循环时,首先进行判断,如果i<10,则进入循环,否则跳出,恰当的使用判断条件可以更好的运行程序,避免出现死循环的情况。

该程序的输出结果:1 2 3 4

原因:break存在,跳出了循环,停止后期的所有循环,直接终止循环。

break在while循环中的作用:

用来永久终止循环。

2.for循环

代码如下:

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

此处的i=0进行初始化,i<10是判断部分,i++是调整部分。

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

在一个典型的 for 循环中,在循环体顶部,下述三个动作需要执行:

(1) 表达式 1:初始化
只计算一次。在计算控制表达式之前,先计算一次表达式 1,以进行必要的初始化,后面不再计算它。

(2) 表达式 2:条件判断
每轮循环前都要进行条件比较,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环,用来判断循环终止时候。

(3) 表达式 3:调整
调节器(例如计数器自增)在每轮循环结束后且表达式 2 计算前执行。即,在运行了调节器后,执行表达式 2,以进行判断,用于循环条件的调整。

for 循环头部中的三个表达式可以省略一个或多个。这意味着 for 循环头部最短的形式是:

for ( ;表达式; )

如果没有控制表达式,则表示循环条件始终是 true,也就是说,这定义了一个死循环。

现在,我们对比一下for循环和while循环

int main()
{
	int i = 0;
	i = 1;//初始化
	for (i = 0; i < 10; i++)
	{
		printf("%d ", i);
	}
	//实现相同的功能
	while (i < 10)//判断部分
	{
		printf("%d ", i);
		i += 1;//调整部分
	}
	return 0;
}

可以发现在while循环中依旧存在循环的三个必要条件,但是由于风格的问题使得三个部分很可能偏离的较远,这样不便于查找修改,所以for循环更胜一筹。

3.do while循环

代码如下:

int main()
{
	int i = 1;//初始化
	do
	{
		printf("%d ", i);
		i = i + 1;//调整部分
	} while (i < 10);//判断条件
	
	return 0;
}

do while 循环至少执行一次,使用场景有限,不经常使用。

在控制表达式被第一次计算之前,循环体语句会首先被执行一次。与 while 和 for 循环不同,do...while 循环会确保循环体语句至少执行一次。如果控制表达式的值为 true,那么另一次循环就会继续;如果是 false,则循环结束。
 


总结

以上就是今天要讲的内容,本文仅仅简单介绍了C语言中的三种循环的使用,希望从本文了解了有关循环的语法后,多加练习,只有这样,才能够尽快掌握循环。

  • 20
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值