C++运算符的结合性,单目,双目是什么意思啊?

三个词:结合性,单目,双目。
急求,谢谢

1 结合性指的是运算符出现的时候,与哪边的操作数结合进行运算。
比如逻辑非运算就是右结合,会与操作符!右侧的表达式进行运算。

2 单目双目指的是运算符出现时参与运算的表达式个数。
单目是只有一个操作数,即只和一个表达式有关,执行运算,比如逻辑非(!), 位操作的取反(~)运算等。
双目是指运算符两边的表达式均会参与运算,此类运算符在C++中是最多的,包括数学运算(+=*/%),逻辑运算(&&,||), 位运算(&,^,|)等。
除此外,C++中还存在三目运算符?:, 运算符中间和两边的三个表达式均会参与运算,形式为
expr1?expr2:expr3。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-06
单目只得是运算符边只有1个变量比如
int x;
!x ;
!就是一个单目运算符
双目就是2变都是变量
int x,y;
x<y;
<就是一个双目运算符

结合性是抄来的自己看看把
在标准C语言的文档里,对操作符的结合性并没有作出非常清楚的解释。一个满分的回答是:它是仲裁者,在几个操作符具有相同的优先级时决定先执行哪一个。

每个操作符拥有某一级别的优先级,同时也拥有左结合性或右结合性。优先级决定一个不含括号的表达式中操作数之间的“紧密”程度。例如,在表达式a*b+c中,乘法运算的优先级高于加法运算符的优先级,所以先执行乘法a*b,而不是加法b+c。

但是,许多操作符的优先级都是相同的。这时,操作符的结合性就开始发挥作用了。在表达式中如果有几个优先级相同的操作符,结合性就起仲裁的作用,由它决定哪个操作符先执行。像下面这个表达式:

int a,b=1,c=2;

a=b=c;

我们发现,这个表达式只有赋值符,这样优秀级就无法帮助我们决定哪个操作先执行,是先执行b=c呢?还是先执行a=b。如果按前者,a=结果为2,如果按后者,a的结果为1。

所以的赋值符(包括复合赋值)都具有右结合性,就是说在表达式中最右边的操作最先执行,然后从右到左依次执行。这样,c先赋值给b,然后b在赋值给a,最终a的值是2.类似地,具有左结合性的操作符(如位操作符“&”和“|”)则是从左至右依次执行。

结合性只用于表达式中出现两个以上相同优先级的操作符的情况,用于消除歧义。事实上你会注意到所有优先级相同的操作符,他们的结合性也相同。这是必须如此 的,否则结合性依然无法消除歧义,如果在计算表达式的值时需要考虑结合性,那么最好把这个表达式一分为二或者使用括号。
第2个回答  2011-07-06
结合性:运算符优先级别相同时,自左往右还是自右往左,比如单目运算符是自右向左
单目运算:某些运算符只要一个操作数就能进行运算,如自增++自减 --
双目运算:运算符需要两个操作数,大多数运算符都这样,如:> < + - * / %本回答被提问者采纳
相似回答