• C语言操作符


    C语言的操作符分为:算术操作符、移位操作符、位操作符、赋值、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号操作符、下标引用、函数调用和结构成员等,在这简单介绍下这几种操作符。

    1、算术操作符:+、- 、* 、/、%

    其中‘%’只接受两个整型操作数,其返回的值是余数而不是商。除了‘%’,其他的操作符既适用于浮点型又适用于整数类型。当‘/’操作符的两个操作数都是整数时,他执行整数运算,在其他情况下执行浮点数除法。

    2、移位操作符:简单的把一个值的位向左或向右移动。

    • 在左移位中,最左边的几位被丢弃,右边多出的几个空位由0补齐。左移位操作符为:<<
    1 0 0 1 0 1 1 1

    向左移3位  逻辑移位

    1 0 1 1 1 0 0 0

    向左移3位 算术移位

    1 0 1 1 1 0 0 0
    • 右操作符存在一个左操作符不曾面临的问题。从左边移入新位时,有两种选择方案:逻辑移位(左边移入新位全用0补充)、算术移位(左边移入的位由原先该值的符号位决定,符号位位1则移入的位均为1,符号位为0则移入的位均为0)。右移位操作符为:>>。
    1 1 0 1 0 0 1 1

     向右移3位  逻辑移位

    0 0 0 1 1 0 1 0

    向右移3位 算术移位

    1 1 1 1 1 0 1 0

    移位操作符的左操作数的值将移动由右操作数指定的位数,两个操作数必须为整数。如:6<<4,6表示的二进制数向左移动4位。

    0 1 1 0 1 0 1 1

    向右移3位  逻辑移位

    0 0 0 0 1 1 0 1

    向右移3位 算术移位

    0 0 0 0 1 1 0 1

    3、位操作符:对他们的操作数的各位执行AND、OR、XOR等逻辑操作

      AND(&):两个位数都是1,结果为1,否则为0;

      OR(|):两个位都是0,结果为0,否则为1;

      XOR(^):两个位上的数不同结果为1,否则为0。

    他们要求的操作数为整数类型。

    如:

    &(与操作符) 0 1
    0 0 0
    1 0 1
    |(或操作符) 0 1
    0 0 1
    1 1 1
    ^(异操作符) 0 1
    0 0 1
    1 1 0

      

    4、赋值:把右操作数的值存储于左操数;赋值操作符的求值顺序是从右到左。

    如:a=b=c+2 等同于 a=(b=c+2)

    复合赋值符:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=

    上面的复合操作符运算类似于’+=‘操作符。如a+=2等同于a=a+2,a<<=2等同于a=a<<2;

    5、单目操作符:只接受一个操作数。它们是:

    !:逻辑反操作,操作数为真,结果为0,操作数为假,结果为1;如 :!7=0。

    ~:对整型类的操作数进行求补操作,操作数中原先为1的为变为0;原先为0的变为。

    &:产生它操作数的地址。如  int a,*b;  b=&a;  &操作符取a的地址赋值给指针变量b。

    * :间接访问操作符,与指针一起使用,用于访问指针所指向得值。如上面一行的代码,表达式b的值是变量a的地址,但表达式*b的值则是变量a得值

    sizeof:判断它操作数的类型长度。

    (类型):强制类型转换符,用于显示的把一种类型转换为另外一种类型。如:

     int a;

    (float)a;

    把整型变量a转换为浮点型。

    +、-:产生操作数的正负值

    ++、--:操作数的值被增加或减少1。

    6、关系操作符:>, >=, <, <=, !=, ==

    关系操作符的值是整数,而不是布尔值,他可以赋值给整型变量,通常用于if或while语句中,作为测值表达式

    7、逻辑操作符:&&,||

    &&操作符的优先级较低,&&操作符总是首先进行左操作数求值,如果值为真,然后紧接着对右操作数进行求值。如果左操作数求值为假,就不再进行右操作数。||操作符也是先求左操作数,如果为真就不进行右操作符求值。

    8、条件操作符:条件操作符接受三个参数;用法如下:

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

    首先计算表达式1的值,为真整个表达式的值为表达式2的值,不计算表达式3的值;为假则为表达式3的值,不计算表达式2的值

    9、逗号操作符:用于将两个或多个表达式分隔开来,这些表达式自左向右求值,整个逗号的表达式的值为最后那个表达式的值。用法:

    表达式1,表达式2,表达式3,.......表达式n

    10、下标引用、函数调用和结构成员

    下标引用:常用于数组、指针

    函数操作符接受一个或多个操作数,第一个操作数是你希望调用的函数名,剩余的操作数是传递给函数的参数

    结构成员: . 和 -> 用于访问一个结构的成员。如果是个结构变量,那么s.a就是访问结构s中名叫a的成员。当遇到一个指向结构的指针,访问他的成员需要用 ->

  • 相关阅读:
    分形与数据结构第一篇(神奇的色子)
    画图小工具第二篇
    画图小工具第一篇
    图形界面第一篇
    回合制对战游戏第二篇
    回合对战制游戏第一篇(初识java)
    技术+态度+人品
    排序的一些方法(稳定性,内外排序,时间空间复杂度)
    暂时性死区
    vue传值(父子传值,非父子传值)
  • 原文地址:https://www.cnblogs.com/wqaz-0-1-2-3/p/13308336.html
Copyright © 2020-2023  润新知