目录

前置:关系操作符和逻辑操作符

关系操作符

逻辑操作符

其他补充知识

分支语句:

一、if类

基本式:if...

变式1:if...else...

变式2:if...else if...else...

变式3:嵌套

二、switch

 循环语句:

一、while

二、for

三、do...while

四、提前离开循环


前置:关系操作符和逻辑操作符

关系操作符

C语言中用于判断两个事件之间的关系的操作符主要有六个

  • <        小于
  • >        大于
  • <=      小于等于
  • >=      大于等于
  • ==      等于
  • !=       不等于

需要注意的是 “==” 才是用来判断是否相等的符号, “=”  表示的是赋值的运算

上述六个操作符当判断的结果成立,即结果为真时会返回1,否则返回0

逻辑操作符

C语言中用于逻辑判断主要有三个

  • &&        与
  • ||           或
  • !         非

与(&&):当符号两边同时为真时总结果才为真

(a > 0) && ( b > 0)

当a大于0,并且b也大于0时总结果才为真

或(||):当符号两边有任意一个为真时总结果就可以为真

(a > 0) || ( b > 0)

当a大于0,或者b大于0时总结果就是真

非(!):改变单个条件的真假,如果是真就变成假,如果是假就变成真

a = 0;

b = !a;

因为a等于0,所以!a等于1,所以b等于1

其他补充知识

C语言逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。

分支语句:

一、if类

if在英语语境里就有“如果”的意思,可以用它来判断选择程序的执行路径,其具体使用为

基本式:if...

if( 判断的条件结果为真 )
{执行的操作...
}

当判断的条件结果为真,即结果非0时就会进入大括号内执行代码,否则就会跳过大括号内的代码往下执行

变式1:if...else...

if( 判断的条件不等于0 )
{执行的操作...
}
else
{执行的操作...
}

if和else可以看做将全集分成两份互斥的事件,当if内的条件不成立时必然会执行else内的代码

变式2:if...else if...else...

if( 判断的条件不等于0 )
{执行的操作...
}
else if( 判断的条件不等于0 )
{执行的操作...
}
else
{执行的操作...
}

else if 相当于把全集再添加一个事件,这个事件同样与另外两个事件互斥,可以添加多个else if来继续在全集内添加与其他事件互斥事件

变式3:嵌套

if( 判断的条件结果为真 )
{if( 判断的条件结果为真 ){执行的操作...}else{执行的操作...}
}
else
{if( 判断的条件结果为真 ){执行的操作...    }else{执行的操作...}
}

if类可以存在嵌套,当没有大括号时,else总是和最近的前一个if作为一体

二、switch

switch在英语语境里就有“选择”的意思,也可以用它来判断选择程序的执行路径

它和if...else if...else功能一样,不过把多重的 else if 改成更易用、可读性更好的形式。

switch( 用于作为路径选择的参数 )
{case 得到的参数是变量1:执行的操作...break;case 得到的参数是变量2:执行的操作...break;...default:执行的操作...
}

上述伪代码通过判断用于作为路径选择的变量的不同值执行相应的case里的代码,当所有的case都不满足时则执行default里的内容

注:

  • switch 后的 用于作为路径选择的变量 必须是整型表达式
  • case 后的值,必须是整形常量表达式
  • 每一个 case 语句中的代码执行完成后,需要加上 break ,才能跳出这个switch语句。如果某一个 case 语句的后边没有 break 语句,代码会继续玩下执行,有可能执行其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。

 循环语句:

一、while

while语句是一个简单的循环语句,当判断的条件结果为真时就进入while语句内执行响应的操作,当执行到大括号内最后一条代码时返回最开始的条件判断,如果判断的条件仍然为真就再次进入while语句内执行响应的操作,如此反复执行直到判断的条件结果为假时才跳出循环

while( 判断的条件结果为真 )
{执行的操作...
}

二、for

for循环语句也是C语言中的常见循环语句,其语法结构为

for( 循环变量初始化; 循环结束条件; 每执行完一次for循环循环变量的调整 )
{执行的操作...
}

整个循环的过程中,循环变量初始化部分只被执行1次,其他两个参数会被反复执行。三个参数并不是一定都要使用的,可以空着不写,例如当循环结束的条件为空时表示该循环为死循环。

三、do...while

while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳 出循环; 而 do...while 循环则是先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。所以在 do...while 语句中循环体是至少执行一次的,这是 do...while 循环比较特殊的地方。其语法结构为

do
{执行的操作...
}while( 判断的条件结果为真 )

