您当前的位置: 首页 > 

我什么都布吉岛

暂无认证

  • 3浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

运算符优先级

我什么都布吉岛 发布时间:2021-02-20 13:54:09 ,浏览量:3

表达式

表达式是由运算符和操作数构成的。

  • 操作数:常量、变量和两者组合
  • 运算符:C语言大约有40种运算符,有优先级 每一个表达式都有一个值!运算符的优先级为表达式的求值顺序提供了重要规则,但是它并不决定所有的顺序y=6*12+5*20;

表达式的求值以运算符优先级作为参考,有的运算符与另一运算符共享操作数,那么此时的优先级就会正确指导我们表达式求值。

“+”与左右两边的“”共享12和5常量,优先级“”大于“+”,所以表达式会先执行“”,有一点需要注意,就是612和5*20都是的求值顺序不确定,哪个先计算不确定!由此可见,优先级并不决定所有顺序。

逻辑与和或短路求值

逻辑与表示当且仅当两个运算符为真才为真;逻辑或表示只要其中一个为真则为真。无论是逻辑与还是逻辑或,两者都是从左往右进行求值,具体的,若逻辑与左侧为假,那么完全没有必要求右侧表达式(事实上C++也是这么做的),同样的,若逻辑或左侧为真,那么右侧的结果并不会改变其最终表达式的真假,所以也不会再进行计算求值。这个聪明的求值策略,称之为短路求值(short-circuit evaluation)。

if(a==1)
	if(b==2)
		dosomething();

也就是说,类似于上面语句放心使用等效语句:

if(a==1&&b==2)
	dosomething();//保证了a==1才执行b==2的判断

取内容*优先级小于数组[]!!!

关注
打赏
1658157489
查看更多评论
立即登录/注册

微信扫码登录

0.0372s