【c语言】操作符

1.算术操作符

/ % + - *

  • 除了%操作符之外,其他的几个操作符可以作用于整数和浮点数
  • 对于/操作符如果两个操作符都为正数,执行整数除法,而只要有浮点数执行的就是浮点数执行的就是浮点数除法。
  • %操作符的两个操作符必须是整数,返回的是整数之后的余数。

2. 移位操作数

**
<< 左移操作符 >> 右移动操作数

  • 左移操作符
    移位规则:左边抛弃,右边补0
int main()
{
	int a = 10;
	int b = a << 1;
	printf("a= %d b= %d\n", a, b);
	system("pause");
}

运行结果:a=10,b=20
左移操作符相当于乘二效果

  • 右移操作符
    移位规则:
    1.逻辑移位
    左边用0填充,右边丢弃
    2.算术移位
    左边用原该值的符号位填充,右边丢弃
    右移操作符相当于除二的效果
    但是并不是所有的>>都是除二
    eg:下面代码b是-1

int main()
{
	int a = -1;
	int b = a >> 1;
	printf("a= %d b= %d\n", a, b);
	system("pause");
}

左移和右移移动的都是补码的二进制序列

3.位操作符

& 按位与 (有0则0,两个1才是1)
| 按位或 (有1则1,两个0才是0)
^ 按位异或 (相同为0,相异为1)
它们的操作数必须是整数,作用于二进制序列。

4.赋值操作符 :=

5.复合操作符

+=、 -= 、*=、 /=、 %=、>>=、<<=、&=、|=、=、

6. 单目操作符

逻辑反操作:!
负值 : -
正值 :+
取地址 :&
操作符的类型长度(以字节为单位): sizeof
对一个数的二进制按位取反 : ~
前置 后置-- : –
前置 后置++ :++
解引用操作符 : *
强制类型转换 :(类型)

7.关系操作符

< <= > >= != ==

8.逻辑操作符

逻辑与 &&
逻辑或 | |
9.条件操作符
a?b:c
同:
if(a)
b;
else
c;

9.逗号表达式

a,b,c,d,……v
逗号表达式,就是逗号隔开的多个表达式,整个表达式的结果是最后一个表达式的结果。所以a,b,c,d,……v只执行v

猜你喜欢

转载自blog.csdn.net/weixin_41892460/article/details/82770062