版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。赋值运算符。其它的都是从左至右结合。是与函数相关,[]与数组相关,而->及.是取构造成员。其次是单目运算符,全部的单目运算符具有一样的优先级,因此在我认为的真正的运*p++与*(p++)等效是毫无疑问的。接下来是算术运算符,*、/、%的优先级固然比+、-高了。移位运算符紧随其后。其次的关系运算符中,<<=>>===!=高一个级别,不大好理解。全部的规律操作符都具有不同的优先级〔单目运算符出外〕规律位操作符的“与“比“或“高,而“异或“则在它们之间。跟在其后的&&比||高。接下来的是条件运算符,赋值运算符及逗号运算符。C4个运算符规定了运算方向,它们是&&、||、条件运算符及赋值运算符。&&、||都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值时,就不再计算右边表达式的值。如a=0&&b;&&0,则右边表达式b就不再推断。在条件运算符中。如a?b:caabc之中的一个进展求值。赋值表达式则规定先对右边的表达式求值,因此使a=b=c=6;成为可能。初——单——算,关——逻,条——赋——逗断句如上。怎么记忆呢?我是这样记忆的:“”内表示运算符的简称。“初”次“单”独找你“算”账,〔由于你和关羽有仇〕“关”羽带着兵巡“逻”〔由于你躲了起来〕“挑”着“豆腐”〔当了卖豆腐的——实际上是“赋”“逗”2023-4-815:43回复我是这样记得:一个自称黑的初学者连编程都不会还算什么黑客,把自己关起来反思吧,规律都没有条理,由于你不认真学!还找理由说由于天赋不够,真逗``[2023-1-3019:22:00|Author:盛方单片机]C444-单目,9个:!~++---负号(类型) 合方向:自右向左〕26==等于!=不等于|按位或2&&规律与||规律或〔结合方向:自右向左〕11*=/=%=>>=<<=&=^=|= 〕1结合方向自右向左的只有三类:赋值、单目和三目,其它的都是从左至右结合。自己今日写程序时候把关系运算符号和位规律的优先级弄反就不出问题。如:if〔P1OUT&BIT0==0〕P1OUT^=BIT0; 是就翻转,即点亮LED.这行程序是错误的。可两边加上括号,即if〔〔P1OUT&BIT0〕==0〕,或是直接用:P1OUT|=BIT0;是与函数相关,[]与数组相关,而->及.是取构造成员。正的运算符中它们具有最高的优先级,又由于它们都是从右至左结合的,因此*p++与*(p++)等效是毫无疑问的。,*、/、%的优先级固然比+、-高了。移位运算符紧随其后。全部的规律操作符都具有不同的优先级〔单目运算符出外,!和~〕跟在其后的&&比||高。接下来的是条件运算符,赋值运算符及逗号运算符。&&、||、条件运算符及赋值运算符。&&、||都是先计算左边表达式的值,当左边表达式的值能确定整个表达式的值a=0&&b;&&0,则右b在条件运算符中。如a?b:c;先推断aabc进展求值。赋值表达式则规定先对右边的表达式求值,因此使a=b=c=6;成为可能。经高人教育,记住了一句话,用于记住常用运算符的优先级,终身受用:“(规律)非算(术运算符)关(系运算符)(规律)与(规律)或条(件运算符)赋(值运算符)“,tiaoxi方法不是很优雅,但是很奏效,假设有更好的记忆法,可以提出来,以防本人让历史重演标签:杂谈C中运算符记忆规律(2023-10-23标签:杂谈C++操作符的优先级操作符及其结合性 功能 用法
分类:学习L ::L ::L ::L .L ->L []L L R ++R --R typeidR typeid
类作用域成员选择成员选择下标函数调用类型构造ID运行时类型ID
::nameclass::namenamespace::nameobject.memberpointer->membervariable[expr]name(expr_list)type(expr_list)lvalue++lvalue--typeid(type)typeid(expr)R 显示强制类型类型转换转换R sizeof 对象的大小
cast_name<type>(expr)sizeofexprRsizeofRRsizeofR++R--R~R!R-R+R*R&RRnewRdeleteRdelete[]L->*L.*L*L/L%L+L-L<<L>>L<L<=L>L>=L==R!=R&R^R|R&&R||R?:R=R*=,/=,%=R+=,-=R<<=,>>=R&=,|=,^=RthrowL,规律非解引用取地址乘法除法加法减法位左移位右移小于大于相等不等位与位或符合赋值操作逗号
sizeof(type)++lvalue--lvalue~expr!expr-expr+expr*expr&expr(type)exprnewtypedeleteexprdelete[]exprptr->*ptr_to_memberobj.*ptr_to_memberexpr*exprexpr/exprexpr%exprexpr+exprexpr-exprexpr<<exprexpr>>exprexpr<exprexpr<=exprexpr>exprexpr>=exprExpr==exprExpr!=exprExpr&exprExpr^exprExpr|exprExpr&&exprExpr||exprExpr?expr:exprLvalue=exprLvalue+=expr……ThrowexprExpr,expr记忆方法:--摘自《C语言程序设计有用问答》 -吕凤翥 吕 问题:如何记住运算符的15种优先级和结合性?解答:C语言中运算符种类比较繁多,优先级有15种,结合性有两种。如何记忆两种结合性和15种优先级?下面表达一种记忆方法。结合性有两种,一种是自左至右,另一种是自右至左,大局部运算符的结合性是自左至右,只有单目运算符、三目运算符的赋值运算符的结合性自右至左。优先级有15种。记忆方法如下:记住一个最高的:构造类型的元素或成员以及小括号。记住一个最低的:逗号运算符。剩余的是一、二、三、赋值。意思是单目、双目、三目和赋值运算符。在诸多运算符中,又分为:算术、关系、规律。两种位操作运算符中,移位运算符在算术运算符后边,规律位运算符在规律运算符的前面。再细分如下:算术运算符分 *,/,%高于+,-。=高于==。规律运算符中,除了规律求反〔〕是单目外,规律与〔&〕高于规律或〔|。〔〔)〔)〔|。15种优先级都记住了,再将记忆方法总结如下:去掉一个最高的,去掉一个最低的,剩下的是一、二、三、赋值。双目运算符中,挨次为算术、关系和规律,移位和规律位插入其中初单算,关逻,条赋逗〔我认为最好的断句〕这样记:《一道简洁算术题》①我“初”次做了一道“简”单的“算术”题。②由于我没看懂题目内在的“关系”和“规律”。〔G→L〕③以致乱用“条件”,变量乱“赋值”。从而导致了运算的错误。这么简洁的题目啊,我闹了笑话。〔也即“逗”〕C语言运算符优先级顺口溜[转]醋坛酸味灌味落跳福豆44个运算符醋-初等,4个:()[]->指向构造体成员.构造体成员坛-单目,9个:!~++---负号(类型) *指针&取地址sizeof长度〔结合方向:自右向左〕酸-算术,5个:*/%+-减味-位移,2个:<<>>灌-关系,6个:<<=>>===等于!=不等于味-位逻,3个:&按位与^按位异或|按位或落-规律,2个:&&规律与||规律或跳-条件,1个,三目:?: 〔结合方向:自右向左〕福-赋值,11个:=+=-=*=/=%=>>=<<=&=^=|= 〔结合方向:自右向左〕豆-逗号,1个:,结合方向自右向左的只有三类:赋值、单目和三目,其它的都是从左至右结合。一个简洁的口诀,可以让你在很段的时间里记忆C语言运算符优先级别,过目不忘……括号成员第一; //括号运算符[]成员运算符. ->全体单目其次; //全部的单目运算符比方++--+(正)-(负)指针运算*&乘除余三,加减四; //这个“余“是指取余运算即%移位五,关系六; //移位运算符:<<>>,关系:><>=<=等等于(与)不等排第七; //即==!=位与异或和位或; //这几个都是位运算:位与(&)异或(^)位或(|)“三分天下“八九十;规律或跟与 //规律运算符:||和&&十二和十一; //留意挨次:优先级(||) 底于优先级(&&)条件高于赋值, //三目运算符优先级排到13位只比赋值运算符和“,“高//需要留意的是赋值运算符很多!逗号运算级最低! //逗号运算符优先级最低由于CC++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全有用于C++.C++的优先级的!2023-11-2016:21优先决括号成员第一; //括号运算符[]成员运算符. ->全体单目其次; //全部的单目运算符比方++--+(正)-(负)指针运算*&乘除余三,加减四;//这个“余“是指取余运算即%//等于(与)不等排第七;//即==!=//(&)异或(^)位或(|)“三分天下“八九十;规律或跟与; //规律运算符:||和&&十二和十一; //留意挨次:优先级(||) 底于优先级(&&)条件高于赋值, //三目运算符优先级排到13位只比赋值运算符和“,“高//需要留意的是赋值运算符很多!逗号运算级最低//逗号运算符优先级最低C++.但是应当能够兼容,大家可以比较一下他们的C++的优先级的!***********************************************************************************************************************C4215一、赋值运算符赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为‘=’。这里并不是等于的意思,只是赋值,等于用‘==’表示。留意:赋值语句左边的变量在程式的其他地方必需要声明。得已赋值的变量我们称为左值,由于他们出目前赋值语句的左边;产生值的表达式我们称为右值,由于她他们出目前赋值语句的右边。常数只能作为右值。
count=5;total1=total2=0;第一个赋值语句大家都能理解。其次个赋值语句的意思是把0运算的,也就是说从右端开头计算。这样他先total2=0;然后total1=total2;那么我们这样行不行呢?(total1=total2)=0;total1=total2语句的左边是不允许表达式存在的。二、算术运算符C符号功能+单目正-单目负*乘法/除法%取模+加法-减法下面是一些赋值语句的例子,在赋值运算符右侧的表达式中就使用了上面的算术运算符:Area=Height*Width;num=num1+num2/num3-num4;运算符也有个运算挨次问题,先算乘除再算加减。单目正和单目负最先运算。取模运算符(%)用于计算两个整数相除所得的余数。例如:a=7%4;a37%43。那么有人要问了,我要想求他们的商怎么办呢?b=7/4;b1。或许有人就不明白了,7/41.751个整数相除时,所得到的结果照旧是整数,没有小数局部。要想也得到小数局部,7.0/47/4.0,也即把其中一个数变为非整数。那么怎样由一个实数得到他的整数局部呢?这就需要用强制类型转换了。例如:a=(int)(7.0/4);7.0/41.75,假设在前面加上(int)就表示把结果强制转换成整型,这1a=(float)(7/4)a单目减运算符相当于取相反值,假设是正值就变为负值,假设是负数就变为正值。单目加运算符没有意义,纯粹是和单目减构成一对用的。三、规律运算符C00符号功能
&&规律和||规律或!规律非5!3;0||-2&&5;!4;当表达式进展&&运算时,只要有一个为假,总的表达式就为假,只有当全部都为真时,总的式子才为真。当表达式进展||运算时,只要有一个为真,总的值就为真,只有当全部的都为假时,总的式子才为假。规律非(!)运算是把相应的变量数据转换为相应的真/假值。假设原先为假,则规律非以后为真,假设原先为真,则规律非以后为假。更有一点格外重要,当一个规律表达式的后一局部的取值不会影响整个表达式的值时,后一局部就不会进展运算了。例如:a=2,b=1;a||b-1;a=2b-1的表达式就不会再计算了。四、关系运算符关系运算符是对两个表达式进展比较,返回一个真/假值。符号功能>大于=大于等于>=右移赋值&=位规律和赋值|=位规律或赋值^=位规律异或赋值上面的十个复合赋值运算符中,后面五个我们到以后位运算时再说明。那么看了上面的复合赋值运算符,有人就会问,到底Total=Total+3;和Total+=3;A=A+1A计算了两次,对于复合运算符A+=1,表达式A仅计算了一次。一般的来说,这种差异对于程式的运行没有多大影响,不过当表达式作为函数的返回值时,函数就被调用了两次(以后再说明),而且假设使用一般的赋值运算符,也会加大程式的开销,使效率降低。七、条件运算符C/假检测,然后依据结果返回两外两个表达式中的一个。?:在运算中,首先对第一个表达式进展检验,假设为真,则返回表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房地产开发与销售合同
- 金融史课件教学课件
- 《视频转场》课件
- 《石油产品的性质》课件
- 2024年度建筑行业标准制定与推广合同3篇
- 化妆品合同范本
- 康复护理与临床护理的区别
- 《打造魅力班会》课件
- 钢材供货合同范本4篇
- 劳动合同转外包补偿标准
- 建设新型能源体系提高能源资源安全保障能力
- GB/T 22082-2024预制混凝土衬砌管片
- 江苏省无锡市锡山区天一中学2025届高一物理第一学期期末质量检测试题含解析
- 《IC品质控制》课件
- 2024年事业单位招聘考试计算机基础知识复习题库及答案(共700题)
- 阿尔茨海默病的诊断
- 2024年时事政治题库附参考答案(综合题)
- 2024-2030年中国度假酒店行业未来发展趋势及投资经营策略分析报告
- 德勤-集团信息化顶层规划方案
- 2025年蛇年年度营销日历营销建议【2025营销日历】
- 部编版五年级语文上册第六单元习作《我想对您说》教学课件
评论
0/150
提交评论