C语言中的三大循环

C语言中为我们提供了三种循环语句,今天我就来与诸君细谈其中之奥妙。循环这一板块总结的内容较多,而且,很重要!(敲黑板!!!),所以诸君一定要对此上心,耐住性子学习循环,功在专久,而不在速。

大致分为:

(1)while 循环

(2)do-while 循环

(3)for 循环

一. while 循环

1.while 语句跟 i f 语句结构非常相似,表达结构大致一样,其不同点在于,i f 语句仅仅只执行一次,而我们的 while 语句可以实现循环的效果,while 语句循环大致如下:

2.while 循环的运用

这个没啥好说的,这里直接给大家上图举实例了哈

(1)逆序打印

这个逆序打印是什么意思呢?就是说将我们输入的内容按逆顺序打印出来,这里将给大家介绍到一个很重要的点,就是求数字的逆序,这个方法在很多时候都会用到:运用我们学过的运算符 / ,%来求出多位数的每一位

列如 1234 ,我们先将它 %10,就可以得到个位数4,再对它进行 /10,得到123,再将123%10得到十位的3,以此类推,我们就可以得到这个四位数的每一位,再对其进行打印即可,无需多言,咱们直接上图: 

二. do-while 循环

1. do-while 循环的语法形式

do-while 的执行方式较为特别,while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环,而do while循环则是先直接进入循环体,执行循环语句,然后再执行while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环

因此,在 do while 语句中循环体是至少执行一次的,这就是 do while 循环比较特殊的地方

2. do-while 语句的运用

这个同样我们来举一个打印0~10的例子:

 三. for 循环

1. for 循环的语法形式

for 循环都是老朋友了哈,在之前就已经屡次给诸君提到并且用到过,其表达形式是一个三目操作符,如 f o r( exp1 ; exp2 ; exp3 ),其中,exp1用于循环变量的初始化,exp2用于循环结束条件的判断,exp3用于循环变量的调整 

2. for 循环的运用

这个话不多说,直接上图,诸君体会感受

for 循环很简单,直观也好理解,所以for循环也是三大循环中运用的最多的循环

(1)练习:打印素数

这个有关素数的练习我们之前也是做过的,这里再拿出来让大家练练手

(2)for 循环与 while 循环的比较

for 和 while 在实现循环的过程中都有 初始化、判断、调整 这三个部分,但是 for 循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候 while 循环的三个部分就比较分散,所以从形式上 for 循环要更优一些

四. break 和 continue 语句

1.在我们执行循环的过程中,当我们遇到一些情况或者特别要求的时候,就需要我们提前终止循环,这时候怎么办呢?诸君莫慌,存在即合理,既然有这种情况,自然就有相对应的解决办法。这时候就得用上C语言中的两个关键字了——“ break ” 和 “ continue ” 

(1)break用于永久终止循环,只要break被执行,就会直接跳出整个循环

(2)continue的作用是跳过本次循环在continue后的代码,其运用在 for 循环和 while 循环中有所差异

五. for 循环中的break和continue

(1)break:

(2)continue:

六. while 循环中的break和continue

(1)while 循环中的 break 跟 for 循环中一样,效果没有差异,这里我就不过多赘述了

(2)continue:这里的光标一直在闪烁,表示程序已经进入死循环了,这是为什么呢?是因为当我们 i == 7 时,执行 continue ,直接跳过了在 while 循环中 continue 后的所有语句,因此 i 没有用加 1 ,始终等于 7 ,则一直执行continue语句,程序进入死循环

七. do-while 循环中的 break 和 continue

do-while 语句中的 break continue 的作用和 while 循环中的作用大致都是⼀模⼀样,诸君可以
自己实操体会,这里我就不过多赘述了

