《学习循环》---C语言

news2024/11/17 20:23:49

目录

前言: 

1.while循环

1.1while循环的结构

1.2while语句中的break和continue

2.getchar配合循环清空缓冲区

3.for循环

3.1for循环的结构

3.2for循环中的break和continue

3.3for循环的注意事项

3.4使用多个循环变量控制for循环

4.do while循环

4.1do while循环的结构

4.2do while中的break和continue 


❤博主CSDN:啊苏要学习

  ▶专栏分类:C语言◀

  C语言的学习,是为我们今后学习其它语言打好基础,C生万物!

  开始我们的C语言之旅吧!✈ 

----------------------------------------------------------------------- 

前言: 

  什么是循环呢?日常生活中,资金流入,材料采购,加工,产出成品,包装,销售换钱实现再生产,这是一个循环往复的过程。当然,难免会遇到一些意外导致生产停止,或是放弃此次生产,从头再来等情况。今天我们来看看C语言中的循环结构吧。

1.while循环

   使用while循环打印1-10之间的数。

1.1while循环的结构

  和if语句很像,简直一模一样。当然if语句只能执行一次,而while语句是可以执行多次的

1.2while语句中的break和continue

  • while的条件是i小于等于100,符合条件进入循环,i先自增1;
  • 判断i等不等于5,不等于,不进去if语句;
  • 打印i的值,为1;
  • 判断i等不等于10,不等于,不进;
  • 一个循环结束,回到while判断部分,和第一次进入循环不同的是,i是以1进入循环的了; 

  在i以4进行判断进入循环,i++;让i变为5,符合if(i == 5)的条件,进入continue然后我们发现,控制台窗口没有5的身影,也就是说在continue后面的printf函数没有被执行这是因为在循环里执行到continue时,就直接跳到判断部分了,本次循环后面的代码就不执行了。 

  这就是continue执行后,不打印5的原因,因为print在i为5的时候,被跳过了

  • 然后i=5进入循环,i++(加加)变成6,if(i==5)不成立就不进去了;
  • 随着循环的次数增加,来到了i为9的时候,判断循环条件,符合条件进入循环;
  • i加加变成10,判断不成立,然后打印,最后!if(i==10)成立,进入执行break;
  • 我们最终看到循环里只打印到了10,距离循环条件结束还早着呢;

  对的,这就是break的功能,直接跳出循环,不管还能有多少次循环。 

  那我们到目前为止,学了使用break跳出while循环和switch语句。别忘记或混淆了,所以我在这特意提一下。

2.getchar配合循环清空缓冲区

  为什么我们知道输入缓冲区里最后一个字符是斜杠0?这是因为,当我们使用scanf输入的时候,最后敲的回车是一种信号------让scanf函数开始读取的信号我们知道回车是换行的效果,在C语言中,换行可以用'\n'。确认让scanf读取的回车键会使'\n'留在输入缓冲区里面,所以输入结尾都是'\0'我们让getchar一直一个字符一个字符读,读到的字符不管它,到最后一次,getchar读到了'\0',注意,这里是已经读到了'\0'再来判断的,所以斜杠零是没有了的,然后斜杠零不等于斜杠零是假的,不符合条件,循环终止

  清空输入缓冲区后,c = getchar()让我们输入一个字符,我们输入a,putchar跟着输出a,程序结束

3.for循环

  for循环是循环里面最常用的一种,因为它把循环变量的初始化呀,判断循环条件,循环变量的调整放在同一个地方,容易更改且更清晰

  • for(i = 1; i <= 10; i++),先是,i初始化为1,这个初始化只进行一次,然后就是判断;
  • 执行循环体printf,循环体结束后,回到i++调整部分,调整完后;
  • 重新进行循环条件判断; 

  直到i自增到11后,停止循环。

3.1for循环的结构

  while也是有三部分的,初始化、判断、调整。

  这里的空格是因为,随着循环结构的复杂程度,代码将会使循环初始化、判断条件、调整等分离,比较难找和三个表达式放一起进行对比。for的优点就体现出来了。

3.2for循环中的break和continue

  先从简单的说起,for 循环中的break和while一样,直接跳出循环。接下来我们画图来理解一些for循环中continue的作用吧。

  和while不同的是,for循环执行到continue是来到调整部分,而不是判断部分。其实这原理也很简单。while的调整部分是在循环体里面的,并且一般调整部分都是放在最后的,那也是在循环里面呀~,所以continue跳过循环后面的部分,自然而然就跳过了调整部分而我们看for,就理解成,调整部分不在循环内部就可以了

3.3for循环的注意事项

  1.不要轻易在循环体里面改变循环变量

  知识点:for循环的条件是可以省略的,如下:

  但这也是一个注意事项,那就是初学者不要省略。 

