C语言操作符总结

博客介绍了多种操作符,包括算数、移位、位、赋值、单目、关系和逻辑操作符。详细说明了各操作符的符号、运算规则及注意事项,如 / 操作符在有浮点数时的计算结果,% 操作符操作数须为整数等,还给出了位操作符求二进制中 1 的个数的应用示例。

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

算数操作符

+ - * / %

注意 / 操作符在有浮点数时的计算结果

int main()
{

	float f1 = 7 / 2;
	float f2 = (float)7 / 2;
	float f3 = 7 / (float)2;
	float f4 = (float)(7 / 2);
	printf("%f\n", f1);
	printf("%f\n", f2);
	printf("%f\n", f3);
	printf("%f\n", f4);
	system("pause");
	return 0;
}

输出结果如下:
在这里插入图片描述
注意 % 操作符的两个操作数必须为整数

int main()
{
	int a = -1;
	//printf("%d\n", a);
	printf("%d\n", -10 % 3);
	printf("%d\n", 10 % -3);
	printf("%d\n", -10 % -3);
	printf("%d\n", 10 % 3);
	system("pause");
	return 0;
}

输出结果如下:
在这里插入图片描述

移位操作符

<< 左移操作符
>> 右移操作符

左移操作符——左边抛弃、右边补0
右移操作符

  1. 逻辑移位 左边用0填充,右边丢弃
  2. 算术移位 左边用原该值的符号位填充,右边丢弃

位操作符

& 按位与
| 按位或
^ 按位异或
——相同取0,相异取1

位操作符应用——求一个整数存储在内存中的二进制中1的个数

#include <stdio.h>
int main() 
{    
	int num = -1;    
	int i = 0;    
	int count = 0;//计数    
	while(num)    
	{        
		count++;        
		num = num&(num-1);    
	}    
	printf("二进制中1的个数 = %d\n",count);    
	return 0; 
}

num = num&(num-1);
用来求二进制位有几个1

赋值操作符

=

复合赋值符
+=
-=

*=
/=
%=

>>=
<<=
&=
|=
^=

单目操作符

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

注意sizeof在编译期间只确定类型大小,不参与运算

int main()
{
	int arr[10] = {0};
	int a = -1;
	printf("%d\n",sizeof(a++));
	printf("%d\n", a);
	system("pause");
	return 0;
}

输出结果a还是-1
在这里插入图片描述

关系操作符

>
>=
<
<=
!= //用于测试“不相等”
== //用于测试“相等”

逻辑操作符

&& 逻辑与
|| 逻辑或

表达式1 && 表达式2 && 表达式3
表达式1为再执行表达式2,否则不执行
表达式1和表达式2都为真,则执行表达式3,否则不执行

int main()
{
	int i = 0;
	int a = 1;
	int b = 0;
	int c = 2;
	i = a++ && b++ && c++;
	printf("%d %d %d", a, b, c);
	system("pause");
	return 0;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值