前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C\u002FC++ 中的一元运算符

C\u002FC++ 中的一元运算符

作者头像
鲸落c
发布2022-11-14 16:39:32
4080
发布2022-11-14 16:39:32
举报
文章被收录于专栏:鲸落学习笔记

theme: channing-cyan highlight: a11y-dark


小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

一元运算符: 是作用于单个操作数以产生新值的运算符。

一元运算符的类型:

  1. 一元减号(-)
  2. 递增(++)
  3. 递减(--)
  4. 否(!)
  5. 运算符地址(&)
  6. sizeof()

一元减号 减号运算符更改其参数的符号。正数变为负数,负数变为正数。

代码语言:javascript
复制
 int a = 10;
 int b = -a; // b = -10

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

increment 用于将变量的值加 1。 可以通过两种方式进行增量:

prefix increment 在此方法中,运算符在操作数之前(例如,++a)。操作数的值使用会被改变。

代码语言:javascript
复制
 int a = 1;
  int b = ++a; // b = 2

后缀增量 在这种方法中,运算符跟在操作数之后(例如,a++)。值操作数使用会改变。

代码语言:javascript
复制
 int a = 1;
 int b = a++; // b = 1
 int c = a; // c = 2

decrement 用于将变量的值递减1。递减有两种方式:

prefix decrement 在此方法中,运算符在操作数之前(例如,--a)。操作数的值使用会被改变。

代码语言:javascript
复制
  int a = 1;
  int b = --a; // b = 0

posfix decrement 在这种方法中,运算符跟在操作数之后(例如,a- -)。操作数的值使用会改变。

代码语言:javascript
复制
 int a = 1;
 int b = a--; // b = 1
 int c = a; // c = 0

前缀和后缀组合操作的C++程序:

代码语言:javascript
复制
// 演示一元递增和递减运算符工作的 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;
}

输出:

代码语言:javascript
复制
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

上面的程序展示了后缀和前缀是如何工作的。

  1. NOT(!): 用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将使其为假。
代码语言:javascript
复制
   If x is true, then !x is false
   If x is false, then !x is true
  1. Addressof operator(&): 它给出一个变量的地址。它用于返回变量的内存地址。address-of 运算符返回的这些地址称为指针,因为它们“指向”内存中的变量。
代码语言:javascript
复制
&amp; gives an address on variable n
int a;
int *ptr;
ptr = &amp;a;
// a 的地址被复制到位置ptr。
  1. sizeof(): 此运算符返回其操作数的大小,以字节为单位。所述的 sizeof 运算符总是先其operand.The 操作数是一个表达式,或者它可以是一个铸造。
代码语言:javascript
复制
#include <iostream>
using namespace std;

int main()
{
float n = 0;
cout << "size of n: " << sizeof(n);
return 1;
}

输出:

代码语言:javascript
复制
size of n: 4
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档