前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c语言里怎么设立优先级,细说C语言优先级

c语言里怎么设立优先级,细说C语言优先级

作者头像
全栈程序员站长
发布2022-07-02 17:58:03
1.9K0
发布2022-07-02 17:58:03
举报

大家好,又见面了,我是你们的朋友全栈君。

0. 为什么要掌握优先级

想想这两个问题:

a. 读别人的代码,遇到优先级问题看不懂,怎么办?

b. 一堆的括号,美观吗?

本想贴一张画来装饰墙壁,却用了一堆纸来固定!

有人说代码写多了,自然就会了。这个是很宽泛的说法。看你写的代码的水准,有些东西可能你一直

都接触不到,何谈熟练。有些东西一定要梳理,总结。

1. 优先级

1.1 优先级图表

优先级最高者不是真正意义上的运算符,包括:数组下标,函数调用,结构体成员选择符。

单目运算符的优先级次之。(! ~ ++ — – (type) * & sizeof)

然后是双目运算符。双目运算符里, 算数运算符(* / % + -)优先级最高, 移位(<< >>)次之, 关系

运算符(< <= > >= != ==)再次之, 接着是位运算符(& ^ | ),逻辑运算符(&& ||) 条件运算符(?: 三目),

赋值运算符(= …)。

任何一个逻辑运算符的优先级低于任何一个关系运算符。

移位运算符的优先级比算数运算符要低,但是比关系运算符要高。

1.2 运算符实例

a. while (c = getc(in) != EOF)

putc(c, out)

循环的意思是复制一个文件到另一个文件。但是由于!=的优先级比赋值运算符的优先级高,所以c

被赋予了getc()的返回值与EOF比较后的布尔值,结果向out中写入了一堆1.

1.3 优先级顺口溜

醋坛酸味灌

味落跳福豆

共44个运算符

醋-初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员

坛-单目,9个: ! ~ ++ — -负号 (类型) *指针 &取地址 sizeof长度

酸-算术,5个: * / % + -减

味-位移,2个: << >>

灌-关系,6个: < <= > >= == 等于 != 不等于

味-位逻,3个: & 按位与 ^ 按位异或 | 按位或

落-逻辑,2个: && 逻辑与 || 逻辑或

跳-条件,1个,三目: ? :

福-赋值,11个: = += -= *= /= %= >>= <<= &= ^= |=

豆-逗号,1个: ,

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148556.html原文链接:https://javaforall.cn

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com