C语言中的三大循环

2024-04-29 16:20
文章标签 三大 循环 语言

本文主要是介绍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语言中是相当重要的一个板块。狮子搏兔尚以全力,注重每一个细节,打好基础,咱们才能走的更远嘛,与诸君共勉!!!

这篇关于C语言中的三大循环的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946573

相关文章

C语言-STM32-定时器:定时器的输入捕获

定时器在嵌入式系统中常用于执行周期性任务、中断服务或测量时间间隔。输入输出捕获(Input Capture and Output Compare,简称ICP和OCM)是定时器的两种重要功能,用于处理与时间相关的事件。以下是它们的基本概念: 1、输入捕获(Input Capture,ICP)         输入捕获功能允许定时器记录外部信号(如脉冲、边缘)到达的时间。当外部输入

C语言基础-枚举类型

C语言中的枚举类型(enum)是一种用户定义的数据类型,它允许为整数常量指定一个名称,使得代码更易于阅读和维护。枚举类型本质上是一种特殊的整数类型,但每个枚举值都有一个名字,而不是直接使用整数。 枚举类型的定义 枚举类型通过enum关键字来定义,下面是一个简单的例子: enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday,

for 双重循环

1.显示外循环是多少  内循环是多少   encho -e \t 是制表符 2.9 9乘法表  for 循环:  while循环: 3.输出长度宽度都为9个星的矩形 for循环 while循环 until循环 4.正直角三角形 5.反向直角三角形 for循环         while循环 6.等腰三角形 7.反向等腰三

【C语言项目】贪吃蛇(下)

个人主页~ 源码在Gitee仓库~ 上一篇贪吃蛇(上)~ 贪吃蛇 四、核心的实现游戏测试1、GameStart(1)控制台窗口大小和名字设置(2)光标隐藏(3)打印欢迎界面(4)创建地图(5)初始化蛇(6)创建第一个食物最终的GameStart 2、GameRun(1)定义一个宏来检测按键状态(2)PrintHelpInfo(3)SnakeMove(4)NextIsFood(5)Ea

C语言 | Leetcode C语言题解之第86题分隔链表

题目: 题解: struct ListNode* partition(struct ListNode* head, int x) {struct ListNode* small = malloc(sizeof(struct ListNode));struct ListNode* smallHead = small;struct ListNode* large = malloc(sizeof

C语言(指针)5

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注+收藏,欢迎欢迎~~                                      💥个人主页:小羊在奋斗                                 💥所属专栏:C语言            本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为

shell循环执行脚本

shell循环执行脚本 2017年08月24日 15:28:18 阅读数:215 for i in {1..10}   do      echo "Welcome $i times"      eoo$i.sh  done

wsl安装Xfce桌面并设置系统语言和输入法

一、安装xfce (有相关的依赖都会安装) sudo apt -y install xfce4  二、 安装远程连接组件 sudo apt install xrdp -y 并重新启动 Xrdp 服务: sudo systemctl restart xrdp 本地windows系统中请按 win+R 键 呼出运行 在运行中输入 mstsc ,依次输入ip地址,用户名和密码。 注意用户身

C语言 | Leetcode C语言题解之第85题最大矩形

题目: 题解: int maximalRectangle(char** matrix, int matrixSize, int* matrixColSize) {int m = matrixSize;if (m == 0) {return 0;}int n = matrixColSize[0];int left[m][n];memset(left, 0, sizeof(left));for

Shell编程之循环语甸与函数

for  遍历循环 1)for 变量  in  取值列表 for i in  $(seq 1 10) do     命令序列     .... done 2)for ((变量=初始值; 变量范围; 变量的迭代方式)) for ((i=1; i<=10; i++)) do     命令序列     .... done IFS  for循环取值列表分隔符  set | grep