OKK,有关C语言中的三大循环:while 循环、do-while 循环、for 循环就给大家讲解到这里,这部分说实话都是我们的老朋友了哈,之前就给诸君提到过也运用过,所以相信大家能够轻松get到这个点。但诸君也切莫轻视,循环在C语言中是相当重要的一个板块。狮子搏兔尚以全力,注重每一个细节,打好基础,咱们才能走的更远嘛,与诸君共勉!!!

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

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

相关文章

系统服务(22年国赛)—— nmcli命令部署VXLAN

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! 系统服务(22年国赛)—— VXLAN服务部署https://myweb.myskillstree.cn/118.html 目录 题目: AppSrv 关闭防火墙和SEli…

Linux 双击sh脚本运行无反应或一闪而退【已解决】

这里写目录标题 一、问题描述二、解决思路1. 开启终端,使用命令行运行.sh脚本文件2. 终端中运行可以,但双击之后运行闪退 (遇到了个这个奇奇怪怪的问题) 三、分析记录3.1 .bashrc设置变量的作用域3.2 环境变量冲突覆盖问题. 四、相关知识点4.1 环境变量配…

CSS详解(一)

1、css工作中使用场景 美化网页(文字样式、背景样式、边框样式、盒子模型、定位、动画、),布局页面(flex布局、响应式布局、媒体查询) 2、CSS 规则 通常由两个主要部分组成选择器和样式声明 2.1选择器 选择器指定了…

C语言-用二分法在一个有序数组中查找某个数字

1.题目描述 有15个数按由大到小顺序放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数” 二.思路分析 记录数组中左边第一个元素的下标为left,记录数组右边第一个…

Spring AI聊天功能开发

一、引入依赖 继承父版本的springboot依赖&#xff0c;最好是比较新的依赖。 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.4</version><relativePat…

【JavaScript】转化为布尔值boolean的几种情况

1 转化为布尔值boolean时为false的6种情况 下面6种值转化为布尔值时为false&#xff0c;其他转化都为true&#xff1a; 1、undefined2、null&#xff08;代表空值&#xff09;3、0&#xff08;数字0布尔值为false&#xff0c;字符串"0"布尔值为true) (数字0转布尔类…

C++笔试强训day10

目录 1.最长回文字符串 2.买卖股票的最好时机(一) 3.过河卒 1.最长回文字符串 链接 一开始没认真看题目&#xff0c;直到提交了好几遍没过还是没去检查题目&#xff0c;一直检查代码逻辑&#xff0c;哎呦&#xff0c;难受了。 我以为是收尾字母相同就行了。 错误代码&…

为什么二维数组初始化第一维数组长度可以为空,第二维不可以为空呢?

注意&#xff0c;数组第二维的长度声明永远不能省略。这是因为C语言中的二维数组元素在c编译程序为其分配的连续存储空间中是按行存放的&#xff0c;即存在完整第一行后存第二行&#xff0c;然后再第三行&#xff0c;以此类推。存放时系统必须知道每一行有多少个元素才能正确计…

一文讲解Android车载系统camera架构 - EVS

Android的camera开发中&#xff0c;使用最多的是camera2 以及现在Google主推的cameraX 架构&#xff0c;而这两个架构主要针对的是手机移动端上camera的流程。 而今天介绍的EVS(Exterior View System)架构是不同于camera2上的手机架构&#xff0c;针对Automotive的版本&#x…

软文伪原创工具有哪些,推荐3款强大的软文伪原创工具

软文作为一种重要的营销和传播手段&#xff0c;受到了越来越多的关注。而随着科技的不断发展&#xff0c;各种软文生产的工具相续出现&#xff0c;如&#xff1a;软文伪原创工具&#xff0c;它能为人们提供便捷、高效的文章生产方式&#xff0c;也及可以节省文章写作的时间与精…

车载系统的 加减串器应用示意

overview 车载系统上使用加减串器来实现camera&#xff0c; led液晶显示屏等 图像数据的远距离传输&#xff0c;将原先在短距离传输视频信号的mipi csi&#xff0c;dsi 等的TX&#xff0c;RX中间&#xff0c;插入加减串器&#xff0c;实现长距离的可靠传输。 示意图如下 往往…

