一元运算运算符:是运算符是在一个单一的操作行为,产生新的价值。
一元运算运算符的类型:
- 一元减(-)
- 增量(++)
- 减量(–)
- 不是(!)
- 运算符地址(&)
- sizeof()
- 一元减
减号运算符更改其自变量的符号。正数变为负数,负数变为正数。int a = 10; int b = -a; // b = -10
一元减号与减法运算符不同,因为减法需要两个操作数。
- 增量
它用于将变量的值增加1。可以通过两种方式完成该增加:- 前缀增量
在此方法中,运算符位于操作数之前(例如++ a)。操作数的值在使用前将被更改。int a = 1; int b = ++a; // b = 2
- 后缀增量
在此方法中,运算符遵循操作数(例如a ++)。在使用后的数值操作数将被改变。int a = 1; int b = a++; // b = 1 int c = a; // c = 2
- 前缀增量
- 递减
它用于将变量的值减1。减值可以通过两种方式完成:- 前缀递减
在此方法中,运算符位于操作数之前(例如,–a)。操作数的值在使用前将被更改。int a = 1; int b = --a; // b = 0
- posfix递减
在此方法中,运算符遵循操作数(例如a–)。用完后,操作数的值将被改变。int a = 1; int b = a--; // b = 1 int c = a; // c = 0
用于前缀和后缀操作组合的C++程序:
// C++ program to demonstrate working of unary increment // and decrement operators #include
using namespace std; int main() { // Post increment int a = 1; cout << "a value: " << a << endl; int b = a++; cout << "b value after a++ : " << b << endl; cout << "a value after a++ : " << a << endl; // Pre increment a = 1; cout << "a value:" << a << endl; b = ++a; cout << "b value after ++a : " << b << endl; cout << "a value after ++a : "<< a << endl; // Post decrement a = 5; cout << "a value before decrement: " << a << endl; b = a--; cout << "b value after a-- : " << b << endl; cout << "a value after a-- : " << a << endl; // Pre decrement a = 5; cout << "a value: "<< a< 输出:
a value: 1 b value after a++ : 1 a value after a++ : 2 a value:1 b value after ++a : 2 a value after ++a : 2 a value before decrement: 5 b value after a-- : 5 a value after a-- : 4 a value: 5 b value after --a : 4 a value after --a : 4
上面的程序显示了后缀和前缀的工作方式。
- 前缀递减
- NOT(!):用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符会将其设置为假。
If x is true, then !x is false If x is false, then !x is true
- Addressof运算符(&):给出变量的地址。它用于返回变量的内存地址。由地址运算符返回的这些地址称为指针,因为它们“指向”内存中的变量。
& gives an address on variable n int a; int *ptr; ptr = &a; // address of a is copied to the location ptr.
- sizeof():此运算符返回其操作数的大小(以字节为单位)。 sizeof运算符始终在其操作数之前。该操作数是一个表达式,也可以是强制转换。
#include
using namespace std; int main() { float n = 0; cout << "size of n: " << sizeof(n); return 1; } 输出:
size of n: 4
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。