CQL 教程/CQL 基础/运算符

运算符

CQL 同时支持符号运算符与中文词运算符,本章逐一介绍。

6.1算术运算符

cql
a = 10
b = 3
打印("a + b =", a + b)        # 13
打印("a - b =", a - b)        # 7
打印("a * b =", a * b)        # 30
打印("a / b =", a / b)        # 3.3333...
打印("a // b =", a // b)      # 3
打印("a % b =", a % b)        # 1
打印("a ** b =", a ** b)      # 1000

6.2中文算术词

除符号运算符外,CQL 还提供了等价的中文算术词

cql
a = 10
b = 3
打印("a 加 b =", a 加 b)      # 13
打印("a 减 b =", a 减 b)      # 7
打印("a 乘 b =", a 乘 b)      # 30
打印("a 整除 b =", a 整除 b)  # 3
打印("a 取余 b =", a 取余 b)  # 1
打印("a 幂 b =", a 幂 b)      # 1000

6.3比较运算符

cql
a, b = 10, 3
打印("a == b:", a == b, ",a 等于 b:", a 等于 b)
打印("a != b:", a != b, ",a 不等于 b:", a 不等于 b)
打印("a > b:", a > b, ",a 大于 b:", a 大于 b)
打印("a >= b:", a >= b, ",a 大于等于 b:", a 大于等于 b)
打印("a < b:", a < b, ",a 小于 b:", a 小于 b)
打印("a <= b:", a <= b, ",a 小于等于 b:", a 小于等于 b)

6.4逻辑运算符

中文逻辑词 / / 对应 Python 的 and / or / not

cql
打印("真 与 假:", 真 与 假)
打印("真 或 假:", 真 或 假)
打印("非 假:", 非 假)

6.5成员与身份

/ 不在 判断成员关系, / 不是 判断对象身份:

cql
打印("3 在 [1,2,3]:", 3 在 [1, 2, 3])
打印("4 不在 [1,2,3]:", 4 不在 [1, 2, 3])
a = 10
打印("a 是 a:", a 是 a)
打印("a 不是 b:", a 不是 b)

6.6位运算

cql
打印("5 位与 3 =", 5 位与 3)     # 1
打印("5 位或 3 =", 5 位或 3)     # 7
打印("5 异或 3 =", 5 异或 3)     # 6
打印("取反 0 =", 取反 0)         # -1
打印("1 左移 4 =", 1 左移 4)     # 16
打印("32 右移 2 =", 32 右移 2)   # 8
打印("1 << 4 =", 1 << 4)         # 16

6.7复合赋值与海象

cql
c = 10
c += 5
c -= 2
c *= 3
c //= 4
c %= 5
c **= 2
打印("c =", c)

x = 7
结果 = "偶数" 如果 x % 2 == 0 否则 "奇数"
打印("结果:", 结果)

如果 (长度 := 长度("CQL")) > 0:
    打印("字符串长度:", 长度)

6.8运算符优先级

提示:CQL 的运算符优先级与 Python 完全一致,由语法规则保证,转译时无需额外加括号。