【C语言】分支和循环(下)

【C语言】分支和循环 C语言是结构化的程序设计结构,这里的结构是指。我们可以使用实现分支结构,使用实现循环结构。 阅读详情


前言

在上一期我们讨论的C语言的分支结构(☞分支和循环(上)),本文将继续讲解C语言的另一种结构——循环结构。


一、while循环

C语言提供了3种循环语句, while 就是其中一种,接下来就介绍一下 while 语句。
while 语句的语法结构和 if 语句非常相似。

while(表达式)
语句;

首先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语句,语句执行完后再继续判断,是否进行下一次判断。
为了进一步理解,给出一个例子:

在屏幕上打印1~10的值

参考代码:

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

二、for循环

for 循环是三种循环中使用最多的, for 循环的语法形式如下:

 for(表达式1; 表达式2; 表达式3)
 语句;
  • 表达式1 用于循环变量的初始化
  • 表达式2 用于循环结束条件的判断
  • 表达式3 用于循环变量的调整

    首先执行 表达式1 初始化循环变量,接下来就是执行 表达式2 的判断部分, 表达式2 的结果如果
    ==0,则循环结束; 表达式2 的结果如果!=0则执行循环语句,循环语句执行完后,再去执行表 达式
    3 ,调整循环变量,然后再去 表达式2 的地方执行判断, 表达式2 的结果是否为0,决定循环是否继续。
    整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3在循环。

在屏幕上打印1~10的值

int main()
{
	for(int i = 1;i <= 10;i++)
	{
		printf("%d ",i);
	}
	return 0;
}

三、do-while循环

在循环语句中 do while 语句的使用最少,它的语法如下:

do
 语句;
while(表达式);//这个分号记得加


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

在屏幕上打印1~10的值

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

四、continue和break

在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,这是⾮常常见的现象。C语言中提供了 break 和 continue 两个关键字,就是应该到循环中的。
• break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行,并且在分支结构的switch中我们也用到了。
• continue 的作用是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

1.break举例

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

代码中i == 5遇到break跳出循环,所以打印1 2 3 4

2.continue举例

int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 	continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
 printf("%d ", i);
 }
 return 0;
}

将break变为continue会怎么样?
在 for 循环中 continue 的作用是跳过本次循环中 continue 后的代码,直接去到循环的调整部分。未来当某个条件发生的时候,本次循环无需再执行后续某些操作的时候,就可以使用continue 来实现。
代码中i == 5遇到continue跳过后续,接着循环,所以打印1 2 3 4 6 7 8 9 10
对比for循环和while循环中的continue

左图while中的continue,i == 5时跳过后续,,发现i < 10,从而发生死循环,因而光标一直浮动;然而右图for中的continue,i == 5时跳过后续,i++,可以循环。

3.do-while的continue和break

do-while 语句中的 break 和 continue 的作用和 while 循环中几乎一模一样,大家下来可以自行测试并体会😀。


五、嵌套循环

前面学习了三种循环 while , do while , for ,这三种循环往往会嵌套在一起才能更好的解决问题,就是我们所说的:循环嵌套,这里我们就看一个例子。

找出100~200之间的素数,并打印在屏幕上。
注:素数又称质数,只能被1和本身整除的数字。

该练习方法较多,这里推荐一种常规的方法,其他方法大家自行测试。
原理:判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
参考代码:

int main()
{
 	int i = 0;
 	//循环产⽣100~200的数字
 	for(i=100; i<=200; i++)
 	{
 		//判断i是否为素数
 		//循环产⽣2~i-1之间的数字
 		int j = 0;
 		int flag = 1;//假设i是素数
 		for(j=2; j<i; j++)
 		{
 			if(i % j == 0)
 			{
 				flag = 0;
 				break;
 			}
 		}
 		if(flag == 1)
 		printf("%d ", i);
 	}
 	return 0;
}

六、总结

