为什么文字在C++中被认为是表达式

Why literals are considered expressions in C++?

本文关键字:认为是 表达式 C++ 文字 为什么      更新时间:2023-10-16

我正在使用编程原理学习C++编程语言,并练习使用C++。我现在在第4章,在这一章中,这本书介绍了表达的概念,但我根本无法理解:

程序中最基本的构建块是表达式。反压缩从多个操作数计算一个值。C++中最简单的表达式就是一个文字值,比如11、"C"、"hello"。变量的名称也是表达式。一个变量代表的对象就是它的名字。

为什么文字被认为是一种表达?为什么变量的名称被认为是一个表达式?

表达式在编程语言、数学和语言学中都是以合成(或归纳)的方式定义的。因此,表达式通常由子表达式组成,如x*2+y*4由两个子表达式x*2y*4组成,并由加法运算符+连接。

但你需要一个基本的情况(最原子和最简单的表达式)。这些是文字(2)和变量(x)-如果它们中的任何一个不是表达式,2*x就不能是表达式(因为二进制乘法的两个操作数*都是子表达式)。

注意,在C和C++中,赋值函数调用是表达式

这样想:表达式是产生值的一系列步骤。因此,4+3是一个两步表达式,因为你(1)从数字4开始,(2)加上3

因此,7可以被视为单步序列,因为只有一个"动作"被执行:(1)从数字7开始。

因此,a = 4+3;a = 7;都可以推广为a = <expression>;

表达式是"指定计算的运算符和操作数序列"(http://en.cppreference.com/w/cpp/language/expressions)。

让我们看一个简单的表达式:3+3。当你计算这个表达式时,你会得到结果6。

让我们看看另一个表达式:3。当你计算这个表达式时,你会得到结果3。

文字被视为表达式,因为文字是常量的类型,而常量是具有固定值的表达式。

变量也被视为表达式,因为它可以用作另一个表达式中的操作数,也可以单独用作表达式。

在软件设计中,复合模式可以用作表达式的表示。