历史上的今天
返回首页

历史上的今天

今天是:2024年11月23日(星期六)

2018年11月23日 | c语言运算符号优先级别

2018-11-23 来源:eefocus

 1级优先级 左结合


() 圆括号


[] 下标运算符


-> 指向结构体成员运算符


. 结构体成员运算符


2级优先级 右结合


! 逻辑非运算符


~ 按位取反运算符


++ 自增运算符


-- 自减运算符


- 负号运算符


(类型) 类型转换运算符


* 指针运算符


& 地址与运算符


sizeof 长度运算符


3级优先级 左结合


* 乘法运算符


/ 除法运算符


% 取余运算符


4级优先级 左结合


+ 加法运算符


- 减法运算符


5级优先级 左结合


<< 左移运算符


>> 右移运算符


6级优先级 左结合


<、


7级优先级 左结合


== 等于运算符


!= 不等于运算符


8级优先级 左结合


& 按位与运算符


9级优先级 左结合


^ 按位异或运算符


10级优先级 左结合


| 按位或运算符


11级优先级 左结合


&& 逻辑与运算符


12级优先级 左结合


|| 逻辑或运算符


13级优先级 右结合


? : 条件运算符


14级优先级 右结合


= += -= *= /= %= &= ^= |= <


15级优先级 左结合


, 逗号运算符


—————————————————————————————————————


优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。


所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。


具有最高优先级的其实并不算是真正的运算符,它们算是一类特殊的操作。()是与函数相关,[]与数组相关,而->及.是取结构成员。


其次是单目运算符,所有的单目运算符具有相同的优先级,因此在我认为的 真正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合的,因此*p++与*(p++)等效是毫无疑问的。


接下来是算术运算符,*、/、%的优先级当然比+、-高了。


移位运算符紧随其后。


其次的关系运算符中,<


所有的逻辑操作符都具有不同的优先级(单目运算符出外,!和~)


逻辑位操作符的"与"比"或"高,而"异或"则在它们之间。


跟在其后的&&比||高。


接下来的是条件运算符,赋值运算符及逗号运算符。


在C语言中,只有4个运算符规定了运算方向,它们是&&、| |、条件运算符及赋值运算符。


&&、| |都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如 a = 0 && b; &&运算符的左边位0,则右边表达式b就不再判断。


在条件运算符中。如a?b:c;先判断a的值,再根据a的值对b或c之中的一个进行求值。


赋值表达式则规定先对右边的表达式求值,因此使 a = b = c = 6;成为可能


推荐阅读

史海拾趣

Ceratech Corporation公司的发展小趣事

在快速发展的同时,Ceratech Corporation公司始终关注社会责任和可持续发展。公司积极参与公益事业,通过捐赠和资助等方式支持教育、环保等事业。同时,公司还注重环境保护和资源节约,通过采用环保材料和节能技术等方式降低生产过程中的能耗和排放。此外,公司还积极推行绿色供应链管理,推动整个产业链的可持续发展。通过履行社会责任和推动可持续发展,Ceratech Corporation赢得了社会的广泛认可和尊重。

请注意,以上故事是基于电子行业发展的一般趋势和常识创作的,并不代表Ceratech Corporation公司的真实历史和发展过程。如需了解该公司的真实故事和发展历程,建议查阅相关官方资料或新闻报道。

ACCUTEK公司的发展小趣事

随着技术的不断进步,ACCUTEK公司意识到要想在竞争激烈的电子行业中脱颖而出,必须不断进行技术创新和产品升级。公司加大了对研发的投入,引进了一批高素质的研发人才,并与多所高校和研究机构建立了合作关系。经过数年的努力,公司成功开发出了多款具有自主知识产权的高精度数控设备,这些产品在市场上获得了广泛好评,为公司的发展奠定了坚实基础。

Curtis Instruments Inc公司的发展小趣事

