Hello,大家好!我是鸿,C语言中有着许许多多的操作符,今天我将列举一些和大家探讨一下,快看看都有哪些是你认识的。
一、操作符的分类
C语言的操作符可以大致分为以下几类:
1、算术操作符
2、位移操作符
3、位操作符
4、赋值操作符
5、单目操作符
6、关系操作符‘
7、逻辑操作符
二、操作符介绍
1、算术操作符
常用的算术操作符有:+ (加) , - (减) ,* (乘) ,/ (除) ,% (取余,模运算) ,++ (自增) ,– – (自减)
首先介绍(+ - *)
这几个,在C语言中,这几个操作符和数学里面的没有什么区别,注意乘号(*)即可。
对于/ (除)
如果该操作符两边的操作数为整数则执行整数除法,
如果两操作数有一个及以上则执行浮点数除法
对于% (取余,模运算)
%操作符的两个操作数必须为整型,其计算 结果为左操作数整除右操作数后余数
2、位移操作符
位移操作符有:<<左移操作符、>>右移操作符
注意:无论是左移还是右移移动的都是二进制位,而且操作数必须都为整数
<< 移动规则:左边抛弃,右边补零
>>移动规则:
右移操作符分为两种:
3、位操作符
1、& 按位与,按二进制位补码相与,都为1时为1,否则为0
2、| 按位异,按二进制位补码相异,都为0时为0,否则为1
3、^ 按位异或,按二进制位补码异或,相同为0,相异为1
4、赋值操作符
= 为赋值操作符,将右边操作数的值给左边
5、单目操作符
6、sizeof
//sizeof 是在计算类型创建变量或者变量的大小,单位是字节
//sizeof 计算的结果是size_t 类型的
//size_t 是无符号整型的
//对size_t 类型的数据进行打印,可以使用%zd
//sizeof 后面的括号在括号中写的不是类型的时候,括号可以省略,这样就说sizeof不是函数
//sizeof是操作符 - 单目操作符
int main()
{
int a = 10;
printf("%zd\n", sizeof(a));
printf("%zd\n", sizeof a);
printf("%zd\n", sizeof(int));
int arr[10] = {0};
printf("%zd\n", sizeof(arr));
printf("%zd\n", sizeof(arr[0]));
printf("%zd\n", sizeof(arr) / sizeof(arr[0]));
return 0;
}
6、关系操作符
对于关系操作符,注意不要将"="和“==”弄混即可
7、逻辑操作符
&&,两真为真,一假就假,若左边表达式为假就不计算右边表达式的值了
||,一真就真,两假才假,若左边表达式为真则不计算右边表达式的值了
三、总结
最后总结一下,对于算术操作符需要注意两边操作数的类型,对于位移操作符需要掌握移动规则。以及注意“=”赋值和“==”等于的区分
关于操作符的介绍就到这里结束了,感谢各位大佬的阅读!