C语言运算符的优先级顺序是怎样的一个复杂排列?
- 内容介绍
- 文章标签
- 相关推荐
本文共计827个文字,预计阅读时间需要4分钟。
“运算符优先级:1. 数字(1)、括号()、点等;2. 关系运算符(2)、逻辑运算符(!、~、-、*等);3. 乘除运算符(*、/、%等);4. 加减运算符(+、-等);5. 字符串( 、 等);6. 空格(等);7. 相等和不等运算符(==、!=等);8. 分号(;等);9. 位运算符(^等);10. 按位或运算符(|等);11. 三元运算符(?:等);12. 赋值运算符(等);13. 逻辑或运算符(||等);14. 逻辑与运算符(&&等)。
顺序是:1、“()”、.等;2、!、~、-、*、&等;3、*、/、%;4、加减运算;5、“<<”、“>>”;6、<、>等;7、“==”、“!=”;8、&;9、^;10、|;11、“&&”;12、“||”;13、“?:”;14、赋值运算等。
本教程操作环境:windows7系统、C++17版本、Dell G3电脑。
C语言中运算符优先级排序如下:
分为优先级15级:
1、圆括号、下标运算符、分量运算符的指向结构体成员运算符、结构体成员运算符;
2、逻辑非运算符、按位取反运算符、自增自减运算符、负号运算符、类型转换运算符、指针运算符和取地址运算符、长度运算符;
3、乘法运算符、除法运算符、取余运算符;
4、加法运算符、减法运算符;
5、左移动运算符、右移动运算符;
6、关系运算符;
7、等于运算符、不等于运算符;
8、按位与运算符;
9、按位异或运算符;
10、按位或运算符;
11、逻辑与运算符;
12、逻辑或运算符;
13、条件运算符;
14、赋值运算符;
15、逗号运算符。
扩展资料:
运算符优先级的记法:
C语言把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理,可见其范围的宽(如:将赋值符“=”作为赋值运算符、方括号作为下标运算符)。
优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。逻辑运算最后结合。
本文共计827个文字,预计阅读时间需要4分钟。
“运算符优先级:1. 数字(1)、括号()、点等;2. 关系运算符(2)、逻辑运算符(!、~、-、*等);3. 乘除运算符(*、/、%等);4. 加减运算符(+、-等);5. 字符串( 、 等);6. 空格(等);7. 相等和不等运算符(==、!=等);8. 分号(;等);9. 位运算符(^等);10. 按位或运算符(|等);11. 三元运算符(?:等);12. 赋值运算符(等);13. 逻辑或运算符(||等);14. 逻辑与运算符(&&等)。
顺序是:1、“()”、.等;2、!、~、-、*、&等;3、*、/、%;4、加减运算;5、“<<”、“>>”;6、<、>等;7、“==”、“!=”;8、&;9、^;10、|;11、“&&”;12、“||”;13、“?:”;14、赋值运算等。
本教程操作环境:windows7系统、C++17版本、Dell G3电脑。
C语言中运算符优先级排序如下:
分为优先级15级:
1、圆括号、下标运算符、分量运算符的指向结构体成员运算符、结构体成员运算符;
2、逻辑非运算符、按位取反运算符、自增自减运算符、负号运算符、类型转换运算符、指针运算符和取地址运算符、长度运算符;
3、乘法运算符、除法运算符、取余运算符;
4、加法运算符、减法运算符;
5、左移动运算符、右移动运算符;
6、关系运算符;
7、等于运算符、不等于运算符;
8、按位与运算符;
9、按位异或运算符;
10、按位或运算符;
11、逻辑与运算符;
12、逻辑或运算符;
13、条件运算符;
14、赋值运算符;
15、逗号运算符。
扩展资料:
运算符优先级的记法:
C语言把除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理,可见其范围的宽(如:将赋值符“=”作为赋值运算符、方括号作为下标运算符)。
优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。
相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:指针最优,单目运算优于双目运算。如正负号。先算术运算,后移位运算,最后位运算。逻辑运算最后结合。

