表达式与语句的区别
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=ProPgExpressionsStatements
- 最后更新: 2021-10-28
介绍 FreeBASIC 中的表达式和语句(语法实体)。
前言:
简单来说,表达式表示一个值,而语句表示一个操作。
然而,实际上,某些特殊表达式可以被组合以表示多个值,而某些语句可能由几个子操作/语句组成。
在某些上下文中,某些语句也可以被视为表达式。
语句可以包含其他构造,如表达式、关键字、运算符和其他元素。
表达式是语句中返回值的部分。因此,表达式可以在预期值的任何地方使用。
以下描述对表达式和语句没有给出非常精确的定义。这是很难做到的。
这里并没有涵盖所有类型的表达式和语句,只是突出了一些简单的示例。
表达式
表达式是一个或多个可以执行数学或逻辑运算的项的集合。准确地说,表达式必须至少有一个操作数,但可以没有任何运算符。
这些项通常是字面量、变量或函数,与运算符结合以求值,例如得到字符串或数值结果,或布尔值,或用户定义类型。
一个值本身是一个简单的表达式,就像一个变量一样。求值一个变量给出变量所引用的值。
表达式可用于执行计算、操作变量或连接字符串。
表达式根据优先级顺序求值。使用括号覆盖默认优先级顺序。
语句
语句是程序执行的基本单元。语句是 FreeBASIC 程序中的完整指令。
它可以包含关键字、运算符、变量、字面值、常量和表达式。
语句可以分为以下几类:
声明语句:用户命名变量、常量或过程,也可以对其进行初始化。
可执行语句:启动操作的语句。这些语句可以调用过程、循环或分支通过代码块,或将值或表达式赋给变量或常量。在最后一种情况下,称为表达式语句。最常见的表达式语句是赋值和函数调用。
语句通常占一行,没有终止符,但:
多个语句也可以使用分隔符(冒号 :)叠放在同一行上,
或者语句也可以使用续行符(下划线 _)从一行延续到下一行。
表达式/语句的基本示例
一些基本示例,仅用于说明上述定义。
表达式的基本示例
- 算术表达式:
10
这是一个求值为数值 10 的表达式。
10 + 13
这是另一个求值为数值 23 的表达式。
- 字符串表达式:
"hello"
求值为字符串 "hello"。
"hello" & " " & "world"
求值为字符串 "hello world"。
- 组合表达式:
Len("hello" & " " & "world")
Len 函数对字符串表达式求长度。
- 逻辑表达式:
10 > 9
求值为布尔值 true(更准确地说,这里产生整数值 -1)。
10 < 20
求值为布尔值 false(更准确地说,这里产生整数值 0)。
true
求值为布尔值 true。
a=20 And b=30
根据 a 和 b 的值求值为 true (-1) 或 false (0)。
语句的基本示例
- 语句:
Print 10 + 13
Print "hello" & " " & "world"其中两个 Print 语句的参数是上面列出的表达式。
- 赋值语句:
average = 55 + 33
其中右侧是一个表达式。
- 带初始化器的声明语句:
Dim As Integer I = J + 3
其中初始化器的右侧是一个表达式。
- 条件语句:
If (expression) Then
statement 1
Else
statement 2
End If如果 If 语句后面的表达式求值为真值,则执行语句 1,否则执行语句 2。
另请参阅
返回 目录