首先强调一点,运算符也称操作符。
C语言常用运算符分为:
算数运算符 | + — * / % |
关系运算符 | > >= < <= != == |
逻辑运算符 | && || ! |
条件(三目)运算符 | exp? exp2: exp3 |
指针运算符 | & * |
赋值运算符 | = += ^= |= &= /= *= >>= <<= |
逗号运算符 | , |
字节运算符 | sizeof |
强制运算符 | (类型名)(表达式) |
位运算符 | & | ^ ~ << >> |
其他 | 下标[ ],分量 ->,函数() |
简单地说一下条件运算符exp? exp2: exp3 例如 y-x>0?1:0 当y-x大于0时,取1,否则取0
运算符又分单目、双目、三目运算符;
单目运算符:运算所需变量为一个运算符
双目运算符:对2个变量进行操作
三目运算符:对三个变量进行操作
算数运算符全是单目运算符,但是不代表上述表格里的某种运算符全部属于单目或者三目又或者三目运算符。如:位运算符中的~是单目运算符,而其他的均为双目运算符
单目运算符 | 自加自减运算符 | ++ -- |
逻辑非运算符 | ! | |
字节运算符 | sizeof | |
反运算符 | ^ | |
负号运算符 | - | |
类型转换运算符 | (类型名) | |
双目运算符 | 算数运算符 | * / + - % |
关系运算符 | == != <><=>= | |
下标运算符 | [ ] | |
三目运算符 | 条件运算符 | exp? exp2: exp3 |
运算符有结合性:所有的单目运算符、条件运算符、赋值运算符及其扩展运算符,结合方向都是从右到左,其余的运算符都是从左到右。
运算符有优先级,相当于数学的5+8*4,先算8*4,再加5。
运算符优先级:初等运算符>单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符>逗号运算符
初等运算符包括圆括号()、下标运算符[ ]、结构体成员运算符->
创作不易,望点赞,谢谢
文章若有问题,去联系。