四、提前离开循环

1.break

执行break语句可以做到终止该语句所在的循环

2.continue

执行continue语句可以做到跳过本次循环中continue之后的语句,直接开始执行下一次的循环

3.return

对于有返回值的函数,执行return语句可以做到终止该语句所在的函数,直接返回函数值

4.goto

使用goto语句可以使程序跳到任意你想让它跳转执行的位置,但是不建议使用goto,因为 goto 语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以建议是能不用尽量不去使用;但是 goto 语句也不是一无是处,在多层循环的代码中,如果想快速跳出使用 goto 就非常的方便了。

int main()
{int i = 0;for( i = 0; i < 100; i++ ){执行的操作...要去的地方:{执行的操作...}        if( i == 50){goto 要去的地方:}执行的操作...}
}注意:“要去的地方”在实际使用时根据自己的需要起名字

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

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

相关文章

商超客流密度统计误差率↓35%!陌讯多模态融合算法在零售智慧运营的实战解析

原创声明 本文为原创技术解析文章&#xff0c;核心技术参数与架构设计引用自 “陌讯技术白皮书&#xff08;2024 版&#xff09;”&#xff0c;技术描述均经过重写转换&#xff0c;无复制官网文案情况&#xff0c;仅用于计算机视觉技术交流与实战经验分享。 一、零售客流统计的…

游戏空间划分技术

【前言】 空间划分主要是为了降低搜索比较量&#xff0c;如果不采用空间划分&#xff0c;暴力遍历也是可以求解的&#xff0c;但耗时过长。通过空间划分将全局搜索简化为为局部搜索&#xff0c;大大降低搜索量。 搜索出来后最终还要是一一比较&#xff0c;比较的是距离&#…

【C#】观察者模式 + UI 线程调度、委托讲解

“观察者模式 UI 线程调度”的典型应用A. 涉及的知识点&#xff08;抽象&#xff09;观察者模式&#xff08;Observer Pattern&#xff09; 发布者&#xff1a;DemoDeviceService.cs 内部生成一帧数据 ScopeFrame&#xff0c;通过 OnScopeFrame?.Invoke(frame) 发布事件。订阅…

