首页 > 其他分享 >嵌入式学习第五天

嵌入式学习第五天

时间:2024-04-01 13:30:06浏览次数:18  
标签:语句 case while 嵌入式 学习 switch 循环 第五天 表达式

switch结构

if-else语句只能判断2个分支,若要判断多个分支则需要if-else的多次使用或嵌套使用,程序会变得很复杂,可读性差。switch是多分支选择语句。通过switch()的多分支判断可以简便地实现多分支选择结构

switch()语句的一般形式如下:

3)case后需要一个常量(或常量表达式)。首先判断switch(表达式)的表达式的值,之后与各个case之后的值进行比对,如果某个case后的值与表达式的值相同,则跳转到此case语句;如果所有的case都不匹配,则跳转到default后的语句

4)可以没有default语句。若没有default语句,则如果没有匹配的case,则程序不执行任何语句

5)每个case语句后的常量值必须各不相同,否则会发生互相矛盾现象

1、 使用switch()实现:输入一个正整数,输出对应的星期。如输入1代表星期一,输入2代表星期二……输入7代表星期日。输入其他数输出错误信息

2、使用switch()实现,程序输入成绩,为0~100之间的整数。之后输出成绩代表的分数段:

90~100为优,80~89为良,70~79为中,60~69为及格,0~59为不及格,其他则输出错误信息

法一:

法二:

循环结构

什么是循环?

循环是程序中重复执行,直到满足指定条件才停止的一段代码;

C语言中,控制循环执行的条件在编码时用到了关系和逻辑运算符;

如果一直循环,无法退出则成为了死循环。

while循环

while循环在执行循环前检查条件,条件表达式一般为关系表达式或者逻辑表达式。只要表达式为真循环就会迭代,否则退出循环。循环体可以是空语句、一个简单的语句或语句块,如果while循环中包含一组语句,必须用{}括起来

3、求1+2+3+……+100=?

do while循环

先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”) 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束;while后面的分号不能省略:do {} while();

for循环

● 表达式1:循环的初始条件。只执行一次。可以为0个、1个或多个变量设置初值

● 表达式2:判断循环结束条件。每次执行循环体前判断此表达式,若表达式为真则进入循环,否则不执行循环

● 表达式3:作为循环的调整(即改变循环状态),在执行完循环体之后执行

练习:

求1*2*3*...*20=?(for循环)

标签:语句,case,while,嵌入式,学习,switch,循环,第五天,表达式
From: https://blog.csdn.net/jzyhhh/article/details/137227264

相关文章

  • [os]xv6系列学习计划
    选了个劳什子OS课,想着弥补一下本科的时候没写成uCore的遗憾,结果感觉是给自己纯纯找事情做了。开课的时候说是读xv6源码,结果后来发现是上课讲专题,作业读源码,然后写lab(结果还是judge),后来又多了看ostep的作业。只能说每周跟着把ostep重温一遍,同时把xv6的lab写了,然后写点笔记加强记忆......
  • JavaWeb学习笔记——第十一天
    SpringBootWeb案例(二)新增员工实现EmpController:@PostMappingpublicResultadd(@RequestBodyEmpemp){log.info("新增员工:{}",emp);empService.add(emp);returnResult.success();}EmpService:voidadd(Empemp);EmpServiceImpl:@Overri......
  • 机器学习的技术原理、应用与挑战
    在数字化浪潮的推动下,机器学习作为人工智能的核心技术之一,正以前所未有的速度改变着我们的生活和工作方式。机器学习通过模拟人类的学习过程,使计算机能够从数据中提取有用信息,并做出预测或决策。本文将深入探讨机器学习的技术原理、应用领域以及面临的挑战,以展现其深度和专业技术......
  • SpringBoot运维学习笔记
    打包与运行windows打包与运行windows打包与运行,linux程序运行服务启动失败:没有主清单属性【没有打包插件】打包插件的作用:https://www.bilibili.com/video/BV15b4y1a7yG?p=55mvnpackagemaven打包的时候会执行测试的流程,运行test里面的代码,会导致数据有一些变化;打包插......
  • 系统学习Java:构建坚实的编程基础
    Java是一种广泛使用的编程语言,以其跨平台性、强大的生态系统和稳健的性能而受到开发者的青睐。无论你是编程新手还是希望转战Java的经验丰富的开发者,系统学习Java都需要一个明确的学习路径。本文将为你提供一个全面的指南,帮助你从多个关键方面入手,构建坚实的Java编程基础。......
  • 【学习革命】主动学习:打破传统,解锁高效学习新密码
    03主动学习:探索高效学习方法,提升自我知识与技能1.主动学习的定义与重要性主动学习是指学习者主动参与到学习过程中,通过探索、发现、思考、实践等手段,以提高自己的知识与技能。与被动学习相比,主动学习更强调学习者的主观能动性和参与性,有利于培养学习者的创新思维和问题解决......
  • 学习Source Generators之IncrementalValueProvider
    前面我们使用了IIncrementalGenerator来生成代码,接下来我们来详细了解下IIncrementalGenerator的核心部分IncrementalValueProvider。介绍IncrementalValueProvider是基于管道的模式,将我们需要的数据进行处理转换后传递给SourceOutput。目前官方提供可用的Providers有如下几种:......
  • CDA Club 第2期《数据分析组队打卡学习活动》正式开营!
    CDAClub第2期《数据分析组队打卡学习活动》正式开营!为增进国内外数据分析师爱好者对数据科学理论与工具实践的了解和认识,方便大家利用碎片化时间在线学习,CDA俱乐部旗下学术部于3月25日-4月24日举办第2期《数据分析组队打卡学习活动》活动。本次打卡共吸引了330余名来自......
  • 【OpenREALM学习笔记:4】geometry_msgs和tf在项目中的不同作用
    geometry_msgsgeometry_msgs是ROS中用于表示几何信息的消息包。它包含了多种消息类型,用于描述点、向量、变换、姿态(位置和方向)、形状等几何概念。geometry_msgs中的消息类型通常用于在ROS节点之间传递几何数据,例如:geometry_msgs/Point:表示三维空间中的一个点。geometry_......
  • Qt/C++入门基础学习001-绘图基础
    这一节介绍Qt的绘图基础知识,我们都知道,Qt里绘图使用的是QPainter,但是首先需要弄明白:在什么上绘图和在哪里绘图,然后才是怎么绘图,我们就围绕这几个问题来展开。在什么上绘图TheQPaintDeviceclassisthebaseclassofobjectsthatcanbepaintedonwithQPainter.Apa......