第三课 算是运算符:四则运算

算数运算符

加减乘除 取余数%

先乘除后加减 有括号先算括号里面的

int x =10;
 printf("%d\n")

X++ ++X

++在前先算++, 在加X

++在后先算X, 在加++

X-- --X同理

X = 10

X += 10 X=20 += 就是 X+10

X -= 10 X=10 -= 就是 X -10

*= /= 同理

X %=3 X=1 就是求 X/3的余数

比较运算符 比较成立 返回1 为真 比较不成立返回0 为假

== 等于

如果==成立 返回值就是1 真

如果==不成立 返回值就是 0 假

!= 不等于

逗号运算符

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

逻辑运算符

不是0的就是真的 , 不是真的就是假的

! 非   不是
&& 与   真并且假    还假   只有都是真   才是真的真
|| 或   有一个是真的就是真的   都是假的才是假
    

!x >0的就是真的 , 不是真的就是假的

位运算

& 与

| 或 10
取反 如果结果是负数就取反加1

^ 按位异或

<<左移

>>右移

运算符的优先级

优先级 运算符 结合性
1 ++(后缀),--(后缀),()(调用函数),{}(语句块),.,-> 从左到右
2 ++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化) 从右到左
3 *, /, % 从左到右
4 +,- 从左到右
5 << >> 从左到右
6 < > <= >= 从左到右
7 == != 从左到右
8 & 从左到右
9 ^ 从左到右
10 | 从左到右
11 && 从左到右
12 || 从左到右
13 ? 从右到左
14 =,*=,%=,+=,-=,<<=,>>=,&=,|=,^= 从右到左
15 ,(逗号运算符) 从左到右
  • 复合语句

    • {}代码块
  • 空语句

    • 只有一个;号的语句就是空语句,空语句在C语言里面和合法的,并且是在某些场合必用的
  • 类型转换

    • 隐式转换

    • 强制转换