2.在未使用熟悉for之前不要省略条件

  未省略

  没有省略的情况下,这个代码是打印100个hehe的。i = 1初始化,进入循环,关于j的for循环开始执行,j从1到10,打印了十次haha;然后来到i的for循环调整部分,将i加加变成2并重新进入循环,这个时候,j的for循环是一个重新的开始。j重新被初始化为1,然后j从1到10,又打印了10个haha。也就是 10*10=100;我们来看一下自信省略的情况:

  省略

  这次只打印了十次haha,仅仅是因为省略了一个j的初始化部分

3.4使用多个循环变量控制for循环

  表达式1:a<2   表达式2:b<5

  &&的表达式中,只有遇到了一个表达式的结果是假,整个表达式的结果一定是假

  ++a使a先变成了2,不符合判断条件a<2,所以就跳出循环了。打印两个hehe

小练习: 

  打印0次;

4.do while循环

  i--(减减),i自减1,使得i离while判断条件越来越近了~

4.1do while循环的结构

  相信读者看完注释能理解并记住,哈哈。

4.2do while中的break和continue 

  break也是一样的。说实话continue和while也一样,它们两个和for有一点小出入而已。大家自行阅读,博主在下方总结了~

break和continue
关键字whilefordo whileswitch
break直接跳出循环直接跳出循环直接跳出循环直接跳出选择
continue回到判断部分回到调整部分回到判断部分无此项

  好啦!循环的知识到这也就落幕了,感谢大家的收看,咱们下篇见。

-----------------------------------------------------------------------

结语:希望读者读完有所收获!在学C的路上,祝福我们能越来越C!✔

  读者对本文不理解的地方,或是发现文章在内容上有误等,请在下方评论区留言告诉博主哟~,也可以对博主提出一些文章改进的建议,感激不尽!最后的最后!

  ❤求点赞,求关注,你的点赞是我更新的动力,一起努力进步吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/445375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chrome 浏览器在 112 正式版本以及 114 canary 版本从 devtools 控制台复制文本不会复制高亮显示的文本?

问题 我的 chrome 浏览器版本如下&#xff1a;版本 112.0.5615.138&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; 今天我在写代码的时候报错了&#xff0c;看了一下控制台浏览器&#xff0c;是某个属性没有定义&#xff0c;然后我双击这个属性名称 ctrl c…

asp.net+C#大学生高校运动会比赛综合管理系统

目录 1 绪论 3 1.1 课题背景 3 1.2 课题目标 3 1.3 研究现状 3 1.4 论文工作内容以及结构安排 4 1.4.1 论文工作内容 4 1.4.2 论文结构安排 4 2 系统开发技术介绍 6 2.1 ASP.NET简介 6 2.2 Microsoft Visual Studio 2010平台 7 2.3 SQL Serve…

第16章_网络编程

第16章_网络编程 讲师&#xff1a;尚硅谷-宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a;http://www.atguigu.com 本章专题与脉络 1. 网络编程概述 Java是 Internet 上的语言&#xff0c;它从语言级上提供了对网络应用程序的支持&#xff0c;程…

达梦数据迁移问题罗列

目录 一、前言 二、问题罗列 一、前言 最近小编接触到国产的数据库达梦数据库&#xff0c;然后在用达梦数据迁移工具MySQL迁移至达梦的时候遇到了一系列的问题现在罗列一下在这里。目前关于国产的数据库达梦这些资料比较少&#xff0c;希望能够帮到有需要的同志们&#xff01…

MySQL 服务的启动和停止

4.MySQL 服务的启动和停止_mysql数据库启停_头疼小宇的博客-CSDN博客

【网络编程】TCP

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;Java EE初阶&#x1f447; 目 录 &#x1f52e;一. TCP流套接字编程&#x1f4bf;二. TCP中的长短连接&#x1f4c0;三. 写一个 TCP 版本的 回显服务器-客户端 &#x1f52e;一. TCP流套接字编程 ServerSock…

d2l 注意力评分函数 --附加mask_softmax讲解

本章节tensor处理操作也不少&#xff0c;逐个讲解下&#xff1a; 目录 1.mask_softmax 1.1探索源码d2l.sequence_mask 2.加性注意力 3.缩放注意力 1.mask_softmax dim-1表示对最后一个维度进行softmax .dim()返回的是维度数 对于需要mask的数&#xff0c;要用绝对值非…

FreeRTOS 任务创建与删除实验

本实验主要实现 FreeRTOS 使用动态方法创建和删除任务&#xff0c;本实验设计了四个任务&#xff0c;这四 个任务的功能如下表所示&#xff1a; 软件设计 1. 程序流程图 本实验的程序流程图&#xff0c;如下图所示&#xff1a; 2. FreeRTOS 函数解析 (1) 函数 xTaskCreate…

