“ X = someFunction()+ 2”是语句还是表达式?

阿维夫·科恩(Aviv Cohn)

我了解到表达式是可以赋予​​某些值的任何内容,例如2 + X,而语句则是对计算机执行某些操作的任何指令,例如print("hi")

接下来的代码行呢?

X = someFunction() + 2

someFunction()返回一些数值(我认为很多语言都不会编译该代码),因此someFunction() + 2是“产生某种值的东西”(又称表达式)。

但是,someFunction()是要执行的代码,因此是一条语句。

我的问题:

通常,代码行等于某个值,但它们也是要执行指令这些代码行考虑了什么?

大卫·K

在某些称为“功能语言”的计算机语言中,包括打印“ hi”的代码在内的所有内容都是表达式。在另一种极端情况下,您可以使用机器语言编写代码(因此,您(而不是编译器)正在确定应由哪种字节序列构成可执行程序),并且在该级别上,几乎所有内容(甚至在内容上加上2)都是“指令计算机执行某些操作”。

我使用了许多不同的计算机语言,据我所知,每种情况下都有一些文档来定义使用该特定语言进行声明的内容(如果确实该语言甚至具有“语句”的概念)。该定义基于语法,而不是基于代码的作用。

例如,在C或C ++中,如果您编写

{ x + 2; }

然后从技术上讲“ x + 2;” 是一个声明。这是一条无用的语句,它什么也不做,但是从语法上说,它仍然是一条语句。实际上,用C编写语句的一种方法是将分号附加到表达式(http://msdn.microsoft.com/en-us/library/1t054cy7.aspx)。您甚至不需要该表达式;分号本身可以是一条语句(http://msdn.microsoft.com/en-us/library/h7zyw61x.aspx)。

顺便说一句,在C ++中,诸如(x + 2)之类的表达式中的“ +”实际上可能是函数调用。因此,如果您说任何调用函数的内容是一条语句,那么(x + 2)将是或至少可能是C ++中的一条语句。但我不知道有任何机构以这种方式定义它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将 x => array.Contains(x) 表达式转换为 x=> x == 1 || x==2

来自分类Dev

为何编译器会说“预期语句,但找到类型'<x>'的表达式”?

来自分类Dev

使用 Lambda 表达式参数化的 Vert.x 日志语句

来自分类Dev

球拍中X表达式的结构

来自分类Dev

Javascript正则表达式(x)

来自分类Dev

this.someFunction不是函数

来自分类Dev

python 2.x和3.x中的正则表达式unicode

来自分类Dev

Python 正则表达式匹配模式“X<string1>:X<string2>”

来自分类Dev

Java正则表达式-用“x²”替换“ x ^ 2”,而不用“x²7”替换“ x ^ 27”

来自分类Dev

正则表达式匹配X ... X ... Y?

来自分类Dev

PHP如何计算表达式$ x +++ $ x ++?

来自分类Dev

简化布尔表达式:X + X'Y'Z

来自分类Dev

正则表达式匹配X ... X ... Y?

来自分类Dev

PHP如何计算表达式$ x +++ $ x ++?

来自分类Dev

JavaScript正则表达式:`/ x。* y /`与`/ x(?=。* y)/`

来自分类Dev

解决有关Java中的语句和表达式的问题时遇到问题(语句x = y = x = 0是非法的??)

来自分类Dev

是monad表达式,还是Haskell中有语句?

来自分类Dev

变量的初始化是语句还是表达式?

来自分类Dev

Numpy是否在x + = 2 * y这样的表达式中分配临时数组?

来自分类Dev

Sympy:如何解析诸如“ 2x”之类的表达式?

来自分类Dev

在reactjs事件处理中传递{SomeFunction}和{SomeFunction()}之间的区别

来自分类Dev

PHP:if($ result = someFunction())如何工作?

来自分类Dev

为什么正则表达式引擎选择从.X | ..X | X。中匹配模式..X`?

来自分类Dev

用于“ X.XX”或“ X”的正则表达式。或“ X.X”?

来自分类Dev

这个表达式有什么问题?“如果(factorarray [x]%2 == 0 && factorarray [x]%3 == 0 ...”

来自分类Dev

指数函数的正则表达式(e ^ x)

来自分类Dev

正则表达式-量词{x,y},不跟随

来自分类Dev

ggplot刻度x轴带有表达式

来自分类Dev

Lambda表达式以选择索引> x的所有项目

Related 相关文章

  1. 1

    将 x => array.Contains(x) 表达式转换为 x=> x == 1 || x==2

  2. 2

    为何编译器会说“预期语句,但找到类型'<x>'的表达式”?

  3. 3

    使用 Lambda 表达式参数化的 Vert.x 日志语句

  4. 4

    球拍中X表达式的结构

  5. 5

    Javascript正则表达式(x)

  6. 6

    this.someFunction不是函数

  7. 7

    python 2.x和3.x中的正则表达式unicode

  8. 8

    Python 正则表达式匹配模式“X<string1>:X<string2>”

  9. 9

    Java正则表达式-用“x²”替换“ x ^ 2”,而不用“x²7”替换“ x ^ 27”

  10. 10

    正则表达式匹配X ... X ... Y?

  11. 11

    PHP如何计算表达式$ x +++ $ x ++?

  12. 12

    简化布尔表达式:X + X'Y'Z

  13. 13

    正则表达式匹配X ... X ... Y?

  14. 14

    PHP如何计算表达式$ x +++ $ x ++?

  15. 15

    JavaScript正则表达式:`/ x。* y /`与`/ x(?=。* y)/`

  16. 16

    解决有关Java中的语句和表达式的问题时遇到问题(语句x = y = x = 0是非法的??)

  17. 17

    是monad表达式,还是Haskell中有语句?

  18. 18

    变量的初始化是语句还是表达式?

  19. 19

    Numpy是否在x + = 2 * y这样的表达式中分配临时数组?

  20. 20

    Sympy:如何解析诸如“ 2x”之类的表达式?

  21. 21

    在reactjs事件处理中传递{SomeFunction}和{SomeFunction()}之间的区别

  22. 22

    PHP:if($ result = someFunction())如何工作?

  23. 23

    为什么正则表达式引擎选择从.X | ..X | X。中匹配模式..X`?

  24. 24

    用于“ X.XX”或“ X”的正则表达式。或“ X.X”?

  25. 25

    这个表达式有什么问题?“如果(factorarray [x]%2 == 0 && factorarray [x]%3 == 0 ...”

  26. 26

    指数函数的正则表达式(e ^ x)

  27. 27

    正则表达式-量词{x,y},不跟随

  28. 28

    ggplot刻度x轴带有表达式

  29. 29

    Lambda表达式以选择索引> x的所有项目

热门标签

归档