1楼:
其实很简单,它就是同优先级操作符在语句中的“运算优先级(或叫顺序)”。比如12/3*4,/和*是同优先级操作符,先算12/3呢还是先算3*4呢?由于/和*都是左→右结合的,所以12/3*4就被解释为(12/3)*4,而不会被解释为12/(3*4)。
再比如当p是指针时的*p++,由于*和++同级别,它们又是右→左结合的,所以被解释为*(p++)而不会被解释为(*p)++。从以上可知,对于不同优先级的操作符,结合性就起不到什么作用了。个人理解,仅供参考。
2楼:匿名用户
对左边还是右边的操作对象产生影响。
c语言中左右结合性,怎么理解?
3楼:志当存高远
简单说就是,从表达式右边开始执行;
只有同优先级的运算符才具有结合性“自左至右”或者“自右自左”一说。
exp(不同优先级运算符,依据优先级高低进行运算):
int a = 1, b =10, c = 30;
int a = a * b + c;
因为 * 比 + 的运算符优先级高,所以
先计算a * b (先计算左边,未考虑结合性),在计算 10 + c结果是 a = 300
exp(同优先级运算符依据结合性进行运算):
int a, b = 1, c = 8;
a = b = c;
赋值运算符其结合性即为自右向左,即 a = ( b = c), 其结果是 b = 8, a = 8;
(错误答案:自左向右进行结合的话a = 1)
c语言中的左结合性是什么?
4楼:匿名用户
其实很简单,它就是同优先级操作符在语句中的“运算优先级(或叫顺序)”。
比如12/3*4,/和*是同优先级操作符,先算12/3呢还是先算3*4呢?由于/和*都是左→右结合的,所以12/3*4就被解释为(12/3)*4,而不会被解释为12/(3*4)。
再比如当p是指针时的*p++,由于*和++同级别,它们又是右→左结合的,所以被解释为*(p++)而不会被解释为(*p)++。
从以上可知,对于不同优先级的操作符,结合性就起不到什么作用了。个人理解,仅供参考。
1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“inter***选项”,如下图所示:
2、在打开的inter***选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:
3、在“安全设置-inter*** 区域”界面找到“java 小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:
5楼:聊苍敛曼珠
同一个算式
a-b+c
左结合性
:(a-b)+c
右结合性:a-(b+c)
6楼:郑邦姓念露
意思是:从表达式右边开始执行;只有同优先级的运算符才具有结合性“自左至右”或者“自右自左”一说。
有些运算符的优先级是错误的。
“当按照常规方式使用时,可能引起误会的任何运算符”就是存在错误优先级的运算符。
.的优先级高于*。->操作符用于消除这个问题。
*p.f变成了*(p.f)而不是(*p).f
高于*,于是int
*ap中的ap变成了元素为int指针的数组。
函数()高于*,因此,int
*fp()不再是函数指针了,而是一个函数,返回int
*。逗号运算符在所有运算符中优先级最低,所以,i=1,
2就成了(i
=1),
2而不是i
=(1,
2)。逗号运算符的值是最右边操作数的值,逗号运算符结合性从左至右,因此又称为顺序求值运算符。
在表达式中如果有布尔操作、算术运算、位操作等混合计算,始终应该在适当的地方加上括号。x=
f()+
g()*
h();
乘法先于加法执行,但是g()和h()的调用可能以任何顺序出现。
同样,f()可能在乘法之前调用,也可能在乘法之后调用。
优先级和结合性规则告诉你哪些符号组成一个意群,大部分这样的意群内部如何进行计算的次序是未定义的。
有些操作符,如&&和||等,其操作数的计算顺序是确定的,它们使用短路原则。
c语言中记住两个优先级就够了:乘法和除法先于加法和减法,在涉及其他操作符时一律加上括号。
结合性用于在几个操作符具有相同的优先级时确定先执行哪一个。
每个操作符拥有某一级别的优先级,同时也拥有左结合性或者右结合性。所有的赋值符(包括复合赋值符)都具有右结合性(从右到左执行),因此可以使用连等的赋值形式。
唯一的三目运算符?:也是具有右结合性的。
所有优先级相同的操作符,它们的结合性也相同,这是必须如此的。在函数调用中,各个参数的计算顺序是不确定的。
7楼:祁馨姬令璟
比如a+b-c,相当与(a+b)-c,也就是先算(a+b).这就是左结合性,对于同一优先级的操作符,从左向右计算.
单目运算符一般具有右结合性.例如-a++,相当于-(a++)
8楼:顿谷佼夜卉
您好!很高兴为您解答。
““左结合性”,即运算对象先与左面的运算符结合。”
——《c程序设计》第三版p56,谭浩强著
不同级运算时,应首先考虑运算符的优先级问题。
同级运算时,例如运算a-b+c,运算对象先与算式最左的运算符“-”结合,即先计算“a-b”,再由左至右依次和其他运算符结合计算。
望采纳~如您还有不解,欢迎追问~
c语言中右结合性和右结合性是什么意思
9楼:匿名用户
举个例子
a=b+c+d
=是右结合的,所以先计算
(b+c+d),然后再赋值给a
+是左结合的,所以先计算(b+c),然后再计算(b+c)+dc语言中具有右结合性的运算符包括所在单目运算符以及赋值运算符(=)和条件运算符。其它都是左结合性.
c语言里面结合性是什么意思,
10楼:匿名用户
仔细看了一下你的题目,并且在编译器中运行了一下:
运行的结果如下:
接下来我们解析
内下为什么是这个结果:
1、容++ : 优先级为2,结合规则:自右至左。
2、|| 和 && :优先级分别在12和11,结合规则为:自左至右。
3、++,--是算术运算符,而 ||, && 是逻辑运算符。
4、实际上++x || ++y && ++z;是一个逻辑表达式,整个运算过程遵从的是 || 和 && 的结合规则;而在逻辑的每一个条件中(++x, ++y, ++z),是一个运算表达式。
以上解释如果对你有帮助,请采纳下,谢谢。
c语言中的结合性是怎么回事?
11楼:碧血玉叶花
简单说就是,从表达式右边开始执
行;只有同优先级的运算符才具有结合回性“自左至右”或者答“自右自左”一说。
exp(不同优先级运算符,依据优先级高低进行运算):
int a = 1, b =10, c = 30;
int a = a * b + c;
因为 * 比 + 的运算符优先级高,所以
先计算a * b (先计算左边,未考虑结合性),在计算 10 + c结果是 a = 300
exp(同优先级运算符依据结合性进行运算):
int a, b = 1, c = 8;
a = b = c;
赋值运算符其结合性即为自右向左,即 a = ( b = c), 其结果是 b = 8, a = 8;
(错误答案:自左向右进行结合的话a = 1)
12楼:幸运的做人上人
结合性主要指的是运算符
c语言中的左结合性是什么c语言中算术运算
13楼:匿名用户
int a = 2;
你可以看一下意思是将2赋值给a,向左边走,所以是左结合性。
比如a=b=c;也是向左边走
c语言中的“右结合”是什么意思?
14楼:四舍**入
举个例子
a=b+c+d
=是右结合的,所以先计算(b+c+d),然后再赋值给a+是左结合的,所以先计算(b+c),然后再计算(b+c)+dc语言中具有右结合性的运算符包括所在单目运算符以及赋值运算符(=)和条件运算符。其它都是左结合性。
15楼:文化厨子
1、结合性是批在c语言运算符中,如果几个运算符具有相同的优先级时决定先执行哪一个。
2、右结合性,就是在表达式中最右边的操作最先执行,然后从右到左依次执行。比如下面这个表达式:
inta,b=1,c=2;
a=b=c;
是先执行b=c呢?还是先执行a=b。如果按前者,a=结果为2,如果按后者,a的结果为1。
这时候结合性的作用就来啦。所有的赋值符(包括复合赋值)都具有右结合性,就是在表达式中最右边的操作最先执行,然后从右到左依次执行。所以,最后a的值为2。
16楼:匿名用户
表达式若有多个操作符,则操作符是从右向左结合的比如说 a+b+c
如果左结合就是(a+b)+c
如果右结合就是a+(b+c)
17楼:
以上答案都告诉你了
不过不要去使用这种结合
使用括号
将自己所有的运算用括号一步一步的括起来
别人看起来容易
这个是个良好的编程规范
!a&b++*c+d--
上面这个式子估计也就只有考试里能出现
18楼:匿名用户
就是操作符和右边的变量结合,比如++a就是。左结合就比如b++
19楼:
所谓的结合性,只在相同优先级的运算符出现时才能体现出来
c语言中单目运算符,结合性从左到右,分别是什么意思??
20楼:匿名用户
题目都是错的。c语言中单目运算符,结合性从右到左
21楼:匿名用户
单目运算符:只有一个操作数的运算符,如负号。对应的有双目运算符(即需要两个操作数,如除号/,大多为双目)和三目运算符(唯一一个为?表达式)
结合性:是指当一个操作数左右各有一个运算符时,按运算符优先级决定运算次序,当优先级相同时,按结合性决定运算次序。
22楼:lq右边
结合性从左到右,就是运算的顺序是从左到右执行的,先运算左边的再运算右边的,如果结合性从右到左的话,就是运算顺序从右边到左边了
C语言中的左移《和右移》怎样运算的
1楼 云冷宰迎南 移位操作符的两个操作数必须是整型的。整个移位表达式的值的类型也是整型的,而且,左移位操作符与右移位操作符的运算并不对称。 2楼 hunter影 左移 是指向左移动 右移 是指向右移动 具体指的是二进制数平行移动 例如 001101 《2 变化 110100 其他也相同 c程序中 左...
c语言里(21)什么结果,在C语言中(-1)&&(-1)结果是?
1楼 匿名用户 是逻辑与运算,其结果只能是0或1, 当参与运算的两个数中有一个是0,其结果就是02是非0值 1也是非0值 所以, 2 1 的结果是1 在c语言中 1 1 结果是? 2楼 匿名用户 在c或c 中 是与的操作符,只要操作符两边都为真 不为0就为真 ,结果就为真。因为 1的二进制码 1的二...
c语言中fun3int什么意思,c语言中fun3(intx)什么意思
1楼 匿名用户 定义了一个函数fun3里面的形参是整型的x 2楼 恋莘婷 是不是fun3 int x 啊? 这是一个函数,fun3是函数名,x是参数定义,int是参数类型 c语言中fun3 intx 什么意思 3楼 匿名用户 因为不能直接用主函数里的j m,而k跟这两个有关,所以需要把j和m两个变量...