spring框架基础知识和基于XML的Bean对象的管理回顾

什么是spring框架&#xff1f; spring基本功能所必须的jar包就是这些 如何获取bean&#xff1f; IOC原理 上面耦合度太高了 改进使用工厂模式 上面并没有把耦合度降低到最低&#xff0c;使用反射 spring实现IOC的两种方式 BeanFactory和ApplicationContext IOC如何管理Bea…

5个方法,帮助你快速提高团队管理效率

团队中&#xff0c;大家看起来都很忙&#xff0c;但最终交付的结果却总是差强人意。会议那么多&#xff0c;但有效的却很少越管理&#xff0c;但偏偏有时候越管理越乱......相信以上这些问题&#xff0c;很多管理者都有遇到过&#xff0c;团队管理是一个项目中最关键的一环。好…

如何打造全流程数字化零工场景,实现零工管理一体化?

近年来&#xff0c;零工市场发展迅速&#xff0c;不仅为企业提供更低成本、更便捷的用工方式&#xff0c;也为劳动者就业提供更低门槛更灵活形式&#xff0c;发挥了就业「蓄水池」的重要作用。但由于零工经济模式下的用工形式非常灵活&#xff0c;企业想要管好零工并不容易。 …

短视频平台-小说推文(知乎)推广任务详情

知乎会员 知乎日结内测中&#xff0c;可能暂只对部分优质会员开放! 2023/03/29通知: 知乎拉新项目&#xff0c;由于内部测试转化较低&#xff0c;暂时下线&#xff0c;原有关键词出单不受影响。 1、关键词 1.1 选择会员文 在知乎【首页】或者【会员】里面选取&#xff0c;需…

PEIS体检系统全套源代码,C# 源码

医院体检信息系统PEIS源码,C# 源码&#xff0c;PEIS源码源码 文末获取联系&#xff01; 系统概述 医院体检信息系统是专门针对医院体检中心的日常业务运作的特点和流程&#xff0c;结合数字化医院建设要求进行设计研发的一套应用系统。该系统覆盖体检中心的所有业务&#xff0…

使用nvm替换nvmw作为nodejs的版本切换(亲测)

之前的文章&#xff1a;同时使用vue2.0和vue3.0版本的采坑记录 安装的nvmw&#xff0c;今天想要用nvmw切换时&#xff0c;居然给我报错了&#xff1a; 然后我就走上了使用nvm替换nvmw之路。。 1.安装 nvm-windows下载 下载release版 中Assets中的包&#xff0c;window10&…

APIs -- DOM正则表达式

1. 介绍 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中&#xff0c;正则表达式也是对象通常用来查找、替换那些符合正则表达式的文本&#xff0c;许多语言都支持正则表达式。正则表达式在JavaScript中的使用场景: 例如验证表单:用户名表单…

数据库的实际操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、关系模型二、数据库的操作 创建数据库查看数据库选择数据库删除数据库三、MySQL 数据库命名规范总结 一、关系模型 关系数据库是建立在关系模型上的。而关系模…

flutter学习之旅(一)

初学Flutter flutter官网和中文开发手册 安装flutter - windows 官方文档-windows flutter_windows_3.7.9-stable.zip 编辑环境变量 在 用户变量 一栏中&#xff0c;检查是否有 Path 这个条目&#xff1a; 如果存在这个条目&#xff0c;以 ; 分隔已有的内容&#xff0c;加入 f…

物联网能源能耗之场景控制原理

物联网能源能耗系统利用物联网技术&#xff0c;可帮助企业构建能耗分布&#xff0c;帮助操作人员实时监控各类关键参数&#xff0c;计算关键环节的能耗指标&#xff0c;和既定的能耗基线进行对比&#xff0c;得出能耗差距。 对于制造企业而言&#xff0c;物联网能源能耗不仅能…

商业策划的基本功:竞品分析

商业策划的基本功&#xff1a;竞品分析 商业的三个视角&#xff1a;用户&#xff0c;竞争&#xff0c;自己 有方法会更有效 趣讲大白话&#xff1a;磨刀不误砍柴工 【趣讲信息科技138期】 **************************** 世界上如果只有一种矿泉水 就不会竞争 就不会有农夫山泉这…

由世纪互联运营的Microsoft Teams携创新功能正式发布,夯实“企业数字中枢”

2023年4月18日&#xff0c;北京——今日&#xff0c;微软宣布由世纪互联运营的Microsoft Teams推出一系列创新功能&#xff0c;围绕企业数字核心能力&#xff0c;赋能数字化协作空间、智能化协作体验、整合生产力工具和工作流、安全合规、构建团队文化等五大落地场景&#xff0…