CAPL 编程系列教程的第九期内容,主要讲解 CAPL 中运算符 (Operators) 的第二部分,重点是关系运算符和逻辑运算符。
CAPL 编程系列教程 - 第九期:运算符 (第二部分) - 关系与逻辑
一、 课程回顾与本期目标
- 回顾: 上一期学习了 CAPL 的算术运算符和赋值运算符。
- 本期目标: 学习 CAPL 中的关系运算符、逻辑运算符(本期未涉及位运算符,将在后续讲解
)。 - 与 C 语言的关系: 这些运算符与 C 语言中的完全一致,有 C 基础可快速浏览
。
二、 关系运算符 (Relational Operators)
- 作用: 用于比较两个值的大小或相等关系
。 - 运算符:
==(等于) - 注意是双等号!=(不等于)>(大于)<(小于)>=(大于或等于)<=(小于或等于)
- 返回值 (结果):
- 关系运算表达式的结果是一个逻辑值 (真/假)
。 - 在 CAPL (和 C) 中,用整数 1 代表真 (True / 成立)
。 - 用整数 0 代表假 (False / 不成立)
。
- 关系运算表达式的结果是一个逻辑值 (真/假)
- 示例:
3 == 5结果为 0 (假)。 3 != 5结果为 1 (真)。 3 < 3结果为 0 (假)。 3 <= 3结果为 1 (真)。
- 赋值与比较的区别:
- 赋值 (
=): 将右侧的值赋给左侧的变量。 - 比较 (
==): 判断两侧的值是否相等。不能用单等号进行相等比较。
- 赋值 (
- 结果赋值: 可以将关系运算的结果 (0 或 1) 赋值给一个整型变量
。 int result; result = (3 == 5);// result 的值为 0
三、 逻辑运算符 (Logical Operators)
- 作用: 用于组合或修改逻辑表达式(通常是关系表达式)的真假结果
。 - 运算符:
!(逻辑非 / NOT): 对单个逻辑值取反。 &&(逻辑与 / AND): 连接两个逻辑值,当且仅当两边都为真时,结果才为真。 ||(逻辑或 / OR): 连接两个逻辑值,只要任意一边为真,结果就为真。
- 运算规则:
- 逻辑与 (
&&):1 && 1结果为1。1 && 0结果为0。0 && 1结果为0。0 && 0结果为0。- 计算顺序:从左到右,如果左侧表达式为假 (0),则不再计算右侧表达式(短路求值)。
- 逻辑或 (
||):1 || 1结果为1。1 || 0结果为1。0 || 1结果为1。0 || 0结果为0。- 计算顺序:从左到右,如果左侧表达式为真 (1),则不再计算右侧表达式(短路求值)。
- 逻辑非 (
!):!1结果为0。!0结果为1。- 优先级高: 逻辑非
!的优先级通常高于其他逻辑运算符和关系运算符,使用时要注意,必要时加括号()。 - 示例:
!(3 == 5)先算3 == 5得 0,再!0得 1。如果不加括号!3 == 5,可能会先算!3(非零即真,取反为 0),再算0 == 5得 0,结果不同。 - 非零即真: 在逻辑运算中,任何非零值都可以被当作“真”来处理。
!3中3是非零值(真),取反后为0(假)。
- 逻辑与 (
- 组合使用: 可以将多个关系表达式用逻辑运算符连接起来,形成复杂的逻辑判断条件
。 - 示例 (相亲逻辑):
Code snippet
// 条件: (月薪>=7500 且 存款>=30000) 或 颜值=='A' love = (salary >= 7500 && balance >= 30000) || (face == 'A'); // 进一步条件: 上述条件满足 且 身高不能低于1.5米 love = ((salary >= 7500 && balance >= 30000) || (face == 'A')) && !(height < 1.5); - 建议: 当逻辑表达式包含多个逻辑运算符时,使用括号
()明确运算顺序,提高可读性。
- 示例 (相亲逻辑):
四、 位运算符 (Bitwise Operators)
- 本期视频未讲解位运算符,将在后续课程中介绍
。
五、 总结与后续
- 本期详细讲解了 CAPL 的关系运算符(用于比较)和逻辑运算符(用于组合逻辑条件),强调了它们的用法、返回值和优先级。
- 掌握这些运算符对于编写条件判断和控制流程至关重要。
- 下一期将继续讲解 CAPL 的其他内容(预计是位运算符)。