OK,今天继续为诸君带来有关C语言中操作符的讲解
一 . 位操作符
C语言中的位操作符我相信大家并不陌生,我们在之前就已经接触过了一些
位操作符(位操作符的操作数只能是整数):
(1)& :按位与(同为 1 才为 1 ,否则为 0 )
(2) | :按位或(有 1 就为 1 )
(3) ^ :按位异或(不同为 1 ,否则为 0 )
(4) ~ :按位取反( 0 变 1 ,1 变 0 )
(5) << :按位左移
(6) >> :按位右移
注意!!!:整形表达式的计算使用在内存中都是补码,我们打印和看到的也都是补码,所有的位运算都一样!!!
这里通过一道例题来帮助大家理解位操作符:
二 . 单目操作符
之前提到过,单目操作符就是只针对一个操作数而言的操作符。我们常见的单目操作符有:
!、+ 、- 、++ 、-- 、* 、& 、~ 、sizeof 、(类型)
有关单目操作符除了 & 和 * ,其他的单目操作符我们在前面都讲过,这两个呢会计划在指针部分为大家讲解,其他的操作符就请诸君移步:
关系操作符,条件操作符与逻辑操作符_关系模式操作符-CSDN博客
四 . 逗号表达式
逗号表达式,顾名思义,就是用逗号隔开的多个表达式:
exp1,exp2,exp3,......,expN
逗号表达式遵循从左向右依次执行的原则(整个表达式的结果是最后一个表达式的结果)
这里直接给大家上图理解:
五 . 下标引用操作符
下标引用操作符:[ ]
操作数:一个数组名 + 一个索引值(下标)
实际上在我们学习数组的时候就已经不知不觉地在运用下标引用操作符了
六 . 函数调用操作符
函数调用操作符:(),可以接收一个或者多个操作数,第一个操作数就是()前面的函数名,剩余的操作数就是()内的传递给函数的参数
七 . 操作符的属性
操作符有两个属性:优先性、结合性
这两个属性决定了表达式求值的计算顺序
(1)优先性
优先性指的是,如果一个表达式包含多个运算符,我们就应该依照操作符的优先性来判断哪一个运算符优先执行,()的优先级最高,所以()可以改变其它运算符的优先级
(2)结合性
如果两个运算符的优先性相同,这个时候我们就得看它俩之间的结合性了,根据运算符是左结合还是右结合来决定运算顺序
(大部分运算符都是左结合(从左到右),少数是右结合(从右到左)例如赋值运算符:= )
例如:5 * 6 / 2
* 和 / 优先级相同,且它们都是左结合运算符,所以从左到右依次执行
有关优先性和结合性,大家可以参考此图:
想要了解更加详细的运算符的优先性和结合性的,可以移步到官网查看:
https://zh.cppreference.com/w/c/language/operator_precedenceOKK,今天就说这么多啦,操作符虽然繁多,但是细分下来知识点都很简单,诸君都是聪明人,相信这部分大家不难理解昂。咱们下期再见,与诸君共勉!!!
标签:操作数,优先,C语言,运算符,详解,操作符,单目,表达式 From: https://blog.csdn.net/Dove_Xxx/article/details/139899305