【C语言初阶篇】 while 语句的语法和注意事项 (详解版)
  kM1XnpRJhmGi 2023年11月02日 136 0

(文章目录)

前言

  <font color = green > 🌈hello! 各位宝子们大家好啊,又是新的一天开始了,今天给大家带来的循环语句的全面讲解!</font>   <font color = green > ⛳️历时一天终于给肝出来了,本文详细讲解了while,do while循环语句保证你看完必有收获!</font>   <font color = Orange > 📚本期文章收录在《C语言初阶篇》 ,大家有兴趣可以看看呐!</font>   <font color = purple>:tent: 欢迎铁汁们 :heavy_check_mark: 点赞 👍 收藏 ⭐留言 📝!</font>

💬 循环语句的介绍

  ⛳️ 在学循环语句我们首先搞明白什么是循环语句。循环语句是用于重复执行某条语句(循环体)的语句,它包含三个部分,分别是:

  • <font color = gray>初始化部分</font>
  • <font color =gray>判断部分</font>
  • <font color = gray>调整循环部分</font>

<font color = purple>而C语言提供了3中循环语句,分别为while语句,do while语句和for语句。</font>

📖问题引入:

  ⛳️ 举个例子,在我们学习生活中就和循环息息相关。比如是我们考取证书前提肯定是先学习知识,然后再去考试,学好了就考过了。不然就要继续学习然后参加考试! 请添加图片描述

💬 while 语句的介绍

  ☁️前一篇文章我们已经讲解了分支语句if语句。当条件满足的情况下,if语句后的语句执行,否则不执行。

  • 但是这个语句只会执行一次。
  • 而我们生活中很多事情是:同一件事情我们需要完成很多次。
  • 所以C语言中给我们引入了: while for do while 语句,可以实现循环。 🔥 ==<font color = red>注:前一篇分支语句在这里== 《if语句详解》 《switch语句详解》</font>

📚 while 语法结构:

while(表达式)
	 循环语句;

  ⛳️ 大家看是不是和 if 非常像,只要表达式成立就执行语句。只不过 whlie 中语句执行完了之后还要重新进行判断,然后继续执行语句。直到表达式不成立才取消重复执行! 请添加图片描述

我们来演示一下while的用法大家就明白了!比如说:

  • 在屏幕上打印1-10的数字该怎么办呢?。

📚 代码演示:

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

📚 代码解读:

我们前面讲了循环它包含三个部分: <font color = purple> 初始化部分 </font><font color = "#006666"> 判断部分 </font><font color = green> 调整循环部分 </font>

  • <kbd>int i = 1;</kbd>  在这里是<font color = red> 初始化部分 </font>
  • <kbd>i<=10</kbd>    在这里是<font color =red> 判断部分 </font>
  • <kbd>i = i+1;</kbd>   在这里是<font color = red> 调整循环部分 </font>

  ⛳️ 我们先给 i 符初值然后,就进入 while 里面进行判断判断成立者,执行语句。直到判断不成立就退出 while 循环。 <font color="7B68EE" size=4>而想在中途退出该怎么办呢?这时就要用到我们的break语句了。</font>

💭 while中的break

📖 break代码实例:

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

📌 同样的代码我们加上if语句,让他满足条件时执行break看下效果。

📑 代码结果: 请添加图片描述 ⛳️ 这里我们可以看到break的作用是:

  • 🌱 其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
  • 🌱 所以: ==<font color = red>while中的break是用于永久终止循环的。</font>==

💭 while中的continue

🌲 continue在while循环中的作用是:

  • 🌱 <font color = purple>continue是用于终止本次循环的。
  • 🌱 <font color = purple>也就是本次循环中continue后边的代码不会再执行,</font>
  • 🌱 <font color = purple> 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断 </font>

📜说明: continuebreak 语句一样都是结束语句但是;

  • break是直接结束循环。
  • 而continue是跳过本次循环。

🔥 ==<font color = red>注:但是在while里面使用要注意,一不小心就会造成死循环!我们来看下面代码:</font>==

📖 continue 代码实例:

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

