您的位置:首页 > 编程语言 > C语言/C++

C语言_初成长_操作符和表达式

cute_shuai 2017-10-15 15:50 60 查看
在C语言中,有各式各样的操作符,而且操作符的运用往往和表达式结合在一起,下面先给操作符一个简单的分类:

算术操作符:    +    -     *     /      %  

                     对应数学里面的  加减乘除余      只有%左右两边操作数都必须是整数。

移位操作符:    <<   左移操作符

                         >>    右移操作符

                         因为在计算机中,对数的保存使用的是二进制,并且是该数的补码,而   <<   则是把该二进制数整体左移一位,左边丢弃右边补0。对于  >>  则分两种情况:                             逻辑右移:左边补0,右边丢弃。算术右移:左边补符号位,右边丢弃。对于  a>>1;还有除2的效果,应为C语言中,除法是算的最慢的,所以适当情况下可以用

                         >>1代替/2。

位操作符:     &    |       ^

                       &  按位与     a&b  把a和b每个二进制位数一个一个与比较,两个都为1则该位为1,有一个为0则为0,比如  a 在内存中为00001110    b在内存中为00000111    则比

                       较结果为00000110

                       |   按位或     有一个为1  则为1,都为0才是0,同样是上面的例子,比较结果为00001111 

                       ^  按位异或   不相同为1  相同为0,比较结果为00001001

逻辑操作符:  &&     ||    !

                        &&   逻辑与    都为真 结果才为真,a++&&++b&&c++   在这里只要前面有为假的结果,后面就不计算,如果a=0,那么b  c  还是原来的值,不会增1。

                        ||      逻辑或    有一个为真,结果就是真,  只要前面的结果为真,后面就不计算

                       !     逻辑非    用于逻辑反操作   就和数字的正负号一样,假真为假   假假为真

复合赋值操作符:   +=    >>=   &=

                                在C语言中  a=a+1  与a+=1,是一样的 后面的同理。

关系操作符:     >   <  ==   >=   <=

                          对应 大于  小于   等于  大于等于  小于等于

条件操作符:   a?x:y

                         如果a为真,返回x;如果a为假返回y。

逗号表达式:    a++,b--,++c,--d

                          从左往右依次执行,最后一个表达式的结果为该表达式的结果
标签:  c语言