C语言运算符优先级

C语言运算符的优先级是由C文法固化的,按照文法的相互依赖关系就自然获得运算符的优先级

因此,熟悉C语言文法,来了解C运算符优先级,要比死记硬背优先级表格来的高级,而且能够回答初学者的疑惑:优先级为什么这样顺序?更重要的是,能够知道C语言“复合”表达式是如何结合运算的。

此外,只有里奇的那本C语言书籍提到了C文法了,其余C语言书籍都没有提到,上来都是“必须”“应该”记住的硬性说明!其实,熟悉了C文法,这些优先级问题才不再是问题!

依据C99的表达式产生式,为了方便理解,整理成如下产生式转换图,其中蕴含的运算符的优先级一目了然!





图片查看大图方式:方式1:右键保存!方式2:在新tab中打开图像(chrome具有此功能)!

注:C99和C89在表达式文法的唯一差别在于:C99的postfix exp产生式中引入了两条新的产生式(type-name) {初始化列},其余运算符和里奇当初的设计的都没有区别!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值