在c语言中,运算符的优先级的全记?

如题所述

附录Ⅶ 运算符和结合性 优先级 运算符 含义 要求运算对象的个数 结合方法 1 ( ) [ ] → · 圆括号 下标运算标 指向结构体成员运算符 结构体成员运算符 自左至右 2 ! ~ ++ -- - (类型) * & sizeof 逻辑非运算符 按位取反运算符 自增运算符 自减运算符 负号运算符 类型转换运算符 指针运算符 地址与运算符 长度运算符 1 (单目运算符) 自右至左 3 * / % 乘法运算符 除法运算符 求余运算符 2 (双目运算符) 自左至右 4 + - 加法运算符 减法运算符 2 (双目运算符) 自左至右 5 << >> 左移运算符 右移运算符 2 (双目运算符) 自左至右 6 <<=︺>>= 关系运算符 2 (双目运算符) 自左至右 7 == != 等于运算符 不等于运算符 2 (双目运算符) 自左至右 8 & 按位与运算符 2 (双目运算符) 自左至右 9 ^ 按位异或运算符 2 (双目运算符) 自左至右 10 ︱ 按位或运算符 2 (双目运算符) 自左至右 11 && 逻辑与运算符 2 (双目运算符) 自左至右 12 ‖ 逻辑运算符 2 (双目运算符) 自左至右 13 ?: 条件运算符 2 (双目运算符) 自左至右 14 =+=-=*= /=%=>>=<<= &=^=︱= 赋值运算符 2 自右至左 15 , 逗号运算符(顺序求职运算符) 自左至右 说明: (1)同一优先级的运算符优先级别相同,运算次序由结合方向决定。例如,*与/具有相同的优先级别,其结合方向为自左至右,因此,3*5/4的运算次序是先乘后除。一和++为同一优先级,结合方向为自右至左,因此-i++相当于一(i++)。 (2)不同的运算符要求有不同的运算对象个数,如十(加)和-(减)为双目运算符,要求在运算符两侧各有一个运算对象(如3+5、8-3等)。而++和-(负号)运算符是一元运算符,只能在运算符的一侧出现一个运算对象(如-a、i++、--i、(float)i、sizeof(int)、*p等)。条件运算符是C语言中唯一的一个三目运算符,如x?a:b。 (3)从上述表中可以大致归纳出各类运算符的优先级: 初等运算符( )[ ]→ ↓ 单目运算符 ↓ 算述运算符(先乘除,后加减) ↓ 关系运算符 ↓ 逻辑运算符(不包括!) ↓ 条件运算符 ↓ 赋值运算符 ↓ 逗号运算符 以上的优先级别由上到下递减。初等运算符优先级最高,逗号运算符优先级最低。位运算符的优先级比较分散。为了容易记忆,使用位运算符时可加圆弧号。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-23
大 体的趋势要记得:单目运算符的优先级最高。然后算术运算符>关系运算符>逻辑运算符>赋值运算符。 算术运算符就先乘除后加减,关系运算符就大于小于不等于等于,其中等于和不等于的优先级<其他的。。逻辑运算符中的&&大于||

C语言中运算符优先级排序
5、左移动运算符【<<】、右移动运算符【>>】;6、关系运算符【< 】【>】【<=】【 >= 】;7、等于运算符【==】、不等于运算符【!=】;8、按位与运算符【&】;9、按位异或运算符【^】;10、按位或运算符【|】;11、逻辑与运算符【&&】;12、逻辑或运算符【||】;13、条件运算符【?

C语言:!(x+y)+z-1 && y+z\/2 跪求高手解答 不胜感激。 谢谢!!
算数运算符优先于逻辑运算符。先算(x+y),再算(x+y)-z,再算(x+y)-z-1。若(x+y)-z-1的结果为非零数,则!(x+y)-z-1的值为0。(x+y)-z-1的值为0,则!(x+y)-z-1的值为1。先算z\/2,再算y+z\/2。若y+z\/2的值为0,那么整个表达式的值为0。若左边(x+y...

算术运算符,文本运算符,引用运算符和比较运算符优先级?
位运算符的优先级比较分散。除了赋值运算符、条件运算符、单目运算符三类的平级运算符之间的结合顺序是从右至左,其他都是从左至右。C语言运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 []数组下标 数组名[常量表达式]左到右 -- ()圆括号 (表达式)\/函数名(形参表)-- .成员...

C语言基础知识
7.C语言支持枚举,并且枚举和int直接强制类型转换即可,比.NET方便;8.#define声明宏定义直接在编译时替换,不进行类型检查,const声明常量则可以进行类型检查;9.运算符的优先级记忆比较麻烦,还是()可靠;10.goto并不是一无是处,在不考虑程序可读性的情况下可能获得更高的效率;11.函数实际也可以与特殊...

自学C语言要先学习什么呢?
但是C语言中的优先级的运算并不是千篇一律的,只能说是在大多数情况下,有些运算符的优先级有其自己的特点,因此这点大家要注意。例如条件表达式:条件?结果1:结果2,这种表达式很多朋友都知道,它的作用与IF…ELSE…条件判断语句很雷同,它运算时的优先级就不是按照C语言的规则来完成的。所以说对于优先级各位编程爱好...

运算符和表达式之间有什么联系?
C语言处理括号的方法与几乎所有的计算机语言相同:强迫某个运算或某组运算的优先级升高。2.6.3 关系和逻辑运算符 关系运算符中的“关系”二字指的是一个值与另一个值之间的关系,逻辑运算符中的“逻辑”二字指的是连接关系的方式。因为关系和逻辑运算符常在一起使用,所以将它们放在一起讨论。 关系和逻辑运算符...

学习C语言,是不是都要把那些句柄啊,类名啊什么的那些作用全部记住?
用不着,你也记不住,光那些标识符就几大本哩。但你要知道它们的运作机制,这样在解决问题时就知道从哪里下手;至于它们的一些拼写,用时可以查手册;写得多了也就会记住一些常用的。况且,C\/C++是允许自定义标识符的,即在你具体开发某个项目时,若觉得系统提供的一些常用标识符难记,则可以通过宏...

C语言课程设计 成绩处理程序
1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。2、每个C语言程序中main函数是有且只有一个。3、在函数中不可以再定义函数。4、算法的是一定要有输出的,他可以没有输入。5、break可用于循环结构和switch语句。6、逗号运算符的级别最低。第一章1)...

c语言的题目!!
x||y = 0.当然我没有记各个符号的优先级,所以不知道是先算!x还是先算x||y,你可以查优先级表,如果先算!x那么最终结果是1因为!x=0,0||y = 0||4 = 1。2 c||b = 1;-b==-2显小于1是真,所以a=1,c也等于1,因此a==c是真,结果是1。3 2,但凡有括号的,虽然表达式全部...

printf输出标示多了怎么办
在学习中,只要我们对此合理进行分类,找出它们与我们在数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。 先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级,从高到低,优先级...

相似回答