1樓:匿名使用者
仔細看了一下你的題目,並且在編譯器中執行了一下:
執行的結果如下:
接下來我們解析
內下為什麼是這個結果:
1、容++ : 優先順序為2,結合規則:自右至左。
2、|| 和 && :優先順序分別在12和11,結合規則為:自左至右。
3、++,--是算術運算子,而 ||, && 是邏輯運算子。
4、實際上++x || ++y && ++z;是一個邏輯表示式,整個運算過程遵從的是 || 和 && 的結合規則;而在邏輯的每一個條件中(++x, ++y, ++z),是一個運算表示式。
以上解釋如果對你有幫助,請採納下,謝謝。
c語言中左右結合性什麼意思?
2樓:
其實很簡單,它就是同優先順序操作符在語句中的「運算優先順序(或叫順序)」。比如12/3*4,/和*是同優先順序操作符,先算12/3呢還是先算3*4呢?由於/和*都是左→右結合的,所以12/3*4就被解釋為(12/3)*4,而不會被解釋為12/(3*4)。
再比如當p是指標時的*p++,由於*和++同級別,它們又是右→左結合的,所以被解釋為*(p++)而不會被解釋為(*p)++。從以上可知,對於不同優先順序的操作符,結合性就起不到什麼作用了。個人理解,僅供參考。
3樓:匿名使用者
對左邊還是右邊的操作物件產生影響。
c語言中右結合性和右結合性是什麼意思
4樓:匿名使用者
舉個例子
a=b+c+d
=是右結合的,所以先計算
(b+c+d),然後再賦值給a
+是左結合的,所以先計算(b+c),然後再計算(b+c)+dc語言中具有右結合性的運算子包括所在單目運算子以及賦值運算子(=)和條件運算子。其它都是左結合性.
c語言中單目運算子,結合性從左到右,分別是什麼意思??
5樓:匿名使用者
題目都是錯的。c語言中單目運算子,結合性從右到左
6樓:匿名使用者
單目運算子:只有一個運算元的運算子,如負號。對應的有雙目運算子(即需要兩個運算元,如除號/,大多為雙目)和三目運算子(唯一一個為?表示式)
結合性:是指當一個運算元左右各有一個運算子時,按運算子優先順序決定運算次序,當優先順序相同時,按結合性決定運算次序。
7樓:lq右邊
結合性從左到右,就是運算的順序是從左到右執行的,先運算左邊的再運算右邊的,如果結合性從右到左的話,就是運算順序從右邊到左邊了
c語言中的「右結合」是什麼意思?
8樓:四舍**入
舉個例子
a=b+c+d
=是右結合的,所以先計算(b+c+d),然後再賦值給a+是左結合的,所以先計算(b+c),然後再計算(b+c)+dc語言中具有右結合性的運算子包括所在單目運算子以及賦值運算子(=)和條件運算子。其它都是左結合性。
9樓:文化廚子
1、結合性是批在c語言運算子中,如果幾個運算子具有相同的優先順序時決定先執行哪一個。
2、右結合性,就是在表示式中最右邊的操作最先執行,然後從右到左依次執行。比如下面這個表示式:
int a,b=1,c=2;
a=b=c;
是先執行b=c呢?還是先執行a=b。如果按前者,a=結果為2,如果按後者,a的結果為1。
這時候結合性的作用就來啦。所有的賦值符(包括複合賦值)都具有右結合性,就是在表示式中最右邊的操作最先執行,然後從右到左依次執行。所以,最後a的值為2。
10樓:匿名使用者
表示式若有多個操作符,則操作符是從右向左結合的比如說 a+b+c
如果左結合就是(a+b)+c
如果右結合就是a+(b+c)
11樓:
以上答案都告訴你了
不過不要去使用這種結合
使用括號
將自己所有的運算用括號一步一步的括起來
別人看起來容易
這個是個良好的程式設計規範
!a&b++*c+d--
上面這個式子估計也就只有考試裡能出現
12樓:匿名使用者
就是操作符和右邊的變數結合,比如++a就是。左結合就比如b++
13樓:
所謂的結合性,只在相同優先順序的運算子出現時才能體現出來
c語言中的左結合性是什麼
14樓:風林火陰山雷
您好!很高興為您解答。
「 「左結合性」,即運算物件先與左面的運算子結合。」 ——《c程式設計》第三版p56,譚浩強著
不同級運算時,應首先考慮運算子的優先順序問題。
同級運算時,例如運算a-b+c,運算物件先與算式最左的運算子「 - 」結合,即先計算「a-b」,再由左至右依次和其他運算子結合計算。
望採納~如您還有不解,歡迎追問~
15樓:千鋒教育
意思是:從表示式右邊開始執行;只有同優先順序的運算子才具有結合性「自左至右」或者「自右自左」一說。
有些運算子的優先順序是錯誤的。
「當按照常規方式使用時,可能引起誤會的任何運算子」就是存在錯誤優先順序的運算子。
.的優先順序高於*。->操作符用於消除這個問題。
*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語言中記住兩個優先順序就夠了:乘法和除法先於加法和減法,在涉及其他操作符時一律加上括號。
結合性用於在幾個操作符具有相同的優先順序時確定先執行哪一個。
每個操作符擁有某一級別的優先順序,同時也擁有左結合性或者右結合性。所有的賦值符(包括複合賦值符)都具有右結合性(從右到左執行),因此可以使用連等的賦值形式。
唯一的三目運算子?:也是具有右結合性的。
所有優先順序相同的操作符,它們的結合性也相同,這是必須如此的。在函式呼叫中,各個引數的計算順序是不確定的。
16樓:匿名使用者
比如a+b-c,相當與(a+b)-c,也就是先算(a+b).這就是左結合性,對於同一優先順序的操作符,從左向右計算.
單目運算子一般具有右結合性.例如-a++,相當於-(a++)
17樓:流星不死
同一個算式 a-b+c 左結合性 :(a-b)+c 右結合性:a-(b+c)
c語言中的左結合性是什麼?
18樓:聊蒼斂曼珠
同一個算式
a-b+c
左結合性
:(a-b)+c
右結合性:a-(b+c)
19樓:鄭邦姓念露
意思是:從表示式右邊開始執行;只有同優先順序的運算子才具有結合性「自左至右」或者「自右自左」一說。
有些運算子的優先順序是錯誤的。
「當按照常規方式使用時,可能引起誤會的任何運算子」就是存在錯誤優先順序的運算子。
.的優先順序高於*。->操作符用於消除這個問題。
*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語言中記住兩個優先順序就夠了:乘法和除法先於加法和減法,在涉及其他操作符時一律加上括號。
結合性用於在幾個操作符具有相同的優先順序時確定先執行哪一個。
每個操作符擁有某一級別的優先順序,同時也擁有左結合性或者右結合性。所有的賦值符(包括複合賦值符)都具有右結合性(從右到左執行),因此可以使用連等的賦值形式。
唯一的三目運算子?:也是具有右結合性的。
所有優先順序相同的操作符,它們的結合性也相同,這是必須如此的。在函式呼叫中,各個引數的計算順序是不確定的。
20樓:祁馨姬令璟
比如a+b-c,相當與(a+b)-c,也就是先算(a+b).這就是左結合性,對於同一優先順序的操作符,從左向右計算.
單目運算子一般具有右結合性.例如-a++,相當於-(a++)
21樓:頓谷佼夜卉
您好!很高興為您解答。
「「左結合性」,即運算物件先與左面的運算子結合。」
——《c程式設計》第三版p56,譚浩強著
不同級運算時,應首先考慮運算子的優先順序問題。
同級運算時,例如運算a-b+c,運算物件先與算式最左的運算子「-」結合,即先計算「a-b」,再由左至右依次和其他運算子結合計算。
望採納~如您還有不解,歡迎追問~
有關c語言中運算子的結合性是什麼意思啊?
22樓:匿名使用者
左結合++、--運算優bai先級最高,先進du行變數的加(減)1運算
zhi,在進行剩
dao餘運算版
右結合++、--運算優先順序最低,最後權對變數進行加(減)1運算看下面的例子:
int a,b,c=1;
a=c++;/*先運算a=c,再執行c=c+1,最終結果:a=1,c=2*/
b=++c;/*先運算c=c+1,再執行b=c,最終結果:b=3,c=3*/
右結合性是什麼意思,C語言中右結合性和右結合性是什麼意思
右結合性 意思是從右向左執行運算 例如 a b c,按a b c 運算,左結合性 意思是從左向右執行運算 例如 a b c,按 a b c運算 除了賦值運算子外,所有二元運算子都是左結合的 右結合性 是什麼意思?右結合性 就是在c語言中表示式中最右邊的操作最先執行,然後從右到左依次執行。右結合性 讀...
c語言裡面si是什麼意思C語言中si什麼意思
s i 的意思是 s s i 將s的值加上i的值賦給s,i的值再自增1 s s i 就是s s i 是一個複合運算子,再比如x y 1 相當於x x y 1 s s i 就是s s i s等於s加i 即是s s i 擴充套件資料一 c語言複合賦值運算子 加賦值 減賦值 乘賦值 除賦值 求餘賦值 按位...
c語言裡面gets a 是什麼意思
gets是get string的縮寫,簡言之就是從輸入流中讀取一串字串,並放入其引數指向的地址中。c語言裡gets a 表示輸入一個字串到陣列a,a表示讀取一個字串存入a中,字串輸入結束標誌為換行符。比如 輸入321 cs dd回車 a中儲存為 321 cs dd 如果你定義一個字元陣列char a...