c语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致,运算操作符之间有相对应的优先级。相同优先级的运算符,从左到右依次运算。 基本表达式 () [] -> . 括号(函数),数组,两种结构成员访问单目运算符 ! ~ ++ – - (type) * & sizeof 否定,按位否定,增量,减量,正负号,间接,取地址,类型转换,求大小算数运算符 / * % + - 乘,除,取模,加,减位移运算符 << >> 左移,右移关系运算符 < <= > >= == != 小于,小于等于,大于等于,大于,等于,不等于逻辑运算符 & ^ | && || 按位与,按位异或,按位或,逻辑与,逻辑或三目运算符 ?: 条件运算赋值运算符 = += -= *= /= &= ^= != <<= >>= 各种赋值运算双目运算符 assignments , 赋值运算符,逗号运算符在实际运用操作符时,应注意,尽量将容易发生不同结果的表达式分开来表示, #include <stdio.h> int main() { int a = 1; //有问题的、不合理的计算方式 //在不同的编译器里会产生不同的结果 //printf("%d\n", (++a)+(++a)+(++a)); //为了避免产生歧义,应先将每个(++a)接收 int x = ++a; int y = ++a; int z = ++a; printf("%d\n", x+y+z); return 0; }