C语言——操作符

  • 算术操作符

       加号 (+)、减号 (-)、乘号 (*)、除号 (/)和取模 (%)运算。

       %相当于商几余几,取模操作符只能用于·整型,不能用于浮点数。

  • 移位操作符

       移位运算符在程序设计中,是位操作运算符的一种。

       移位运算符可以在二进制的基础上对数字进行平移。 按照平移的方向和填充数字的规则分为三种:<< (左移)、>> (带符号右移)和>>> (无符号右移)

       在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。 移位运算符组成的表达式也属于算术表达式,其值为算术值。 左移运算是将一个二进制位的操作数按指定移动的位数向左移动,移出位被丢弃,右边移出的空位一律补0。  

  • 位操作符
  1. ^按位异或    对应的二进制数字相同为0,相异为1

  2. & 按位与      对应的二进制有0则为0,全1才为1

  3. | 按位或       对应的二进制有1则为1,全0才为0

(在32位机里的32个用1/0表示的数字进行与,或等运算) 

  • 赋值操作符  

       =    +=    -=     *=     /=     &=     ^=     |=      >>=      <<= 

    赋值   加    减    乘    除     与     异或   或    右移      左移   

  • 单目操作符  
  1. !           逻辑反操作(!是逻辑反操作,c语言中,用0表示假,非0表示真。运算符就是操作符)
  2. -           负值
  3. +           正值
  4. &           取地址
  5. sizeof      操作数的类型长度(以字节为单位)
  6. ~           对一个数的二进制按位取反
             

~  叫做按位取反  二进制位(二进制位都是内存里的二进制位)

-1是负整数,负整数的二进制有源码,补码,反码

二进制中最高位是1,表示是负数;最高位是0,表明是正数

(-1表示为

10000000000000000000000000000001        表示-1的源码

11111111111111111111111111111110      表示反码

最高位不变,其余全部取反 ,给反码加1  11111111111111111111111111111111     表示补码)

~给-1按位取反后    00000000000000000000000000000000

      7.--          前置、后置--

      8.++          前置、后置++

先前后置,再使用

先使用,再前后置

        9. *         间接访问操作符 ( 解引用操作符 )
      10.( 类型 )       强制类型转换

     关系操作符

     逻辑操作符

  • &&逻辑与     并

  • ||逻辑或        或

  •  关系操作符
>
>=
<
<=
!=   用于测试 不相等
==       用于测试 相等
  • 逻辑操作符
&&     逻辑与
||           逻辑或
(优先顺序上,先执行与,再执行或)
  • 条件操作符

简化if语句 

表达式为:表达式1?表达式2:表达式3

                  exp1 ? exp2 : exp3

先求解表达式1,

若其值为真(非0)则将表达式2的值作为整个表达式的取值,

否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。

  • 逗号表达式
exp1 , exp2 , exp3 , …expN

在C语言和C++语言中,可以把多个表达式用逗号联接起来(或者说,把这些表达式用逗号分开),构成一个更大的表达式。其中的逗号称为逗号运算符,所构成的表达式称为逗号表达式。逗号表达式中用逗号分开的表达式分别求值,以最后一个表达式的值作为整个表达式的值。

  • 下标引用,函数调用和结构成员

             []         ()        .          ->  

[]下标引用操作符:操作数是arr  和  4

()函数调用操作符   操作数是Add和3,5,共三个操作数(不是三个操作数,一个两个也行)

 

 

你可能感兴趣的:(C语言,c语言,开发语言,后端)