【C语言】03.分支结构
本文用以介绍分支结构,主要的实现方式为if语句和switch语句。
一、if语句
1.1 if语句
if (表达式)语句
表达式为真则执行语句,为假就不执行。在C语言中,0表示假,非0表示真.下图表示if的执行过程:

1.2 else语句
当判断一个条件不成立时,可以在去走else语句。
if(表达式)语句
else语句
默认在if和else语句中都是只包含1条语句。如果要同时控制多条语句,那就要使用{ }
1.3 嵌套语句
在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断.
1.4 悬空else问题
如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
二、关系操作符
C语言中用于比较的表达式称作“关系表达式”,里面的运算符就称作“关系运算符”,主要有如下6个:> < <= >= == != 。关系表达式的结果通常为0或1,表示真假。
注意:相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。
三、条件操作符
条件操作符也叫三目操作符,需要接受三个操作数的,形式如下:
exp1 ? exp2 : exp3
条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果
exp1 为假, exp3 计算,计算的结果是整个表达式的结果。
四、逻辑操作符 && ,|| ,!
逻辑运算符提供逻辑判断功能,用于构建更复杂的表达式,主要有下面三个运算符:
4.1 !:逻辑取反运算符(改变单个表达式的真假)
4.2 &&:与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)
4.3||:或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)

