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

📅  最后修改于: 2021-05-25 23:06:57             🧑  作者: Mango

一元运算运算符:是运算符是在一个单一的操作行为,产生新的价值。

一元运算运算符的类型:

  1. 一元减(-)
  2. 增量(++)
  3. 减量(–)
  4. 不是(!)
  5. 运算符地址(&)
  6. sizeof()
  1. 一元减
    减号运算符更改其自变量的符号。正数变为负数,负数变为正数。
    int a = 10;
     int b = -a;  // b = -10
    

    一元减号与减法运算符不同,因为减法需要两个操作数。

  2. 增量
    它用于将变量的值增加1。可以通过两种方式完成该增加:
    1. 前缀增量
      在此方法中,运算符位于操作数之前(例如++ a)。操作数的值使用将被更改。
      int a = 1;
        int b = ++a;  // b = 2
      
    2. 后缀增量
      在此方法中,运算符遵循操作数(例如a ++)。在使用的数值操作数将被改变。
      int a = 1;
       int b = a++;   // b = 1
       int c = a;     // c = 2
      
  3. 递减
    它用于将变量的值减1。减值可以通过两种方式完成:
    1. 前缀递减
      在此方法中,运算符位于操作数之前(例如,–a)。操作数的值使用将被更改。
      int a = 1;
        int b = --a;  // b = 0
      
    2. 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
    

    上面的程序显示了后缀和前缀的工作方式。

  4. NOT(!):用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符会将其设置为假。
    If x is true, then !x is false
       If x is false, then !x is true
    
  5. Addressof运算符(&):给出变量的地址。它用于返回变量的内存地址。由地址运算符返回的这些地址称为指针,因为它们“指向”内存中的变量。
    & gives an address on variable n
    int a;
    int *ptr;
    ptr = &a; // address of a is copied to the location ptr. 
    
  6. 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基础课程》。