C语言运算符优先级和结合性一览表_第1页
C语言运算符优先级和结合性一览表_第2页
C语言运算符优先级和结合性一览表_第3页
C语言运算符优先级和结合性一览表_第4页
C语言运算符优先级和结合性一览表_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁。事实上在编程的时候也不需要考虑优先级的问题。因为如果不知道优先级高低的话,加一个括号就可以了,因为括号()的优先级是最高的。比如程序中:k=(j>i)&&(8==i);根据运算符的优先级,这条语句完全可以写成:k=j>i&&8==i;但是第一种写法别人一看就知道先计算谁后计算谁。而且加圆括号也是一种编程规范,因为程序不只是写给自己看。此外运算符还有“目”和“结合性”的概念,这个很简单。“目”就是“眼睛”的意思,一个运算符需要几个数就叫“几目”。语言中大多数的运算符都是双目的,也有单目和三目的。单目运算符比如逻辑非,如!1,它就只有一只眼睛,所以是单目的。整个语言中只有一个三目运算符,即条件运算符?:。优先级都是关于优先级不同的运算符参与运算时先计算谁后计算谁。但是如果运算符的优先级相同,那么先计算谁后计算谁呢?这个就是由“结合性”决定的。比如1+21314,乘和除的优先级相同,但是计算的时候是从左往右,即先计算乘再计算除,所以乘和除的结合性就是从左往右。语言中大多数运算符的结合性都是从左往右,只有三个运算符是从右往左的。一个是单目运算符,另一个是三目运算符,还有一个就是双目运算符中的赋值运算符=。双目运算符中只有赋值运算符的结合性是从右往左的,其他的都是从左往右。运算符的“结合性”也不要死记,在不断使用中就记住了。

血血名称血使用形式结合皿说明数组下标数组名常量表达式左到右圆括号表达式函数名形参表成员选择(对象)对象成员名成员选择(指针)对象指针成员名负号运算符表达式右到左单目运算符类型强制类型转换数据类型表达式自增运算符变量名变量名单目运算符自减运算符变量名变量名单目运算符取值运算符指针变量单目运算符取地址运算符变量名单目运算符逻辑非运算符表达式单目运算符按位取反运算符表达式单目运算符长度运算符表达式除表达式表达式左到右双目运算符乘表达式表达式双目运算符余数(取模)整型表达式整型表达式双目运算符

加表达式表达式左到右双目运算符减表达式表达式双目运算符左移变量表达式左到右双目运算符右移变量表达式双目运算符大于表达式表达式左到右双目运算符大于等于表达式表达式双目运算符小于表达式表达式双目运算符小于等于表达式表达式双目运算符等于表达式表达式左到右双目运算符不等于表达式表达式双目运算符按位与表达式表达式左到右双目运算符按位异或表达式表达式左到右双目运算符按位或表达式表达式左到右双目运算符逻辑与表达式表达式左到右双目运算符逻辑或表达式表达式左到右双目运算符条件运算符表达式表达式表达式右到左三目运算符赋值运算符变量表达式右到左^除后赋值变量表达式乘后赋值变量表达式取模后赋值变量表达式加后赋值变量表达式减后赋值变量表达式左移后赋值变量表达式右移后赋值变量表达式按位与后赋值变量表达式按位异或后赋值变量表达式按位或后赋值变量表达式逗号运算符表达式表达式…左到右上表中可以总结出如下规律:结合方向只有三个是从右往左,其余都是从左往右。所有双目运算符中只有赋值运算符的结合方向是从右往左。另外两个从右往左结合的运算符也很好记,因为它们很特殊:一个是单目运算符,一个是三目运算符。语言中有且只有一个三目运算符。逗号运算符的优先级最低,要记住。此外要记住,对于优先级:算术运算符>关系运算符>逻辑运算符>赋值运算符。逻辑运算符中“逻辑非!”除外。一些容易出错的优先级问题

上表中,优先级同为1的几种运算符如果同时出现,那怎么确定表达式的优先级呢?这是很多初学者迷糊的地方。下表就整理了这些容易出错的情况:优先近表皿经常误认为的结果实际皿的优先级高于( 操作符用于消除这个问题)所指对象的字段,等价于:对取偏移,作为指针,然后进行解除引用操作,等价于:高于是个指向 数组的指针,等价于:是个兀素为 指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论