浅析C语言操作符

先来说说C语言中都有哪些操作符。c语言中操作符包括:算数操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号操作符,小标引用,函数调用和结构成员。每种操作符都包含多个,下面就来分析分析吧!

一.算数操作符:

它包括+,-,*,/,%这五种。其中“/“和“%”这两种运算符比较特殊。当使用除法运算符时,如果”/“两边都是整形的,那么得到的结果则是整数,执行的是整数除法。例如:3/2=1,而不是3/2=1.5。如果想要得到1.5,则必须使得”/“两边的数至少有一个是浮点数。例如:3.0/2=1.5或者3/2.0=1.5。当使用”%”运算符时,两边则必须为整数,不得有浮点型数,得到的结果则是整除之后的余数。例如:3%2=1。

除了“%”外,其余即可对整数进行操作也可对浮点数进行操作。

二、移位操作符:

它包括左移“<<”和右移“>>”两种。“a<<i”就表示a左移i位,这时候左边移出去的i位丢掉二而右边空出来的i位补0。“a>>i”表示a右移i位。右移中又包括逻辑右移和算数右移。逻辑右移指的是右边移出去的丢掉,左边空出来的不管符号位如何都补0。算术右移则是右边移出去的丢掉,左边空出来的按照符号位来补齐。

在移位操作符中,不能移动负数位,且移动后变量的值并不被改变(如:a=3,a>>1,a的结果任然是3)。

三、位操作符:

它包括&,|,^。“&”:任何数&0=0,任何数&任何数=任何数。“^”:任何数^任何数=0,任何数^0=任何数。通过“^”操作符不用创建临时变量就可交换两个变量的值。通移位符和&可得到一个整数存储于内存中二进制的每一位。

四、赋值操作符:

        i=2;这句代码意思就是将2赋值给i。赋值语句可以给你创建的变量附上你想要的值。赋值操作符也可以连续使用,但最好分开使用。

五、单目操作符:

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

!(逻辑反操作符):用此操作符执行如下代码:int a = 0;int b = 1;printf("%d\n", !a);printf("%d\n", !b);输出结果为1和0.即真的取反为假,假的取反为真。

&(取地址操作符):&a表示取得a的地址。

sizeof(求得操作数长度):1.sizeof():括号内可能变量名和类型,若去掉括号,只能用变量名,类型则不可去掉括号。例如:int a=0;sizeof(a);结果为4;sizeof(int);结果为四;sizeof a;结果为四;sizeof  int ;则是一个错误的表达,类型需带上括号。2、sizeof(表达式):表达式不做运算。3、sizeof(数组):sizeof(数组名)结果是整个数组的大小。sizeof(&数组名)结果是一个指针的值(4)。而在数组表达的时候,只有sizeof(数组名)和&数组名才表示整个数组,其余的表达形式都表示数组首元素地址。例如:int arr[10]={0};sizeof(arr)=40;sizeof(&arr)=4.    4、sizeof不是函数。

~(对二进制数按位取反):在对一个指定的二进制数的某一位取反时运用。例如:想把00001101这个二进制序列的第二位改为0,即可将00000100按位取反得到11111011,然后将00001101与11111011相与就可以满足要求。

--,++的前后置:一般来说前置比后置高效有些。前置是先加或先减,然后在使用,而后置是使用然后在进行加或减1操作。

*(解引用操作符):int *p=0;int a=0;p=&a;*p=2;这段代码中第一个*只是说明p是一个指针变量,而第二个*则表示根据p中的地址找到对应的内存空间,然后将2存进那块内存中。

(类型)(强制类型转换):int a=0;double  p=1.0;a=(int)p;将p强转位int型。




未完待续……


=0





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值