📜  C C++中的一元运算符(1)

📅  最后修改于: 2023-12-03 14:39:37.530000             🧑  作者: Mango

C/C++中的一元运算符

在 C/C++ 中,一元运算符是只操作一个操作数的运算符。本文将介绍常用的一元运算符及其用法。

1. 递增运算符(++)

递增运算符(++)将操作数的值加1,并返回其值。递增运算符有两种用法:

  • 前缀递增运算符:++x,先将 x 加1,再返回 x 的值。
  • 后缀递增运算符:x++,先返回 x 的值,再将 x 加1。
int x = 1;
printf("%d\n", ++x); // 输出2,x的值为2
printf("%d\n", x++); // 输出2,x的值为3
2. 递减运算符(--)

递减运算符(--)将操作数的值减1,并返回其值。递减运算符有两种用法:

  • 前缀递减运算符:--x,先将 x 减1,再返回 x 的值。
  • 后缀递减运算符:x--,先返回 x 的值,再将 x 减1。
int x = 3;
printf("%d\n", --x); // 输出2,x的值为2
printf("%d\n", x--); // 输出2,x的值为1
3. 正号运算符(+)

正号运算符(+)返回操作数的值。

int x = -5;
printf("%d\n", +x); // 输出-5
4. 负号运算符(-)

负号运算符(-)返回操作数的相反数。

int x = 5;
printf("%d\n", -x); // 输出-5
5. 逻辑非运算符(!)

逻辑非运算符(!)返回其操作数的逻辑非,即如果操作数为0,则返回1,否则返回0。

int x = 0, y = 5;
printf("%d\n", !x); // 输出1
printf("%d\n", !y); // 输出0
6. 位取反运算符(~)

位取反运算符(~)返回其操作数的按位取反,即操作数的每一位取反。

int x = 5;
printf("%d\n", ~x); // 输出-6
7. 指针运算符(*)

指针运算符(*)返回其操作数的值。

int x = 5, *p = &x;
printf("%d\n", *p); // 输出5
8. 取地址运算符(&)

取地址运算符(&)返回其操作数的地址。

int x = 5;
printf("%p\n", &x); // 输出x的地址
总结

本文介绍了 C/C++ 中常用的一元运算符及其用法,包括递增运算符、递减运算符、正号运算符、负号运算符、逻辑非运算符、位取反运算符、指针运算符和取地址运算符。这些运算符是 C/C++ 中常用的基本运算符,掌握它们对于编写高效、专业的代码非常重要。