4.4 短路
C语言逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。
五、switch 语句
5.1 switch 语句
除了 if 语句外,C语言还提供了 switch 语句来实现分支结构。
switch 语句是⼀种特殊形式的if...else 结构,用于判断条件有多个结果的情况。它把多重的 else if 改成更易用、可读性更好的形式。
switch (expression)
{case value1: statementcase value2: statementdefault: statement//1. case 和后边的数字之间必须有空格//2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。
}
上面代码中,根据表达式 expression 不同的值,执行相应的 case 分支。如果找不到对应的值,就执行 default 分支。
注:
• switch 后的 expression 必须是整型表达式
• case 后的值,必须是整形常量表达式
switch 语句也是分支效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执行,有可能执行其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。
5.2 default 语句
在使用 switch 语句的时候,我们经常可能遇到⼀种情况,比如 switch 后的表达式中的值无法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加入default 子句。
在 switch 语句中 case ⼦句和 default ⼦句有要求顺序吗? default 只能放在最后吗?
其实,在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满足实际需求的就可以。不过我们通常是把 default ⼦句放在最后处理的。
相关文章:
【C语言】03.分支结构
本文用以介绍分支结构,主要的实现方式为if语句和switch语句。 一、if语句 1.1 if语句 if (表达式)语句表达式为真则执行语句,为假就不执行。在C语言中,0表示假,非0表示真.下图表示if的执行过程: 1.2 else语句 当…...
uniapp手机屏幕左滑返回上一页支持APP,H5
核心:touchstart"touchStart" touchend"touchEnd" 代码示例: <template><view class"payPasswordSetting" touchstart"touchStart" touchend"touchEnd"></view> </template&g…...
【Java毕业设计】基于JavaWeb的洗衣店管理系统
文章目录 摘要ABSTRACT目 录1 概述1.1 研究背景及意义1.2 国内外研究现状1.3 拟研究内容1.4 系统开发技术1.4.1 SpringBoot框架1.4.2 MySQL数据库1.4.3 MVC模式 2 系统需求分析2.1 可行性分析2.2 功能需求分析 3 系统设计3.1 功能模块设计3.2 系统流程设计3.3 数据库设计3.3.1 …...
使用sqlldr向oracle导入大量数据
(1)在Oracle主机安装oracle客户端 sqlldr,在命令行输入sqlldr,若有help指导即已经安装了; (2)创建一个xxx.ctl文件 这个文件是执行导入数据的语句,其中包含需要导入的数据&#x…...
Milvus LIKE操作符
在Milvus中,虽然LIKE操作符被用于模糊匹配字符串,但其支持的模式匹配能力有限。根据你收到的错误信息,Milvus目前只支持两种类型的LIKE模式匹配: 前缀匹配,例如LIKE ab%,这意味着任何以ab开头的字符串都会…...
iQOO neo 5精简内置组件
无他!系统自带了太多组件,都用不到,连打开都不曾打开过。 下午整理一篇精简组件的列表,各自按照各自的需要进行精简哦。别盲目跟风,要不然手机使用会出问题。 精简步骤 使用任意刷机工具,开启手机的开发权限,然后adb连接 删除组件列表如下: pm uninstall --user 0…...
为什么给网站安装SSL证书之后还是有被提示不安全?
分为两种情况一种是安装了付费证书之后还是显示无效,另一种是安装了免费SSL证书的。 付费SSL证书:直接找厂商帮助解决遇到的问题,一般都是有专业的客服来对接这些的。 免费SSL证书:出现这种情况的原因会有很多。因为免费SSL证书的…...
创建Frame单例,实现WPF页面跳转
需求: 有一个F0View主页面入口,三个子页面(First.xaml/Second.xaml/Third.xaml)用Frame默认加载第一个页面 First.xaml。实现三个页面之间顺序跳转,并且每个页面只初始化一次。 实现: 1,将三…...
正宇软件助力江西数字人大建设,高效解决群众“急难愁盼”问题
近日,赣州市南康区群众通过“江西数字人大”小程序成功解决道路塌陷等民生问题,引发社会广泛关注。这一成功案例不仅彰显了“数字人大”在解决群众“急难愁盼”问题中的重要作用,也凸显了江西地区近年来在数字化人大建设方面的显著成效。正宇…...
打造AIPC轻量化方案 360AI浏览器及360AI搜索全新发布
“搜索这20多年来没有发生变化,我们希望这次能来一场革命。”6月6日,360AI新品发布会暨开发者沟通会在京举办。会上,三六零(股票代码:601360.SH,以下简称360)集团发布全新360AI搜索及360AI浏览器…...
《effective c++》学习笔记
从今天开始看《effective c》这本书,把学到的东西当做笔记记下来,算是督促自己学习吧,也算是和大家一起分享一点东西,理解不当的地方,请谅解。(每天更新三个条款)。 一:让自己习惯C…...
11.盛水最多的容器
给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 1&a…...
通过在idea上搭建虚拟hadoop环境使用MapReduce做词频去重
idea上的MapReduce 一般在开发中,若是等到环境搭配好了再进行测试或者统计数据,数据处理等操作,那会很耽误时间,所以一般都是2头跑,1波人去在客户机上搭建环境,1波人通过在idea上搭建虚拟hadoop环境&am…...
AI技术变革与企业服务创新
1、AI的技术变革 1)AI市场规模 2)AI大模型发展历程 3)AIGC发展背景 4)AIGC技术能力 AIGC的技术架构逻辑上分为基础层、技术层、能力层、应用层、终端层五大板块,其中核心技术层涵盖AI技术群和大模型的融合创新&#…...
探秘Facebook:社交媒体的未来之路
Facebook,作为全球最大的社交媒体平台之一,一直处于数字社交革命的前沿。然而,随着科技和社会的不断发展,Facebook正面临着新的挑战和机遇。本文将探索Facebook的未来之路,揭示社交媒体的新趋势和发展方向。 1. 深度社…...
rust的类型转换和一些智能指针用法(四)
基础类型 使用 as 关键字:用于基本数值类型之间的转换,例如将 i32 转换为 u32。 例子:let x: i32 10; let y: u64 x as u64; 使用标准库中的转换方法:如 from() 和 into() 方法,这些方法通常用于无风险的转换&#…...
探索大模型技术及其前沿应用——TextIn文档解析技术
前言 中国图象图形大会(CCIG 2024)于近期在西安召开,此次大会将面向开放创新、交叉融合的发展趋势,为图像图形相关领域的专家学者和产业界同仁,搭建一个展示创新成果、展望未来发展,集高度、深度、广度三位…...
Java HashMap 扩容机制深度解析
HashMap 的一个关键性能优化就是扩容机制,即在哈希表达到一定负载因子时,自动进行扩容,以保持检索效率。 在这篇文章中,我们将深入研究 HashMap 的扩容机制,了解其原理和影响因素。 1. 初始容量和负载因子 在深入了解…...
一、Electron 环境初步搭建
新建一个文件夹,然后进行 npm init -y 进行初始化,然后我们在进行 npm i electron --save-dev , 此时我们按照官网的教程进行一个初步的搭建, 1.在 package.json 文件进行修改 {"name": "electron-ui","version…...
ffmpeg编码器编码元数据的过程以及编码前后的差异
编码方式为avcodec_send_frame:将原始帧发送到编码器进行编码 编码过程完成于avcodec_receive_packet:从编码器接收编码后的压缩数据,也就是说已经编码压缩完成了,并存储到avpacket中,此时元数据被分割成多个NALU单元&…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
