C++ 表达式

2025 年 8 月 29 日 | 阅读 9 分钟

C++ 表达式由 运算符、常量和 变量 组成,它们根据语言规则进行排列。它还可以包含返回值的函数调用。表达式可以由一个或多个操作数和零个或多个运算符组成,以计算出一个值。每个表达式都会产生一个值,该值在赋值运算符的帮助下被赋给变量。

C++ 表达式基本语法

在这里,我们列举了几个在 C++ 中执行多个操作的表达式。

C++ 表达式示例

让我们举一个简单的例子来解释 C++ 表达式。

示例

编译并运行

输出

Addition: 15
Divison: 4

C++ 表达式类型

C++ 中的几种表达式类型如下:

  • 特殊赋值表达式
  • 常量表达式
  • 整数表达式
  • 浮点表达式
  • 指针表达式
  • 关系表达式
  • 逻辑表达式
  • 位表达式
C++ Expression

如果表达式是上述表达式的组合,则称为复合表达式。

特殊赋值表达式

特殊赋值表达式是指可以根据赋给变量的值进一步分类的表达式。

  • 链式赋值

链式赋值表达式是指在单个语句中使用,将相同的值赋给多个变量的表达式。

例如

C++ 链式赋值示例

让我们举一个例子来说明 C++ 中的链式赋值。

示例

编译并运行

输出

Values of 'a' and 'b' are : 80,80

说明

在上面的代码中,我们声明了两个变量,即 'a' 和 'b'。之后,我们使用链式赋值表达式将相同的值赋给两个 变量

注意:使用链式赋值表达式时,不能在声明时为变量赋值。例如,`int a=b=c=90` 是一个无效的语句。

  • 嵌入式赋值表达式

嵌入式赋值表达式是指一个赋值表达式包含在另一个赋值表达式中的表达式。

C++ 嵌入式赋值表达式示例

让我们举一个例子来说明 C++ 中的嵌入式赋值表达式。

示例

编译并运行

输出

 
Values of 'a' is 100

说明

在上面的代码中,我们声明了两个变量,即 'a' 和 'b'。之后,我们应用了嵌入式赋值表达式(`a=10+(b=90)`)。

  • 复合赋值

复合赋值表达式是指由赋值运算符和二元运算符组合而成的表达式。

例如:

在上面的语句中,'a' 是一个变量,'+=' 是一个复合语句。

C++ 复合赋值示例

让我们举一个例子来说明 C++ 中的复合赋值。

示例

编译并运行

输出

Value of a is :20

说明

在上面的代码中,我们声明了一个变量 'a' 并为其赋值 10。之后,我们对 'a' 变量应用了复合赋值运算符(+=),即 `a+=10`,这等同于(`a=a+10`)。此语句将 'a' 的值增加了 10。

常量表达式

常量表达式是指只包含常量值的表达式。它是一个在编译时确定值但在运行时求值的表达式。它可以由 整数字符、浮点数和枚举常量组成。

常量表达式可以包含整数、字符和枚举常量。我们可以使用 static 和 extern 关键字与常量一起定义函数作用域。

下表显示了包含常量值的表达式

包含常量的表达式常量值
x = (2/3) * 4(2/3) * 4
extern int y = 6767
int z = 4343
static int a = 5656

C++ 常量表达式示例

让我们看一个简单的程序来说明 C++ 中的常量表达式。

示例

编译并运行

输出

Value of x is : 3 

说明

在上面的代码中,我们首先声明了整型变量 'x'。声明后,我们将简单常量表达式赋给 'x' 变量。

整数表达式

整数表达式是指在执行所有显式和隐式转换后生成整数值的表达式。

以下是整数表达式的示例

其中 x 和 y 是整数。

C++ 整数表达式示例

让我们看一个 C++ 中整数表达式的简单示例。

示例

编译并运行

输出

Enter the values of x and y                                                                                                     
8                                                                                                                               
9                                                                                                                               
Value of z is :17     

说明

