C 语言一元运算符

17 Mar 2025 | 6 分钟阅读

在本节中,我们将讨论 C 编程语言中的单目运算符。运算符是用于对给定的数字或操作数执行数学和逻辑运算的特殊符号,并返回基于操作数之间传递的操作数的结果。

单目运算符是作用于单个操作数以返回新值的运算符。换句话说,它是一种运算符,通过使用适当的单目运算符来更新操作数或表达式的值。在单目运算符中,运算符具有从右到左的相同优先级关联性。

Unary Operator in C

单目运算符的类型

以下是 C 编程语言中单目运算符的类型。

  1. 单目减号 (-)
  2. 单目加号 (+)
  3. 自增 (++)
  4. 自减 (--)
  5. 逻辑非 (!)
  6. 地址运算符 (&)
  7. sizeof() 运算符

单目减号 (-)

单目减号运算符用符号 (-) 表示。单目运算符用于改变任何正值的符号为负值。这意味着它使用单目减号运算符将正数变为负数,将负数变为正数。

语法

示例 1

输出

The value of a: 5
The value of b: -5
The value of -n1: -20 
The value of -n2: 30

单目加号 (+)

单目加号运算符表示为“+”符号,它不会改变操作数的值。

示例 2

输出

The value of a: 10
The value of b: -10

单目自增运算符 (++)

它是单目自增运算符,用“++”符号表示。“++”符号表示操作数的值增加 1。它有两种用法:后自增和前自增。

前自增:前自增运算符表示为(++a),表示在将变量“a”的值用于表达式之前,先将其增加 1。

例如

x 的初始值为 10,使用前自增运算符(++x)会在将值赋给变量 A 之前将操作数的值增加 1。

后自增:(a++) 符号表示后自增运算符,表示在将“a”的原始值赋给表达式或另一个变量后,将其值增加 1。

例如

这里的 x 变量的初始值为 10,使用后自增运算符 (x++) 将 x 的增量值赋给变量 A。

示例 3

输出

Pre Increment Operator
The value of x is 11.
The value of a is 11.

Post Increment Operator
The value of y is 20.
The value of b is 21.

单目自减运算符 (--)

单目自减运算符与单目自增运算符相反。单目自减运算符用双减号 (--) 符号表示,它用于根据自减类型将操作数的值减 1。单目自减运算符有两种类型:前自减运算符和后自减运算符。

前自减:前自减运算符用(--a)符号表示,表示在将操作数的值赋给另一个变量或表达式之前,先将其减 1。

语法

后自减:后自减运算符用(a--)符号表示,表示在将原始值赋给另一个变量或表达式后,将其减 1。

语法

示例 4

输出

Pre Decrement Operator
 The value of x is 9.
 The value of a is 9.

 Post Decrement Operator
 The value of y is 20.
 The value of b is 19.

单目 sizeof() 运算符

sizeof 是一个关键字,用于查找不同数据类型或操作数(如 int、float、char、double 等)的大小。

语法

示例 5

输出

The size of the int (x) variable is: 4
 The size of the float (y) variable is: 4
 The size of the char (ch) variable is: 1
 The size of the double (z) variable is: 8

逻辑非 (!) 运算符

逻辑非运算符用于反转给定条件。例如,如果操作数为真,则逻辑非运算符 (!) 反转并返回假;如果操作数为假,则逻辑运算符返回真。

语法

示例 6

输出

The Boolean value of a is: 1
 The Boolean value of b is: 0
 The Boolean value of c is: 0
 The Boolean value of d is: 1

地址运算符 (&)

单目地址运算符用与号 (&) 符号表示,用于查找计算机内存中定义的变量的地址。

语法

示例 7

输出

The value of variable a is: 10
The address of variable b is: 6487704