操作符

本文详细介绍了C语言中的各种操作符,包括算术操作符、移位操作符、位操作符、复合操作符、单目操作符、关系操作符、逻辑操作符、条件操作符和逗号表达式,并探讨了操作符的运算优先级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作符

=====================================

一、操作符

1.算术操作符 (+ - * / %)

  • %操作符左右都必须为整数,返回相除之后的余数,+ - * /操作符左右两边默认为int类型,左右出现一个double即为double

2.移位操作符 (左移<<右移>>)

  • 在被操作数没被赋值的情况下,自身的值不会变化

左移:

  • 左边抛弃,右边补0

左移一位:

int num 10;
num<<1

在这里插入图片描述

右移:

  • 逻辑右移(不考虑正负号):左边补0,右边舍弃
  • 算术右移(考虑正负号):左边补符号位,右边舍弃

右移一位:

int num 10;
num>>1

在这里插入图片描述

3.位操作符

  • 按位与:将数化为二进制,再逐位进行与运算

a & b;

  • 按位或:将数化为二进制,再逐位进行或运算

a | b;

  • 按位异或:将数化为二进制,再逐位进行异或运算

a ^ b;

位操作符应用举例:

#include <stdio.h>
	int main()
	{
		int num1 = 0;
		int num2 = 1;
		printf("%d\n",num1 & num2);
		printf("%d\n",num1 | num2);
		printf("%d\n",num1^ num2);
		return 0;
	}

其中,
num1 = 00
num2 = 01
0&0 = 0
0&1 = 0
所以num1 & num2 = 00
其中

4.复合操作符

a += b
=>
a = a + b

5.单目操作符

在这里插入图片描述
sizeof应用举例

#include <stdio.h>
int main() {
	char arr[] = "abcedes";
	printf("%d", sizeof(arr));
	return 0;
  }

6.关系操作符

加粗样式
用于判断语句:

if(a > b){
a++;
}

7.逻辑操作符

在这里插入图片描述
用于循环或者判断语句:

if(a > b && a < c){
    a++;
}

8.条件操作符

如果exp1成立则运行exp2,返回exp2结果
如果exp1不成立则运行exp3,返回exp3结果

exp1 ? exp2 : exp3

9.逗号表达式

用逗号隔开的表达式,从左到右依次执行,结果为最后一个逗号的表达式的结果

#include <stdio.h>
int main() {
	int a = 1;
	int b = 2;
	int c = (a > b, a = b + 10, a, b = a + 1);
	printf("%d", c);
  }

二、操作符的运算优先级

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

=====================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值