操作符知识

介绍几种操作符:

+ 、- 、* 、/、%算数操作符

在C语言中加减乘除和取余操作符均为单目操作符,需要注意的是:+、-、*、/计算可以是整形也可以是浮点型。但是,%只能是整形计算。

移位操作符

左移操作符(<<)

左移操作符规则:左边多余的抛弃,右边空余的补0。
例:
在这里插入图片描述
根据整数在内存中的存储可得,8左移3位后变成64。
用代码实现并验证:

#include <stdio.h>

int main()
{
	int a = 8;
	printf("%d\n", (a << 3));
	return 0;
}

运行结果如图:
在这里插入图片描述

右移操作符(>>)

右移操作符分为两种:一是逻辑右移,另一是算术右移。

逻辑右移

逻辑右移操作符规则:逻辑右移是无符号数右移,右边多余的抛弃,左边用0补齐。
例:
在这里插入图片描述
根据整数在内存中的存储规则可得8逻辑右移2位可得到2。
用代码实现并验证:

#include <stdio.h>

int main()
{
	unsigned int a = 8;
	printf("%d\n", (a >>2));
	return 0;
}

运行结果如图:
在这里插入图片描述

算术右移

算术右移操作符规则:算术右移是有符号数右移,右边多余的抛弃,左边用该数值的符号位补齐。
例:
在这里插入图片描述
根据整数在内存中的存储规则可得-8算术右移2位可得到-2。
用代码实现并验证:

#include <stdio.h>

int main()
{
	int a = -8;
	printf("%d\n", (a >>2));
	return 0;
}

运行结果如图:
在这里插入图片描述
注意:对于移位运算符,不要移动负数位,这个是标准未定义的。

位操作符

位操作符有:按位与(&)、按位或(|)、按位异或(^)

按位与操作符(&)

按位与的规则:同为1才为1,有0则为0。
例:
在这里插入图片描述
根据整数在内存中的存储规则可得2&3可得到2。
用代码实现并验证:

#include <stdio.h>

int main()
{
	 int a = 2;
	 int b = 3;
	printf("%d\n", (a & b));
	return 0;
}

运行结果如图:
在这里插入图片描述

按位或操作符(|)

按位或操作符的规则:有1则为1,全0则为0。
例:
在这里插入图片描述

根据整数在内存中的存储规则可得2|3可得到3。
用代码实现并验证:

#include <stdio.h>

int main()
{
	 int a = 2;
	 int b = 3;
	printf("%d\n", (a | b));
	return 0;
}

运行结果如图:
在这里插入图片描述

按位异或操作符(^)

按位异或操作符规则:相同则为0,相异则为1。
例:
在这里插入图片描述
根据整数在内存中的存储规则可得2^3可得到1。
用代码实现并验证:

#include <stdio.h>

int main()
{
	 int a = 2;
	 int b = 3;
	printf("%d\n", (a ^ b));
	return 0;
}

运行结果如图:
在这里插入图片描述

逗号表达式

例:
在这里插入图片描述
注意:逗号表达式括号里的表达式需要逐一执行,执行到最后一个表达式所求出来的值即为最终的值。
用代码验证:

#include <stdio.h>

int main()
{
	int a = 1;
	int b = 2;
	int c = (a > b, a = b + 10, a, b = a + 1);
	printf("%d\n", c);
	return 0;
}

运行结果如图:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值