尹维利

导航

运算符表达式和语句

1.基本运算符

  • =

    • 数据对象:泛指数据在内存的存储区域
    • 左值:表示可以被更改的数据对象
    • 右值:能赋给左值的量
  • +:加

  • -:减

  • *:乘

  • /:除

  • %:取余数

  • +=:加等于

  • -=:减等于

  • *=:乘等于

  • /=:除等于

  • %=:取余等于

  • ++:自加1

    • i++先计算表达式的值,然后在++(加一)
    • ++i是先++(加一),在计算表达式的值
  • --:自减1

  • 逗号运算符

    int a=2;
    int b=3;
    int c=4;
    int d=5;
    int i=(a=b,c+b);
    //逗号表达式先求逗号左边的值,然后求右边的值,整个语句的值是逗号右边的值
    

    运算符优先级

优先级 运算符 结合性
1 ++(后缀),--(后缀),()(调用函数),{}(语句块),.,-> 从左到右
2 ++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化) 从右到左
3 *, /, % 从左到右
4 +,- 从左到右
5 << >> 从左到右
6 < > <= >= 从左到右
7 == != 从左到右
8 & 从左到右
9 ^ 从左到右
10 | 从左到右
11 && 从左到右
12 || 从左到右
13 ? 从右到左
14 =,*=,%=,+=,-=,<<=,>>=,&=,|=,^= 从右到左
15 ,(逗号运算符) 从左到右
  • 复合语句
    • {}代码块
  • 空语句
    • 只有一个;号的语句就是空语句,空语句在C语言里面和合法的,并且是在某些场合必用的
  • 类型转换
    • 隐式转换
    • 强制转换

posted on 2020-10-08 13:56  尹维利  阅读(54)  评论(0编辑  收藏  举报