Vue从入门到精通-01-Vue的介绍和vue-cli

MVVM模式 Model&#xff1a;负责数据存储 View&#xff1a;负责页面展示 View Model&#xff1a;负责业务逻辑处理&#xff08;比如Ajax请求等&#xff09;&#xff0c;对数据进行加工后交给视图展示 关于框架 为什么要学习流行框架 1、企业为了提高开发效率&#xff1a;…

图像处理:乘法滤波器(Multiplying Filter)和逆FFT位移

一、乘法滤波器&#xff08;Multiplying Filter&#xff09; 乘法滤波器是一种以像素值为权重的滤波器&#xff0c;它通过将滤波器的权重与图像的像素值相乘&#xff0c;来获得滤波后的像素值。具体地&#xff0c;假设乘法滤波器的权重为h(i,j)&#xff0c;图像的像素值为f(m,…

Cranck-Nicolson隐式方法解线性双曲型方程

Cranck-Nicolson隐式方法解线性双曲型方程 Cranck-Nicolson方法在抛物型方程里面比较常用&#xff0c;双曲型方程例子不多&#xff0c;该方法是二阶精度&#xff0c;无条件稳定&#xff0c;然而&#xff0c;数值震荡比较明显&#xff0c;特别是时间演化比较大以及courant数比较…

网工内推 | 云计算运维,厂商云相关认证优先,股票期权,全勤奖

01 国科科技 招聘岗位&#xff1a;云计算运维 职责描述&#xff1a; 1、负责私有云平台的运维管理工作,包括云平台日常运维、故障处理、扩容、版本升级、优化和维护等。 2、根据业务需求,从技术角度支持及配合各业务系统上云工作。 3、为云上业务系统提供云产品、云服务方面的…

python ERA5 画水汽通量散度图地图:风速风向矢量图、叠加等高线、色彩分级、添加shp文件、添加位置点及备注

动机 有个同事吧&#xff0c;写论文&#xff0c;让我帮忙出个图&#xff0c;就写了个代码&#xff0c;然后我的博客好久没更新了&#xff0c;就顺便贴上来了&#xff01; 很多人感兴趣风速的箭头怎样画&#xff0c;可能这种图使用 NCL 非常容易&#xff0c;很多没用过代码的小…

【idea】idea 中 git 分支多个提交合并一个提交到新的分支

一、方法原理讲解 我们在 dev 分支对不同的代码文件做了多次提交。现在我们想要把这些提交都合并到 test 分支。首先我们要明白四个 git 操作&#xff0c; commit&#xff1a;命令用于将你的代码变更保存到本地代码仓库中&#xff0c;它创建了一个新的提交&#xff08;commit…

idea的插件,反编译整个jar包

idea的插件&#xff0c;反编译整个jar包 1.安装插件1.1找到插件1.2 搜索插件 2.反编译整个jar包2.1 复制jar包到工件目录下&#xff1a;2.2 选中jar包&#xff0c;点出右键 3.不用插件&#xff0c;手动查看某一个java类3.1 选中jar包&#xff0c;点出右键 1.安装插件 1.1找到插…

Linux网络编程---Socket编程

一、网络套接字 一个文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现。) 在通信过程中&#xff0c;套接字一定是成对出现的 套接字通讯原理示意图&#xff1a; 二、预备知识 1. 网络字节序 内存中的多字节数据相对于内存地址有大端和小端之分 小端法&…

同事上班这样摸鱼,我坐边上咋看他都在专心写代码啊

我边上有个同事&#xff0c;我坐他边上&#xff0c;但是每天看着他都眉头紧锁&#xff0c;忙的不亦乐乎&#xff0c;但终于有一天&#xff0c;我发现了他上班摸鱼的秘诀。 我劝你千万不要学会这4招&#xff0c;要不就该不好好上班了。 目录 1 上班看电影&#xff1f; 2 上班…