算术运算符和算术表达式(优先级,结合性等)
2017-03-10 22:57
357 查看
% 得到余数 7 % 2 得到1
运算符的优先级
C语言中,运算符的运算优先级共分为15级。1级最高, 15级最低。在表达式中, 优先级较高的先于优先级较低的进行晕死。而在一个运算量两侧的运算符优先级相同时, 则按运算符的
结合性所规定的结合方向处理。
运算符的结合性
c语言中各运算符的结合性分为两种, 即左结合性(自左至右)和右结合性(自右至左)。例如:
左结合性:
算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”结合,执行 x-y,在+z的yuns。这种是左结合性。
右结合性:
例如:
最典型的右结合性运算符是赋值运算符。如x=y=z, 由于=的右结合性, 应先执行y=z, 在执行x=, 可以理解为x=(y=z)的运算。
c语言运算符中有不少为右结合性, 应注意区别,避免理解错误。
自增、自减运算符
自增1:自增1运算符记为++, 其功能是使变量的值自增1自减1:自减1运算符记为--, 其功能是使变量值自减1.
自增1, 自减1运算符均为单目运算, 都具有右结合性。可有一下几种形式:
++i i自增1后在参加其他运算。 --i i自减后在参与其他运算 i++ i参与运算后, i的值在自增1 i-- i参与运算后, i的值在自减1
void main() { int i, j; i = 5; j = i++; printf("%d, %d", i, j); #注意, 如果是-i++ 呢?结果是-6 } // i 的值为6, j 为5
增加难度
思路:
i = 5, 然后i++ , 在i-- 这时候i是5, 然后-i 也就是-5 -- 也就是-6了
逗号运算符和逗号表达式
在c语言中逗号“,”也是一种运算符, 称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式, 成为逗号表达式。
其一般形式为:
表达式1, 表达式2
其求值过程是分别求两个表示式的值, 并以表达式2的值作为整个逗号表达式的值。
注意了,而实际得到的是表达式1的值
那么怎么才能得到第二个值呢?在外面加个括号
相关文章推荐
- 我的c学习:算术运算符与算术表达式 优先级
- 第03天C语言(03):算术运算符-优先级以及结合性
- 浅谈C/C++中运算符的优先级、运算符的结合性以及操作数的求值顺序
- 表:运算符的优先级和结合性
- 初步篇11算术运算符与算术表达式项目4玩数字
- JavaScript算术运算符与表达式 赋值运算符(+,=)
- PTA 表达式转换 算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。
- c语言学习之基础知识点介绍(四):算术运算符和逗号表达式
- 关于算术表达式以及乘法优先级的处理
- 运算符的优先级和结合性
- 浅谈C/C++中运算符的优先级、运算符的结合性以及操作数的求值顺序
- 运算符的优先级和结合性
- 运算符的优先级和结合性
- scanf函数、算术运算符及逗号表达式的使用注意
- C语言初步-第11讲:算术运算符与算术表达式(分离各位数)
- c/c++ 运算符的优先级和结合性(整理) 收藏
- 运算符和表达式,以及运算符的优先级
- 运算符的优先级和结合性问题
- 41 C语言运算符的优先级和结合性
- Java基本语法-----java运算符的优先级与结合性