“软件设计师精讲 数据的表示 逻辑运算”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (→逻辑运算符) |
Jihongchang(讨论 | 贡献) (→逻辑运算符) |
||
| 第111行: | 第111行: | ||
最后做逻辑运算,先做 与 &&、再做 或 || | 最后做逻辑运算,先做 与 &&、再做 或 || | ||
| + | |||
| + | ==== 短路原则 ==== | ||
| + | 在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 | ||
| + | |||
| + | (1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时,才需要判断c的值 | ||
| + | |||
| + | (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b都为假才判断c | ||
2024年4月10日 (三) 14:44的版本
https://www.bilibili.com/video/BV13U4y1E7oA/?p=7
关系运算符
关系运算符及其优先次序
| < | 小于 | 优先级相同(高) |
|---|---|---|
| <= | 小于或等于 | |
| > | 大于 | |
| >= | 大于或等于 |
| == | 等于 | 优先级相同(低) | |
|---|---|---|---|
| != | 不等于 | ||
说明:
- 关系运算符的优先级低于算术运算符
- 关系运算符的优先级高于赋值运算符
逻辑运算
逻辑变量之间的运算称为逻辑运算。
二进制数1和0在逻辑上可以代表“真”与“假”。
| 逻辑运算 | 逻辑或(||、+、∪、∨、OR):连接的两个逻辑值全0时才取0 |
|---|---|
| 逻辑与(&&、*、·、∩、∧、AND):连接的两个逻辑值全1时才取1 | |
| 逻辑异或(⊕、XOR):连接的两个逻辑值不相同时才取1,相同则取0 | |
| 逻辑非(!、¬、~、NOT、-):将原逻辑值取反即可 |
真值表:描述一个逻辑表达式与其变量之间的关系
| A | B | !A | A+B | A*B | A⊕B |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 1 | 1 | 0 |
逻辑运算符
&& (逻辑与)相当于其他语言中的AND
|| (逻辑或)相当于其他语言中的OR
! (逻辑非) 相当于其他语言中的NOT
例: a&&b 若a,b为真,则 a&&b 为真。
a || b 若 a,b 之一为真,则 a||b 为真。
! a 若a 为真,则 !a 为假。
优先次序:
!(非)-> &&(与) -> ||(或)
逻辑运算符中的“&&”和“||”低于关系运算符,“!”高于算术运算符
因此运算符的优先顺序为:!>算术运算符>关系运算符>&&>||>赋值运算符
先做 !
然后算术运算 * / + -
之后关系运算 > ≥ ≤ < == !=
最后做逻辑运算,先做 与 &&、再做 或 ||
短路原则
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。
(1)a&&b&&c 只有a为真时,才需要判断b的值,只有a和b都为真时,才需要判断c的值
(2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才判断b。a和b都为假才判断c