栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言】手撕循环结构 —— for语句

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言】手撕循环结构 —— for语句

©作者:凡人编程传
©系列:C语言初阶(适合小白入门)
©说明:以凡人之笔墨,书写未来之大梦


这一节我们介绍C语言中用的最多的循环语句——for语句,他的形式与while语句可有点不太一样,在while语句的基础上可谓是进一步升华,接下来就听我娓娓道来吧。

文章目录
  • ☀for语句的基本结构

    • for语句的执行流程
  • ☀for语句的基本使用

    • 实例1
    • 实例2
  • ☀笔试题真题练习

  • ☀总结

☀for语句的基本结构

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

for语句这样的结构,表达式1对应的是初始化循环变量,表达式2则对应的循环判断条件,表达式3是循环变量的更新,这样的集中管理与while语句的分散管理前者显得更容易控制政哥哥循环结构。

for语句的执行流程

for语句的表达式执行流程与while语句也有不一样的地方,请看下图。

如图可知,for语句先是执行了表达式1(初始化循环变量),接下来执行表达式2(循环判断条件),接着进入循环体执行语句,最后执行表达式3(循环变量的更新), 其中注意:若循环体中有break可以让整个循环直接结束;或者有continue是让continue后面的语句都不执行直接开始下一次循环。

☀for语句的基本使用

实例1
  • 输出0 -9
#include
int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("%d ", i);
	}
}

运行结果:

这几行小小的代码就能输出这么几个数,可见for循环的便捷性

实例2
#include
int main()
{
	int i = 0;
	for (i = 0; ; i++)
	{
		printf("%d ", i);
	}
}

运行结果:

从这段代码的结果(死循环),可以列出以下知识点。

1.for语句的3个表达式可以省略,但是表达式2(循环判断条件)省略,则会导致死循环

此外:请看

for语句中的3个表达式可以任意邵略,但是用于分隔表达式的分号;不能省略。

☀笔试题真题练习

上代码:

#include
int main()
{
	int i = 0;
	int j = 0;
	for (;i < 3; i++)
	{
		for (; j < 3; j++)
		{
			printf("hellon");	//结果打印几个hello?
		}
	}
	return 0;
}

运行结果:

为什么是3个呢?别急,听我慢慢说。

首先,我们在循环外面初始化了2个循环控制变量。然后进入外层for循环发现没有表达式1,直接跳过去判断表达式2,此时i=0,那么i<3为真,进入循环体执行内层for循环,内层循环的循环控制变量也是在外面就初始化了,所以直接跳过执行表达式2,此时j=0,j<3为真,然后进入内层循环体打印1个hehe,接着执行表达式3j++,此时j=2,再次执行表达式2,j<3为真,进入内层循环体输出第二个hehe,再次执行表达式3j++,促成j=3,j<3为假,内层循环结束,也就是外层循环体结束。外层循环接着执行表达式3i++,此时i=1,I<3为真,则执行循环体,再次进入层循环,# 此时内层循环表达式1为空不进行j=0这一个操作,则执行表达式2,j<3,此时j这个的变量并没有重新初始化为0,所以j=3,j<3这个条件为假结束内层循环…后面的过程一样直到i=3外层循环结束,那么整个循环结束。

这道题告诉我们,尽量不要省略for循环的表达式否则会造成意想不到的结果,除非你对for循环的执行流程非常熟练,能做到游刃有余。

☀总结

1.for语句的表达式可以任意省略,但是是在对for语句非常熟悉的前提下。
2.用于分隔for语句表达式的分号不能省略。

好了for语句的知识点就是这些,但是看完了要去多实践,才能真正把知识学到手。希望你有所收获!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009192.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号