【C语言初阶篇】for语句的基本语法和使用规则!

举报
鸽芷咕 发表于 2023/09/12 20:40:02 2023/09/12
【摘要】 🌈hello!各位宝子们大家好啊,前面给大家详细介绍了while语句但是它也是有缺点的,于是我们就有了更好的语法for!⛳️那么今天我们就详细讲解for语句,以及for语句的变种写法。带你轻松学会循环语句!

@TOC

前言

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

💬 for 语句的介绍

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

📚 while 语法结构:

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

表达式1

  • 表达式1为初始化部分,用于初始化循环变量的。

表达式2

  • 表达式2为条件判断部分,用于判断循环时候终止。

表达式3

  • 表达式3为调整部分,用于循环条件的调整。

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

在这里插入图片描述

大家看这样是不就把循环的 三大部分 都集合到一起了,就不会出现while中的那种错误了!

⛳️ 我们来上看上面那个问题用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次吗?

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

💭 for语句的循环控制变量

📜建议:

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

📘 错误示范一:

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

	return 0;
}

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

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

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

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

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

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

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

💬 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");
		}	
	}
}

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

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

✅ 变种三:

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次呢?

  • 🌱 那因为我们把i和j的初始化都放在外面去了
  • 🌱 当内循环j循环完了之后 由于 for 循环内没有对j重新初始化
  • 🌱 所以j一直大于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;
}

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

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

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

总结

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

:cloud: 如何看完所有内容那么恭喜你!已经彻底掌握for循环语句了!
看到这里了还不给博主扣个:
⛳️ 点赞:sunny:收藏 :star: 关注

💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
拜托拜托这个真的很重要!
你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信呢秒回哦。
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。