前言:前面我们介绍了SCL语言的基本概念,接下来我们来看一下,SCL语言中的表达式与运算符,以及运算优先级的相关知识点。
一、表达式的概念:
表达式是在程序运行期间进行运算,然后返回一个值。一个表达式由操作数(如常数、变量或函数调用)和与之搭配的操作符(如 *、/、 或 -)组成。通过运算符可以将表达式连接在一起或相互嵌套。
二、表达式的类型
根据不同的运算符,分别可分为以下三种类型:算术表达式、关系表达式与逻辑表达式;
- 算术表达式
算术表达式既可以是一个数字值,也可以是由带有算术运算符的两个值或表达式组合而成。
算术表达式
- 关系表达式
关系表达式将对两个操作数的值进行比较,然后得到一个布尔值。如果比较结果为真,则结果为 TRUE,否则为 FALSE。
关系表达式
- 逻辑表达式
逻辑表达式由两个操作数以及逻辑运算符(AND、OR 或 XOR)或取反操作数 (NOT) 组成。
逻辑表达式
三、表达式的运算顺序
表达式的运算需遵循事先定义好的特定的优先规则:
- 相关运算符的优先级;
- 从左到右的顺序;
- 括号;
下面我们重点看一下运算符以及它的优先级,我简单地整理了一个表格如下:
运算符 | 运算 | 优先级 |
| 一元加 | 2 |
- | 一元减 | 2 |
| 加法 | 5 |
- | 减法 | 5 |
* | 乘法 | 4 |
/ | 除法 | 4 |
MOD | 模运算 | 4 |
** | 幂运算 | 3 |
=,-=,*=,/= | 组合赋值运算 | 11 |
< | 小于 | 6 |
> | 大于 | 6 |
<= | 小于等于 | 6 |
>= | 大于等于 | 6 |
= | 等于 | 7 |
<> | 不等于 | 7 |
NOT | 取反 | 3 |
AND或& | 与运算 | 8 |
XOR | 异或运算 | 9 |
OR | 或 | 10 |
() | 括号 | 1 |
= | 赋值 | 11 |
有些朋友可能对上表中一元加/减会感到陌生,有计算机高级编程语言基础的朋友也许都明白一元/二元/三元的概念,这里的一元加/减与之类似。所谓的一元运算符就是只能有一个操作数,比如: A; -B等,而加法/减法包括我们的乘法除法运算,则都需要两个操作数来完成,属于二元运算符,如:A B;B C等;对于一元加/减,我们可以简单地理解为操作数前面加正负号来表示。