C语言中位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。
位移位运算符的运算对象、运算规则与结果、结合性。
移位时,移出的.位数全部丢弃,移出的空位补入的数与左移还是右移有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是否带符号有关。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。
优先级:语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。
这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
c语言中双等号是关系运算符“等于”(==),即日常生活中常说的等于(如判断两个数是否相等)。例如:
#include
int main(){
int a = 1
int b = 2
if (a == b){ // 如果a等于b
printf("a等于b\n")
}else {
printf("a不等于b\n")
}
return 0
}关系运算符:
用于比较运算。包括大于(>)、小于(<)、等于(==)、
大于等于(>=)、小于等于(<=)和不等于(!=)六种。
C语言提供6种关系运算符:
(1)<(小于)
(2)<=(小于或等于)
(3)>(大于)
(4)>=(大于或等于)
优先级相同(高)
(5)==(等于)
(6)!= (不等于)
优先级相同(低)
关于优先次序:
(1)前4种关系运算符(<,<=,>,>=)的优先级相同,后2种也相同。前者高于后者。
(2)关系运算符的优先级低于算数运算符。
(3)关系运算符的优先级高于赋值运算符。
扩展资料
算术运算符:
除 /:
1、参与的数类型都是整型时,做取整运算。即商n余m,结果为n。
2、只要有一个浮点数参与,就会做类似精确运算。
取余%:
取余运算符号,也叫取模运算符号。做除法运算时,商n余m,结果为m,而且被除数必须是整数。
1、参与运算都是整数时,余数是精确值。
2、有浮点数做除数时,余数不一定是精确值。
【取余运算一般被用来判断,一个数能否被另一个数整除】
【被除数为正,取余结果为正;被除数为负,取余结果为负】