Linux应用软件编程---网络编程(TCP:[ 其他机制、头部标志位、应用示例 ]、 HTTP:[ 万维网、概念、格式、报文、应用示例 ]

一、TCP 网络协议补充内容1、TCP 的其他机制1&#xff09;TCP 头部的标志位TCP 头部可用抓包工具 (wireshark) 来查看。头部标志位用途SYN请求建立连接标志位ACK响应报文标志位PSH携带数据标志位&#xff0c;通知接收方该从缓冲区读数据FIN请求断开连接标志位RST复位标志位URG紧…

基于开源飞控pix的无人机装调与测试

文章目录 前言资源下载1、地面站软件独家汉化版QGC地面站&#xff08;推荐&#xff09;原版QGC地面站Mission Planner地面站 2、安装好环境的虚拟机安装虚拟机打开虚拟机文件 3、完整的各版本PX4、QGC源码PX4QGC 一、无人机基本常识/预备知识&#xff08;1&#xff09;无人机飞…

Ubuntu解决makefile交叉编译的问题

问题1&#xff1a;/usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld: cannot find -lwiringpi: No such file or directory 找不到-lwiringpi库路径&#xff0c;其实在3rd/usr/lib/aarch64-linux-gnu下没有libwiringPi.so.2 …

ExcelUtils实现 设置内容 插入行 复制行列格式

ExcelUtils实现&#xff1a;1.实现输入 例如 2 A 的excel格式&#xff0c;自动填充对应excel单元格&#xff1b;2.实现复制并新增下一行&#xff1b;3.实现控制复制上一行相同列的格式&#xff1b;4.实现控制复制同一行上一列的格式&#xff1b;/*** 在指定行下方插入新行并复…

SQLBot 智能问数、数据洞察逻辑拆解

* 基于 SQLBot v1.0.2* 使用 AI Gateway 抓取模型调用记录SQLBot 通过融入 LLM 能力实现了非常优秀的问数体验&#xff0c;这里记录一下产品中如何引入 AI 能力&#xff0c;顺便探究一下调用大模型的数据安全的问题&#xff08;是否会向模型提供真实数据&#xff09;。结论&…

实现统一门户登录跳转免登录

统一门户所有应用页面&#xff0c;点击跳转对应业务系统&#xff0c;实现业务系统免登录//获取所有业务系统项&#xff08;获取并存储到仓库) //用于页面展示 let appSubjectVoList ref<any>([]) appSubjectVoList.value userStore.getAppSubjectVoList || [] //登陆后…

卓伊凡的开源战略与PHP-SG16加密技术深度解析-sg加密技术详解-卓伊凡

卓伊凡的开源战略与PHP-SG16加密技术深度解析-sg加密技术详解-卓伊凡引言&#xff1a;在理想与现实间寻求平衡的开源之路近日&#xff0c;技术创业者卓伊凡先生宣布了一项重大决策&#xff1a;将于明日将其公司旗下的优雅草商城、项目管理系统等众多成熟商业产品正式开源。这一…

回溯 算法常见面试问题

1. 全排列(无重复元素) 核心思想:交换法避免额外空间 def permute(nums):def backtrack(first=0):if first == len(nums):res.append(nums.copy())returnfor i in range(first, len(nums)):nums[first], nums[i] = nums[i], nums[first]backtrack(first + 1)nums[first], …

营销专业人员核心能力构建与发展路径

CDA数据分析师证书含金量高&#xff0c;适应了未来数字化经济和AI发展趋势&#xff0c;难度不高&#xff0c;行业认可度高&#xff0c;对于找工作很有帮助。一、营销人员五维能力模型能力维度核心技能要素工具与方法论产出成果数据驱动决策指标监控、归因分析、效果优化Google …

Android系统学习2——Android.Utils.Log模块讨论

Android系统学习2——Android.Utils.Log模块讨论 ​ 打日志是一个很好的习惯&#xff0c;有的时候我们可以通过这里排查我们的程序的问题。在这里&#xff0c;我们可以从Android的日志机制入手讨论我们的Log模块。 android.util.Log 类的作用 Android 中最常用的日志工具是 and…

使用 YAML 文件,如何优雅地删除 k8s 资源?

在 Kubernetes 中&#xff0c;删除资源是日常运维中不可避免的操作。如果你习惯了使用 kubectl create 和 kubectl apply 来创建和更新资源&#xff0c;那么你可能也会想知道如何用同样基于文件的方式来删除它们。 虽然你总是可以用 kubectl delete deployment <name> 这…

如何将游戏和软件移动到另一个驱动器或外部磁盘中

您的C盘存储空间是否不足&#xff0c;或者您不小心在错误的驱动器中安装了游戏或应用程序。那么使用这个简单的技巧&#xff0c;您可以轻松的将游戏或应用程序移动到另一个分区或磁盘中。1、找到准备移动的软件&#xff0c;选择路径并复制&#xff1a;2、打开记事本&#xff0c…

赋能汽车电子智造:全星QMS打造品质检验、稽核与客诉管理闭环​——全星质量管理软件系统

全星QMS&#xff1a;驱动汽车电子质量卓越与商业成功的核心引擎 在智能汽车时代&#xff0c;汽车电子的质量已成为产品安全、性能与品牌信誉的核心。面对复杂的供应链、严苛的IATF 16949/ISO 26262标准及降本增效的压力&#xff0c;您的企业需要一位数字化战略伙伴。全星质量管…

【数据结构C语言】顺序表

1. 线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线…

AI 学习路径-记录分享

目录推荐学习资源延申阅读推荐学习资源 3Blue1Brown的个人空间-3Blue1Brown个人主页-哔哩哔哩视频 这个简短的课程有助于了解AI的本质&#xff0c;迈入学习AI的第一步。 欢迎加入 &#x1f917; AI Agents 课程 - Hugging Face Agents Course AI Agent&#xff0c;当前火爆…

Windows Server 2019 上安装 Ubuntu 20.04 的几种方式

docker desktop不支持Windows server 2019&#xff0c;所以Windows Server 2019 上安装 Ubuntu 20.04 变成一种可行的途径。记录一下其中可用的几种方式&#xff1a;&#x1f5c2; 常见安装方式对比方式原理难度适用场景优点缺点Hyper‑V 虚拟机&#xff08;推荐&#xff09;利…

当Trae遇上高德MCP:一次国庆武汉之旅的AI技术实践

当Trae遇上高德MCP&#xff1a;一次国庆武汉之旅的AI技术实践 &#x1f31f; Hello&#xff0c;我是摘星&#xff01; &#x1f308; 在彩虹般绚烂的技术栈中&#xff0c;我是那个永不停歇的色彩收集者。 &#x1f98b; 每一个优化都是我培育的花朵&#xff0c;每一个特性都是我…