【C语言初阶篇】for语句的基本语法和使用规则!
  kM1XnpRJhmGi 2023年11月02日 72 0

<br>

在这里插入图片描述 <br/><center><font color="#006666">🎬 鸽芷咕个人主页</center><br/><center><font color="#66CDAA"> 🔥 个人专栏:《C语言初阶篇》 《C语言进阶篇》</font> </center> <center><font color ="7B68EE" size=4 ><strong>⛺️生活的理想,就是为了理想的生活!</strong> </font></center>


(文章目录)

前言

  <font color = green > 🌈hello! 各位宝子们大家好啊,前面给大家详细介绍了while语句但是它也是有缺点的,所以我们就有了更好的语法for!</font>   <font color = green > ⛳️那么今天我们就介绍一下for语句,比while语句的语法好在哪里?</font>   <font color = Orange > 📚本期文章收录在《C语言初阶篇》,大家有兴趣可以看看呐!</font>   <font color = purple>:tent: 欢迎铁汁们 :heavy_check_mark: 点赞 👍 收藏 ⭐留言 📝!</font>

💬 for 语句的介绍

  ⛳️ 前面一篇文章已经介绍for语句的诞生,那么我们下面就来介绍一下for的语法结构! ==<font color = red>注:前一篇文章链接</font>==《while循环详解》

📚 while 语法结构:

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

表达式1

  • <font color = purple>表达式1为初始化部分,用于初始化循环变量的。</font>

表达式2

  • <font color = purple>表达式2为条件判断部分,用于判断循环时候终止。</font>

表达式3

  • <font color = purple>表达式3为调整部分,用于循环条件的调整。</font>

for循环和while循环语法对比:

在这里插入图片描述

<font color ="#006666" size=4>大家看这样是不就把循环的 三大部分 都集合到一起了,就不会出现while中的那种错误了!</font>

⛳️ 我们来上看上面那个问题用for怎么编写?

  • 使用for循环 在屏幕上打印1-10的数字。
  • 但是要用continue-结束5的打印 📚 代码演示:
#include <stdio.h>
int main()
{
    int i = 0;
    //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
    for (i = 1; i <= 10; i++)
    {
        if(i == 5)
            continue;
        printf("%d ", i);
    }
    return 0;
}

📑 代码结果: 请添加图片描述

💭 for循环默认可以控制几条语句?

⛳️ 废话不多说我们来看代码!

📚 代码演示:

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
		printf("%d ", i);
		printf("呵呵!\n");
	return 0;
}

  ⛳️我们在不带括号的情况下,在for后面跟俩条语句看会打印10次吗?

📑 代码结果: 在这里插入图片描述 ==<font color = red>这里我们就可看到for和if一样后面只能默认跟一条语句!</font>==

💭 for语句的循环控制变量

📜建议:

  • <font color = purple>不可在for 循环体内修改循环变量,防止 for 循环失去控制。</font>
  • <font color = purple>建议for语句的循环控制变量的取值采用“前闭后开区间”写法。</font>

📘 错误示范一:

#include <stdio.h>
int main()
{
	int  i = 0;
	for (i = 1; i <= 10; i++)
	{ 
		if (i = 5)
			continue;
		printf("%d ", i);	
	}

	return 0;
}

大家看这里我们把 if 里面的<kbd>i==5</kbd>改成了赋值语句,就会导致死循环的出现!

  • ==<font color = red>所以不可在for 循环体内修改循环变量,防止 for 循环失去控制。</font>==

📑 代码结果: 在这里插入图片描述

⛳️而第二条的建议是什么意思呢?

int i = 0;
//前闭后开的写法
for(i=0; i<10; i++)
{}
//两边都是闭区间
for(i=0; i<=9; i++)
{}

⛳️这里就示范了什么是前闭后开:

  • 🌱 虽然我们代码实现的效果是一样的。
  • 🌱 <font color = "#006666">但是第一个的代码范围是<kbd>[0,10)</kbd>,10这个数字更加简单明了。明确知道我们要循环10次。</font>
  • 🌱 <font color ="#006666">而第二个代码的范围是<kbd>[0,9]</kbd>俩边都是闭区间,不够直观</font>

💬 if语句的变种写法

✅ 变种一:

for循环中的初始化部分,判断部分,调整部分全部省略!

#include <stdio.h>
int main()
{
	 //代码1
	 for(;;)
	 {
	 printf("hehe\n");
	 }
}

⛳️这里全部省略的的效果就会造成死循环,因为判断部分也省略了!

📑 代码结果:

在这里插入图片描述

✅ 变种二:

for循环中是支持嵌套使用的!

  • 这里会打印多少呵呵?
#include <stdio.h>
int main()
{
	//代码2
	int i = 0;
	for (i = 0; i<3; i++)
	{
		int j = 0;
		for (j = 0; j < 3; j++)
		{
			printf("hehe");
		}	
	}
}

📑 代码结果: 在这里插入图片描述

从这里我们看到我们打印的次数是<kbd>外循环次数×内循环次数</kbd>

✅ 变种三:

for循环中如果省略掉初始化部分,这里打印多少个hehe?!

📚 代码演示:

#include <stdio.h>
int main()
{
    //代码3
    int i = 0;
    int j = 0;
    for (; i < 3; i++)
    {
        for (; j < 3; j++)
        {
            printf("hehe\n");
        }
    }
}

📑 代码结果: 在这里插入图片描述

⛳️ 这里我们想啊?为什么只打印了3次呢?

  • 🌱 那因为我们把<kbd>i和j</kbd>的初始化都放在外面去了
  • 🌱 当<kbd>内循环j</kbd>循环完了之后 由于 for 循环内没有对<kbd>j</kbd>重新初始化
  • 🌱 所以<kbd>j</kbd>一直大于3,就只打印3次了。

✅ 变种四:

使用多余一个变量控制循环吗,这里打印多少个hehe?!

📚 代码演示:

#include <stdio.h>
int main()
{
    //代码4
    int x, y;
    for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
    {
        printf("hehe\n");
    }
    return 0;
}

📑 代码结果: 在这里插入图片描述

⛳️ 这个就很好理解了!由于<kbd>&&</kbd>是并且的意思所以要

  • 🌱 俩个条件都满足,当循环俩次时<kbd>x=2</kbd>。
  • 🌱不满足<kbd>x<2</kbd>的条件所以就退出循环了!

总结

✅ 归纳: 好了以上就是关于循环语句 <font color = "#660000">for</font> 的全部用法,和注意事项就讲解完毕啦!   for和while对比有哪些优势   for循环的用法   for循环的变种用法   for循环的使用建议

:cloud: <font color="#006666">如何看完所有内容那么恭喜你!已经彻底掌握for循环语句了!</font> <font color ="7B68EE">看到这里了还不给博主扣个: ⛳️ 点赞:sunny:收藏 :star: 关注</font> 💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖 <font size = 5 face = "华文彩云" color =red>拜托拜托这个真的很重要!</font> <font color="#660066">你们的点赞就是博主更新最大的动力!</font> <font color="#660066">有问题可以评论或者私信呢秒回哦。</font> 在这里插入图片描述

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

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

暂无评论

推荐阅读
  ZydNzX6XOBO2   2023年11月02日   53   0   0 i++C语言#include
kM1XnpRJhmGi