在上面的代码中,我们声明了三个变量,即 x、y 和 z。声明后,我们从用户那里获取 'x' 和 'y' 的值。之后,我们将 'x' 和 'y' 的值相加,并将结果存储在 'z' 变量中。

浮点表达式

浮点表达式是指在执行所有显式和隐式转换后生成浮点值的表达式。

以下是浮点表达式的示例

C++ 浮点表达式示例

让我们举一个例子来说明 C++ 中的浮点表达式。

示例

编译并运行

输出

value of z is :14.5       

让我们看另一个浮点表达式的例子。

示例

编译并运行

输出

value of y is :16.7

说明

在上面的代码中,我们声明了两个变量,即 x 和 y。声明后,我们将表达式 (x+float(10)) 的值存储在变量 'y' 中。

指针表达式

指针表达式是指生成地址值的表达式。

以下是指针表达式的示例

C++ 指针表达式示例

让我们举一个例子来说明 C++ 中的指针表达式。

示例

编译并运行

输出

Value of second element of an array : 2

说明

在上面的代码中,我们声明了 数组 和一个指针 ptr。我们将基地址赋给变量 'ptr'。赋值后,我们增加了指针 'ptr' 的值。当指针递增时,'ptr' 将指向数组的第二个元素。

关系表达式

关系表达式是指生成 bool 类型值(true 或 false)的表达式。它也称为布尔表达式。当关系运算符的两边使用算术表达式时,会先计算算术表达式,然后比较它们的结果。

以下是关系表达式的示例

C++ 关系表达式示例

让我们举一个例子来说明 C++ 中的关系表达式。

示例

编译并运行

输出

 
Value of y is :0 

说明

在上面的代码中,我们声明了两个变量,即 'a' 和 'b'。声明后,我们在变量之间应用了关系运算符,以检查 'a' 是否大于 'b'。

让我们看另一个例子。

示例

编译并运行

输出

1

说明

在上面的代码中,我们声明了四个变量,即 'a'、'b'、'x' 和 'y'。之后,我们在这些变量之间应用了关系运算符(>=)。

逻辑表达式

逻辑表达式是指组合两个或多个关系表达式并生成 bool 类型值的表达式。逻辑运算符是 '&&' 和 '||',它们组合两个或多个关系表达式。

以下是一些逻辑表达式的示例

C++ 逻辑表达式示例

让我们举一个例子来说明 C++ 中的逻辑表达式。

示例

编译并运行

输出

0

位表达式

位表达式是指用于在位级别上操作数据的表达式。它们主要用于移位。

例如

在上面的示例中,x 的值为 3,其二进制值为 0011。我们将 x 的值向右移位三位。让我们通过图示来理解。

C++ Expression

C++ 位表达式示例

让我们看一个简单的例子来说明 C++ 中的位表达式。

示例

编译并运行

输出

2

说明

在上面的代码中,我们声明了一个变量 'x'。声明后,我们应用了位运算符,即右移运算符,将一位向右移动。

让我们看另一个例子。

示例

编译并运行

输出

56

说明

在上面的代码中,我们声明了一个变量 'x'。声明后,我们对变量 'x' 应用了左移运算符,将三位向左移动。


C++ 表达式选择题

1. 下列 C++ 表达式的输出是什么?

  1. 45
  2. 31
  3. 18
  4. 37
 

答案:(b) 31


2. 下列 C++ 位表达式的输出是什么?

  1. 10
  2. 15
  3. 25
  4. 5
 

答案:(a) 10


3. 下列 C++ 表达式的类型是什么?

  1. 算术表达式
  2. 赋值表达式
  3. 逻辑表达式
  4. 位表达式
 

答案:(c) 逻辑表达式


4. 下列 C++ 表达式的输出是什么?

  1. 50
  2. 15
  3. 60
  4. 55
 

答案:(c) 60


5. 下列哪个选项显示了正确的 C++ 表达式?

  1. (x + y) * z;
  2. (7 - 2) / 5;
  3. (a * b) - c;
  4. 以上所有
 

答案:(d) 以上全部


下一主题C++ if-else 语句