小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
一元运算符: 是作用于单个操作数以产生新值的运算符。
一元运算符的类型:
- 一元减号(-)
- 递增(++)
- 递减(--)
- 否(!)
- 运算符地址(&)
- sizeof()
- 一元减号
- 减号运算符更改其参数的符号。正数变为负数,负数变为正数。
int a = 10; int b = -a; // b = -10 复制代码
- 一元减法与减法运算符不同,因为减法需要两个操作数。
- increment用于将变量的值加 1。 可以通过两种方式进行增量:
- prefix increment
在此方法中,运算符在操作数之前(例如,++a)。操作数的值在使用前会被改变。
int a = 1; int b = ++a; // b = 2 复制代码
- 后缀增量
- 在这种方法中,运算符跟在操作数之后(例如,a++)。值操作数在使用后会改变。
int a = 1; int b = a++; // b = 1 int c = a; // c = 2 复制代码
- decrement用于将变量的值递减1。递减有两种方式:
- prefix decrement
在此方法中,运算符在操作数之前(例如,--a)。操作数的值在使用前会被改变。
int a = 1; int b = --a; // b = 0 复制代码
- posfix decrement
- 在这种方法中,运算符跟在操作数之后(例如,a- -)。操作数的值在使用后会改变。
int a = 1; int b = a--; // b = 1 int c = a; // c = 0 复制代码
- 前缀和后缀组合操作的C++程序:
// 演示一元递增和递减运算符工作的 C++ 程序 #include <iostream> using namespace std; int main() { 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; a = 1; cout << "a value:" << a << endl; b = ++a; cout << "b value after ++a : " << b << endl; cout << "a value after ++a : "<< a << endl; 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; a = 5; cout << "a value: "<< a<<endl; b = --a; cout << "b value after --a : " << b << endl; cout << "a value after --a : " << a << endl; return 0; } 复制代码
输出:
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 operator(&): 它给出一个变量的地址。它用于返回变量的内存地址。address-of 运算符返回的这些地址称为指针,因为它们“指向”内存中的变量。
& gives an address on variable n int a; int *ptr; ptr = &a; // a 的地址被复制到位置ptr。 复制代码
- sizeof(): 此运算符返回其操作数的大小,以字节为单位。所述的 sizeof 运算符总是先其operand.The 操作数是一个表达式,或者它可以是一个铸造。
#include <iostream> using namespace std; int main() { float n = 0; cout << "size of n: " << sizeof(n); return 1; } 复制代码
输出:
size of n: 4