c語言裡面結合性是什麼意思,C語言中左右結合性什麼意思?

2021-04-11 15:44:08 字數 5481 閱讀 6912

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...