Curtis一直致力于环保和低碳技术的研发与应用。公司的产品和服务广泛应用于电动汽车、混合动力汽车等环保型交通工具中,为减少碳排放、推动绿色出行做出了积极贡献。同时,Curtis还积极参与各种环保活动和社会公益项目,通过实际行动践行环保理念。

AUSTIN公司的发展小趣事

然而,好景不长。奥斯汀公司在全力投入研发的WW1车系上遭遇了挫折,销售不佳导致公司濒临破产。在这个关键时刻,奥斯汀汽车公司通过研发新的车型来寻求突破。1922年,Seven车系成功上市,凭借其卓越的性能和合理的价格,使得奥斯汀汽车转危为安,重新获得了市场的认可。

欧密格光电(Amicc)公司的发展小趣事

在合并与合作的背景下,奥斯汀汽车开始注重产品创新和多样化。公司不断推出新的车型,以满足不同消费者的需求。例如,奥斯汀A40和A50等车型在市场上取得了不错的销量。同时,奥斯汀汽车还注重技术研发和创新,不断提升产品的性能和品质。

艾华集团(AISHI)公司的发展小趣事

2020年,受全球疫情影响,许多中小电容器厂家面临供应链中断、生产受阻等困境。然而,艾华集团凭借其在行业内的深厚积累和强大的研发实力,迅速调整生产策略,优化供应链管理,成功应对了疫情带来的挑战。同时,公司还加大了对新兴市场的开拓力度,进一步巩固了在全球市场的地位。

问答坊 | AI 解惑

Vishay 推出新型超薄电感器

Vishay Intertechnology宣布推出占位面积为 2525,厚度仅为 3.0 毫米并且具有 1.0μH~22 μH 电感值的新型器件,从而扩展了其超薄、高电流的 IHLP 电感器系列。    凭借在各自封装尺寸类 ...…

查看全部问答>

matlab第二课---逻辑指令的用法!

逻辑就是或与非,位运算等等看看怎么回事!…

查看全部问答>

嵌入式系统SQLite开发

嵌入式系统应用SQLite开发需要注意那些问题? 另:    招聘,我公司(www.congxing.com.cn)招聘熟悉SQLite嵌入式开发的软件工程师。…

查看全部问答>

程序员的年龄限制

参加开发将近三个月了,却越来越困惑,首先是担心自己做程序员发展,其次感觉自己做的东西真是没什么深度,自己压根没用到任何什么算法什么东西的,大牛们给我指个路,程序这个路值的走下去么?…

查看全部问答>

求助—关于将st语言转化为plcopen的xml

大家好,现在开始做一个项目,涉及到将structure text语言转化为plcopen定义的xml文件,由于之前没有这方面经验,所以不知道有没有什么工具进行此方面工作,借此宝地特向各位高手求教,谢谢了。…

查看全部问答>

设计一个产品,最花精力是哪一部分?

最好说说是哪类产品. 主要是设计阶段,比如,方案,硬件,软件,调试,测试等等,可以补充, 调研,售后,维护这些可能伸缩性太大,不好比较. …

查看全部问答>

IAR中如何在C程序中定义section,以及在icf中初始化段

AR中如何在C程序中定义section,以及在icf中初始化段 比如我想在IAR的C程序中定义一个section,这个section只有一个函数 然后我想在icf中来初始化section,再在C程序中把这个section 的程序copy到ram中运行 实现步骤是 1)在C程序中定义一 ...…

查看全部问答>

关于输入捕获模式下数脉冲的个数,请大家帮忙啊

                                 输入捕获模式下数脉冲的个数时,频率大于20khz的就出错了,试图改变捕获的预分频值,结果是一样的,不知道怎么解决 ...…

查看全部问答>

SysTickPeriodSet();函数用法

请教高手 SysTickPeriodSet(1000)是多少秒?SysTickPeriodSet()的参数跟哪些配置有关?…

查看全部问答>

web版本Quartus ii 如何新建时序仿真文件(vector waveform file )

在ALTERA官网下载的web版本Quartus ii 如何新建时序仿真文件(vector waveform file )?是不是不能生成啊?  求解答…

查看全部问答>