c语言自增自减运算符运算对象,c++中自增和自减运算符的用法
Yyds干货库存
大家好,我是李泽。希望看完之后能帮到你。如有不足请指正!一起学习交流。
2021博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~ ~阿里云专家博主阿里云之星博主~掘金InfoQ ~ P Creator ~周榜92(总榜886)总网页访问量35w
本文原载于P,作者Yuze。如需转载请告知。
个人主页51Ctop P博客
欢迎喜欢你喜欢的留言。
系列专栏51Ctop _ 博客的分类
我们不在自己选择的舞台上,表演也不是自己选择的剧本。
赋值操作符赋值操作符是一个伟大的操作符。它可以让你得到一个你以前不满意的值。也就是可以重新分配自己。连续赋值的方法是从右到左:(_)。当然,如果你不理解连续赋值,也可以分开。示例:# includesdio.h
int main(void){
int a=10
int b=20
int c=30
a=b=C2;
Printf(连续赋值:%d\n ,a);//32
b=C2;
a=b;
Printf(单独赋值:%d\n ,a);//32
返回0;
}
连续赋值和单独赋值的结果是一样的,只是步骤不同!
虽然支持连续赋值的语法,但不支持连续赋值的方法。如果能打开就更好了。
=
简单赋值运算符将右操作数的值赋给左操作数。
C=A B会把A B的值赋给c。
=
添加赋值运算符,将右操作数加上左操作数的结果赋给左操作数。
C=A等价于c=c a。
-=
并减去赋值运算符,将左操作数减去右操作数的结果赋给左操作数。
C -=A等价于C=C-A。
*=
并将赋值运算符相乘,以将右操作数乘以左操作数结果赋给左操作数。
C *=A等价于c=c * a。
/=
以及对赋值运算符进行除法运算,以将左操作数除以右操作数结果赋给左操作数。
C /=A相当于C=C/A。
%=
求模和赋值运算符,求两个操作数的模并赋值给左操作数。
C %=A相当于C=C% A。
=
左移赋值运算符
C=2等于C=C 2
=
右移位赋值运算符
C=2等于C=C 2
=
按位AND赋值运算符
C=2等于C=C 2
=
按位异或和赋值运算符
^=2等价于C=C 2。
=
按位OR和赋值运算符
C =2等于C=C 2。
只要符合语法逻辑,就可以这么用!
注意: (=)是赋值, (==)是等号判断!
单目运算符(!)逻辑逆运算描述:化假为真,化真为假。所以,是一个单用途运算符,只有一个操作数。
#定义
#包含stdio.h
int main(void){
printf(%d\n ,1);
printf(%d\n ,0);
printf(%d\n ,5);
返回0;
}
运行结果
0
一个
0
在C语言中,只要不是0,就是真的。只有0和1的结果。
正值(“”)和负值(“-”)作用:顾名思义,“”为正值,“-”为负值。
int a=10
a=-a;//a=-10
a=a//a=10
()地址运算符描述:地址是内存区域中每个字节的编号。地址是用来通过内存区域的编号找到变量,然后把内存区域的编号赋给指针。
用十六进制打印出来,% p-表示十六进制数据输出。
注意:取地址不仅仅是取出地址。这个小符号(“”)其实有三个作用。
一个是按位and: 1 5。一个是得到这里的地址。另一种声明引用相当于定义变量别名。( * )解引用操作符说明:解引用一个指针会返回指针所指向的对象,并给解引用结果赋值。也就是给指针指向的对象赋值。
变量用于存储地址。
int a=20//(1)
int * pa=a;//(2)
* pa=30//(3)
在内存中分配4个字节的空间!将A的地址赋给指针变量pa,表示执行对象的类型为int!解引用操作符*pa通过解引用*pa中的地址找到地址A!(sizeof)操作数的类型长度描述:实际是获取数据在内存中占用的存储空间,并以字节为单位进行统计。
int a=1;
printf(%d\n ,sizeof(a));//
printf(%d\n ,sizeof(int));//
printf(%d\n ,sizeof a);//
以上三种写法都可以。
注意:第三种写法是可能的,证明sizeof是运算符,不是函数。
当然sizeof也可以计算数组的大小。例如:
char arr[10]={ 0 };
数组是10个元素,每个数组元素都是char类型, char类型是一个字节,所以这里是10个字节。是单位字节,当然也可以是数组类型。
扩展:sizeof括号内的表达式不参与运算!
( ~ )按位反转描述:一个数的二进制0变成1,1变成0。注意:补码是一位一位倒的。所谓逐位反转,是指存储器级的直接位反转,包括符号位。int a=-1;
//原代码:1000000000000000000000000001
//反码:111111111111111111111111111111111111111111111
//Complement:11111111111111111111111111111
int b=~ a;//b=0
//求反(A)并将值赋给b。
//否定:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000。自增自减运算符可以防止变量前面被称为前缀,后面被称为后缀。方法如下:-运算符;//自减前缀运算符
操作员-;//自减后缀运算符
操作员;//自增前缀运算符
操作员-;//自增后缀运算符
在上面的例子中,运算符前后的位置并不重要,因为结果是一样的。自减为-1,自增为1。
注意:在表达式中,作为运算符的一部分,两者的用法可能不同。如果运算符放在变量前面,那么变量在参与表达式运算之前完成自增或自减运算;如果运算符放在变量之后,则变量的递增或递减运算符在变量参与表达式运算之后完成。
加减后缀运算符有:后置/-,先用,后/-。自增/自减前缀运算符有:prefix/-,first/-,然后use。#包含stdio.h
int main(void){
int a=1;
int b=a;//自增后缀运算符
int d=1;
int c=d;//自增前缀运算符
Printf(自增后缀运算符:%d\n ,b);
Printf(自动递增前缀运算符:%d\n ,c);
返回0;
}
Yuze 51Ctop,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。