📌 同样的代码break换成continue看看什么效果。

📑 代码结果: 在这里插入图片描述 而这里和我们想象的不大一样,continue的作用不是说:

  • 是跳过本次循环嘛?并不会结束循环!
  • 那么应该输出的是:<kbd>1 2 3 4 6 7 8 9 </kbd>嘛?
  • 为什么会输出<kbd>1 2 3 4 </kbd>然后一直等待循环呢?

📑 ==<font color = red size=4>我们仔细看会发现原来continue结束的时候下面的 </font>==

  • <font color="#660000"><kbd> i = i+1; </kbd>未执行导致循环的调整循环部分</font>
  • <font color="#660000">并未发生改变所以<kbd> i 一直等于4</kbd></font>
  • <font color="#660000">导致造成死循环。</font>
  • ==所以在while里面使用continue的时候一定要注意==

那么就会有人说,把i+1放到continue的前面不就好了

📚 代码演示:

#include <stdio.h>
int main()
{

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

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

  ⛳️ 这里我们会发现死循环的问题解决了。但是新的问题又来了这里把 +1 放到前面打印,所以1就打印不出来了。还是没有达到我们预期的效果!

  • 🌱 所以我们就想,像while这样的语句!
  • 🌱 <font color = purple>初始化部分 </font><font color =green>判断部分</font> <font color = "#006666">调整循环部分
  • 🌱 三个不都分别在不同的地方所以导致出错!
  • 🌱 那么有没有三个部分都写在一起的?
  • <font color="7B68EE">这样就不容易出错了!所以我们又有了for循环语句完美的解决了这个问题!</font>

💬 do while 语句的介绍

📚 while 语法结构:

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

💭 do语句的特点

⛳️ 循环至少执行一次,使用的场景有限,所以不是经常使用。

  • 所以<kbd>do while</kbd>是先执行循环体然后再进行判断!

📚 代码演示:

#include <stdio.h>
int main()
{
	 int i = 1;
	 do
	 {
	 	printf("%d ", i);
	    i=i+1;
	 }while(i<=10);
	 return 0;
}

📑 代码结果:

在这里插入图片描述

💭 do while循环中的break

⛳️ 其实<kbd>do while</kbd>中的<kbd>break</kbd>语句和while中作用是一模一样的!

  • 当满足条件执行break语句时,就会直接退出循环!

📚 代码演示:

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

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

💭 do while循环中的continue

⛳️ 而<kbd>do while</kbd>中的<kbd>continue</kbd>语句和while中作用是一样嘛?

  • 我们来下面代码看一下!

📚 代码演示:

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

📑 代码结果:

在这里插入图片描述

⛳️ 而这里就发生了和while一样的错误,continue结束之后

  • 🌱 循环调整部分<kbd>i=i+1;</kbd>并没有继续<kbd>+1</kbd>,导致发生了死循环!
  • 🌱 那么就没有比 whiledo while 循环更好一点的语法出现了嘛?
  • 🌱 当然有他就是 for 循环,一个比 while 更加安全的循环!

🔥 ==<font color = red>注:由于本篇幅限制所以下一章在给大家讲解for循环啦!</font>== 📚本期文章收录在《C语言初阶篇》,后续的for循环介绍也在里面呢!大家有兴趣可以看看嘞!</font>

总结

✅ 归纳: 好了以上就是关于循环语句 <font color = "#660000">while 和 do while</font> 的用法详解,和注意事项就全部讲解完毕啦!   循环的介绍   while的用法   while中continue使用的注意事项   do while的用法   do while中continue是怎么样的 :cloud: <font color="#006666">把这些完全掌握,大家就可以随心所欲的使用循环语句了!</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

上一篇: haproxy负载均衡 下一篇: linux系统日常维护
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  4WdcduV19eWs   2023年11月02日   65   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   62   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   68   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   54   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   45   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   68   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   92   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   51   0   0 ios#includeios#include
  4WdcduV19eWs   2023年11月02日   81   0   0 #includelinuxlinux#include
kM1XnpRJhmGi