恭喜你看到了这里,这意味着你明白了C语言的分支结构和循环结构,它俩将在你之后的学习中经常遇到。最后我为你留一道课后题(坏笑😏
题目:

输入一个正整数,计算这个整数是几位数?
例如:
输入:1234 输出:4
输入:12 输出:2

关注我,带你继续学习C语言!本期就到这里了!(。・∀・)ノBye~🎉


完

C语言之《分支和循环语句》 我们知道一个原则,else总是和最接近的if相匹配,当a=0,if表达式是a=1时,if表达式则不成立,if不成立,那么就走else,但这段代码中有两个if,而else和最接近的if相匹配,else和第二个if相匹配,而if表达式又不成立,但else是和第二个if相匹配的,所以也走不了else,最终的结果就是什么都不输出。分支语句就像一条岔路口,你选择走了A,就走不了B,if和else是一样的,当一起出现了if和else,要么走if,要么走else,编译器运行代码绝对不会走了if又走else。 阅读详情

相关推荐

ChipCamp探索系列 -- 7A. 开源CPU之BOOM的来龙去脉

本文梳理一下Berkeley的乱序超标量CPU项目----Berkeley Out of Order Machine (BOOM),作为探索7系的首篇(7A)。

ChipCamp的博客---https://chipcamp.blog.youkuaiyun.com/ 1558

【C语言复习】分支和循环

对C语言分支(if 、switch)和循环(for 、while、 do while)进行详细讲解介绍

ChiaWei_Lee的博客 1337

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

C语言中的分支和循环

C语言作为一种功能强大且灵活的编程语言之一,其中分支与循环语句是控制其程序流程的核心部分。通过分支语句可以实现条件判断和多路径的选择,而循环语句则用于重复执行其中的某段代码。ifif-else二、C语言中的循环语句forwhiledo-whilebreakcontinue。

wbx99的博客 1285

数据资产目录(SailCatalog)和数据地图(SailMap)

笔者接下来准备开发大数据平台(XSailboat)中的数据资产目录(SailCatalog)和数据地图(SailMap)相关的功能,本文用以记录笔者关于此部分功能的概念梳理和主体功能设计。

OkGogooXSailboat的博客 2326

Coding Plan:程序员真实工作的可执行编码决策框架

Coding Plan 是一种面向工程实践的编码决策方法论,它超越传统学习路径,聚焦于代码在真实业务系统中的上下文对齐、影响控制与可演进性保障。其核心在于将模糊的开发直觉转化为可度量、可验证、可协作的日常动作,涵盖目标对齐、上下文锁定、验证闭环、协作契约和演进预留五大锚点。结合2026年AI辅助编码新范式,它强调将大模型作为‘上下文翻译器’而非代码生成器,并通过分钟级工作块、技术债主动发行、可观测性前置等机制,显著提升交付确定性与系统长期健康度。本文详解该框架的底层逻辑与落地实践。

weixin_33326218的博客 436

c语言分支和循环

主要讲解了c语言中分支与循环的内容

dragonroar 1486

基于步科(Kinco HMI 2.5)的组态软件使用

本篇介绍Kinco HMI 2.5的组态软件使用,图标如下 目录   一、新建工程并配置连接 1.1 根据工程选择PLC与HMI型号 1.2 配置PLC连接与选项 二、组态画面编辑 2.1 打开画面窗口 2.2 编辑画面 2.3 组态变量与PLC程序变量连接 三、组态程序下载到HMI 3.1 连接 3.2 编译 3.3 下载 一、新建工程并配置连接 1.1 根据工...

ACanswer的专栏 1万+

C语言的分支与循环

详细介绍C语言的分支与循环(适合初学者哦)

2501_91427877的博客 818

2025_NIPS_RAGRouter: Learning to Route Queries to Multiple Retrieval-Augmented Language Models

该研究聚焦检索增强生成(RAG)场景下的大语言模型(LLM)路由问题,提出了首个RAG感知的路由框架RAGRouter。核心解决现有路由方法依赖静态参数知识、忽略检索文档动态影响的缺陷,通过融合文档嵌入、RAG能力嵌入与对比学习,捕捉RAG引发的模型知识表征变化,为每个查询-文档对选择最优LLM。实验覆盖5个知识密集型任务、15个开源/闭源LLM,验证了RAGRouter在性能上超越最佳单LLM和非RAG感知路由方法,且通过阈值机制实现低延迟约束下的性能-效率平衡。

UnknownBody_2的博客 270

QcarCamera-EVS HAL实现(一)

高通车载EVS实现

qq_37057338的博客 2375

【思维导图】C语言—分支与循环

像for循环,while循环,do-while循环,以及各循环的之间使用的区别,在循环里面又涉及break语句,contiune语句,goto语句,最后以我们现有C语言的知识我们还学会了一个关机小程序,这个关机小程序我有详细的一篇博客介绍,同时还有这个思维导图的详细知识博客,都已经贴在下面啦~里面包括 if语句,if-else语句,switch-case语句,语句中同时涉及运算,所以我们又学习了各种操作符,像。上节我们回顾了C语言数据类型与变量,今天我们来回顾。,即分为两大点,分支,循环,

稻草人 2511

CP AUTOSAR标准之AUTOSAR OS(AUTOSAR_SWS_OS)(二)

AUTOSAR OS是一个Operating System,即操作系统。它最核心的功能是管理任务和事件的调度,不同任务间的同步流,并且提供监控和错误处理功能。或者用最简化理解就是一个函数调度器。

CoolBreeze的博客 653

关于C语言中的分支和循环

编程解决问题实际上是建立一个模型用于描述实际问题,并将解决问题的方法转化成一个个基本步骤并用程序来执行的过程,而分支就是用于描述基本步骤中选择这一种步骤的。顾名思义,分支就像是岔路口,有不同的方向,通过执行分支语句来选择其中一种。通俗地说,分支语句是在对不同情况做选择。什么是循环?循环就是反复,重复执行某个类似的过程。对于许多实际问题,我们都可以通过循环,反复执行某一个步骤来求解或进行某些操作从而解决它。由于计算机擅长计算,因此用编程解决问题时可以充分利用这一优点。

Elysia_loveforev的博客 830

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【c语言】分支和循环语句

C语言中的分支与循环语句的用法以及它们之间的区别。

2403_88429866的博客 1459

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C语言——分支与循环

在本章中,我将为大家详细的介绍分支与循环,方便初学者理解在C语言的学习中,我们可以用if语句和switch语句实现分支结构,用for语句、while语句和do-while语句实现循环语句首先介绍的是分支结构。

m151213的博客 1938

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C语言——分支和循环(详解)

C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构。我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。

m0_66687213的博客 1899

C语言——分支和循环

if语句语法形式如下。表达式成立(为真,即为1),则语句1执行;表达式不成立(为假,即为0),则语句2执行。 举一个例子:输入一个整数,判断是否为奇数,如果是奇数就打印奇数,否则打印偶数。 if语句的嵌套:在if else语句中,else可以和另外一个if语句连用,构成多重判断。比如:要求输入一个整数,判断输入的整数是0,还是正数或者负数。 2、关系操作符 关系运算符主要有6个,分别为: 关系表达式通常返回0或1,表示真假。比如1>2为假

Soung_ue的博客 1672

c语言的分支和循环语句

c语言是结构化的程序设计语言,结构是指顺序结构/循环结构/选择结构,我们可以使用if,switch 来实现分支结构,使用for,while,do while来实现循环结构 在C语言中,0为假,非0为真,也就是表达式的结果是0则语句不执行,反之如果表达式结果不为0,则语句执行 例子:输入一个整数,判断是否为偶数 2.else 如果一个数不是偶数那就是奇数了,这个时候我们就可以用if...else...的语句表示了 那我们就接着上个例子继续完善它吧 3.分支中包含多

2402_88631484的博客 1687

【C语言】C语言初步——分支循环语句

本文介绍了C语言中的分支语句和循环语句。分支语句包括if-else和switch语句,if用于条件判断,switch适合多分支情况。循环语句涵盖while、for和do-while三种形式,其中for循环使用最多,do-while至少执行一次循环体。文章还讲解了break和continue关键字的作用:break用于终止循环,continue跳过当前循环。通过打印1-10的代码示例,展示了不同语句的语法特点和使用方法,强调要根据实际需求灵活选择语句结构,培养编程思维。

小年糕的博客 1387

C语言分支与循环

分支:用if处理灵活条件,switch处理多常量匹配,结合关系 / 逻辑运算符构建复杂条件;循环for适合次数确定,while适合次数不确定,do-while适合至少执行一次;实战:通过 “猜数字游戏” 综合运用分支、循环和随机数生成,巩固所学知识。建议多写代码练习(如打印乘法表、计算斐波那契数列),逐步提升逻辑思维能力。

2501_92463563的博客 1205

C语言分支和循环语句

执行完循环体内的代码后,程序会回到 while 语句处,再次检查 condition 的值,若为真则再次执行循环体中的代码,这个过程会一直重复,直到 condition 的值为假,此时循环终止,程序会继续执行循环之后的下一条语句。🔸此代码最后只打印出10个hehe,这是因为 i 和 j 都省略了初始化部分,尤其是 j 省略了 j=0,这会导致第一次外循环进来的时候,j 的内循环已经循环了三次,j 已经变成10了,当 i 再次增加的时候内循环就进不去了,所以只输出了10个。)结尾,这是C语言中语句的标志;

2301_81591231的博客 1637

C语言分支循环语句简介

目录1.分支语句和循环语句的基本语法2.分支语句基本用法3.循环语句基本用法4.分支循环语句的嵌套 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。有了这三种结构我们就可以用C语言来解决许多问题。分支语句一共有两种分别是 if esle 语句和 switch 语句。循环语句有三种分别是 for 循环、while 循环和 do while 循环。 if语句的

YxxxL_striving的博客 1966
上一篇: 【C语言】分支和循环(上)
下一篇: 【C语言】一维数组
2023dream
博客等级 码龄3年 160粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2023dream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值