C语言运算符的“优先级口诀”
希望对初学C语言的同志有所帮助;
当然,应用这个口诀的前提是你认识所有的C语言的运算符。
优先诀
括号成员第一; //括号运算符[] () ,成员运算符 . ->
全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) ,指针运算 * &
乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符 << >> ,关系 > < >= <= 等
等于(与)不等排第七; //即== !=
位与异或和位或; //这几个都是位运算: 位与(&) 异或(^) 位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符: || 和 &&
十二和十一; //注意顺序:优先级(||) 低于 优先级(&&)
条件高于赋值, //三目运算符优先级排到 13 位,只比赋值运算符和","高,需要注意的是赋值运算符很多!
逗号运算级最低! //逗号运算符优先级最低
由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全应用于C++,但是大体能够兼容,大家可以比较一下他们的区别,应该也能快掌握C++的优先级!
当然,应用这个口诀的前提是你认识所有的C语言的运算符。
优先诀
括号成员第一; //括号运算符[] () ,成员运算符 . ->
全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) ,指针运算 * &
乘除余三,加减四; //这个"余"是指取余运算即%
移位五,关系六; //移位运算符 << >> ,关系 > < >= <= 等
等于(与)不等排第七; //即== !=
位与异或和位或; //这几个都是位运算: 位与(&) 异或(^) 位或(|)
"三分天下"八九十;
逻辑或跟与; //逻辑运算符: || 和 &&
十二和十一; //注意顺序:优先级(||) 低于 优先级(&&)
条件高于赋值, //三目运算符优先级排到 13 位,只比赋值运算符和","高,需要注意的是赋值运算符很多!
逗号运算级最低! //逗号运算符优先级最低
由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全应用于C++,但是大体能够兼容,大家可以比较一下他们的区别,应该也能快掌握C++的优先级!