a | | b+c&&b-c 是按什么顺序计算的,

如题所述

如上面所说的,+/-是同一个优先级,||/&&是同一优先级,而+/-的优先级又比||/&&的优先级高,所以先算(b+c)(b-c),现算a | | b+c,如果这个式子的值为真,那么才和下个式子(&&b-c)进行运算,否则,整个式子的值为0.
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-05-06
要解决这个问题要知道它们的优先级,先算优先级高的在算优先级低的。在这个式子里+/-是同一个优先级,||/&&是同一优先级,而+/-的优先级又比||/&&的优先级高,同一优先级从左向右计算。
第2个回答  2008-05-06
算术运算符的优先级高于逻辑运算符的优先级,而且+和-的的结合性是从左到右的
自然先分别计算b+c,b-c ,然后按优先级,&&高于||似乎应该
先&&然后||,但是由于C语言中的&&和||比较特殊
他们的计算顺序严格的按从左到右进行
所以正确的是先||后&&
第3个回答  2008-05-06
先分别算a,b+c,b-c
若A=a,B=b+c,C=b-c
刚下一步判断
B&&C
若结果为R
最后算A||R
over:)
第4个回答  2008-05-06
先+,后-,然后&&,最后||

参考一下Visual C++ Language Reference - Operator Precedence and Associativity这个文章就可以了。

逻辑表达式a||b+c&&b-c的值为什么是1?(a=3,b=4,c=5)
(1)计算“b + c”的值是 9 ;(2)计算“b - c”的值是 -1 ;(3)计算“(b+c && b-c)”的值,等价于计算“9 && -1”,即为 1 ;(4)计算“a || b+c && b-c”的值,等价于计算“3 || 1”,即为 1 。故最终整个表达式的值是 1 。

C语言中,a=3,b=4,c=5; a||b+c&&b-c怎么理解?
= a || ((b + c) && (b - c))= 3 || ((4 + 5) && (4 - 5))= 3 || 1 = 1 按照优先级,先加减运算,后逻辑运算 而逻辑运算的几个操作数都是非0的,可以认为是1 因此最终结果为逻辑1

a||b+c&&b–c的值为几
a||b+c&&b–c,这个值不是1就是0,首先加减运算符的优先级比比较运算符优先级高,所以,要先计算b+c和b-c的值,如果这两个值有一个为0,那么这个算式就为0。只有b+c和b-c都不为0时,这个算式为1。所以a的值在这个算式中可以不考虑的。

c语言中运算符有哪几种,优先级顺序是怎样
C语言中,运算符除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符。运算符的运算优先级共分为15 级,1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定...

c语言的运算符优先级怎么排列?
按位与运算符【&】。第九级:按位异或运算符【^】。第十级:按位或运算符【|】。第十一级:逻辑与运算符【&&】。第十二级:逻辑或运算符【||】。第十三级:条件运算符【?:】。第十四级:赋值运算符【= += -= *= \/= %= >>= <<.= &= |= ^=】。第十五级:逗号运算符【,】。

四则运算的运算顺序是什么?
1、一般情况下,四则运算的计算顺序是:有括号时,先算括号里面的。只有同一级运算时,从左往右。含有两级运算,先算乘除后算加减。2、由于有的计算题具有它自身的特征,这时运用运算定律,可以使计算过程简单,同时又不容易出错。加法交换律:a+b=b+a 乘法交换律:a×b=b×a 加法结合律:(a+...

c语言中a&&b+c||b-c是什么意思
这是一个逻辑判断,含义是(a 不为0并且b+c不为0)或者b-c不为0,那么就是真,操作方法如下:1、首先打开devc++编辑器,定义两个变量a和b并赋值。2、第一个关系运算符符大于号(>)。3、第二个关系运算符大于等于(>=)。4、第三个运算符小于(<)。5、第四个运算符小于等于(<=),第...

c语言运算符优先级从高到低的顺序依次为?
c语言运算符优先级从高到低的顺序依次如下:优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。不同类型的运算符之间也有相应的优先级...

int a=0,b=4,c=5;则表达式a||b+c&&b!=c
a||b+c&&b!=c 按运算符优先级,组合成:a || ( (b+c) && (b!=c) )初始值已知是: int a=0,b=4,c=5;(b+c) 得 9,9是 “真”(b!=c) 因 b=4,c=5,b 不等于 c 也是“真”( (b+c) && (b!=c) ) “真”与 “真” 得 “真”a=0, a 是“...

int a = 3, b = 4, c = 5 ; 则表达式 a || b + c && b-c为
答案为1;支持bool运算的结果为true 前提: 逻辑运算只有2个结果; ture和false;首先: a,b,c都是非0零值, 其次运算符中算数运算符比逻辑运算符优先级高 其次: 逻辑运算符的值是非零为true 所以a || b+c && b-c 就是 3 || 7 &&-1 进一步就是 1 || 1 && 1 所以答案就是1;有的...

相似回答
大家正在搜