C語言自增和自減

2021-10-03 00:15:09 字數 1931 閱讀 3033

乙個整數型別的變數自身加 1 可以這樣寫:

a = a +

1;

或者

a +=

1;

不過,c語言還支援另外一種更加簡潔的寫法,就是:

a++

;

或者

++a;
這種寫法叫做自加或自增,意思很明確,就是每次自身加 1。

相應的,也有a–和--a,它們叫做自減,表示自身減 1。

++和–分別稱為自增運算子和自減運算子,它們在迴圈結構中使用很頻繁。

自增和自減的示例:

#include 

intmain()

執行結果:

a=

10, b=

20a=

11, b=

19a=

12, b=

18

自增自減完成後,會用新值替換舊值,將新值儲存在當前變數中。

自增自減的結果必須得有變數來接收,所以自增自減只能針對變數,不能針對數字,例如10++就是錯誤的。

需要重點說明的是,++ 在變數前面和後面是有區別的:

++ 在前面叫做前自增(例如 ++a)。前自增先進行自增運算,再進行其他操作。

++ 在後面叫做後自增(例如 a++)。後自增先進行其他操作,再進行自增運算。

自減(–)也一樣,有前自減和後自減之分。

下面的例子能更好地說明前自增(前自減)和後自增(後自減)的區別:

#include 

intmain()

輸出結果:

a=

11, a1=

11b=

21, b1=

20c=

29, c1=

29d=

39, d1=

40

1 . 對於a1=++a,先執行 ++a,結果為 11,再將 11 賦值給 a1,所以 a1 的最終值為11。而 a 經過自增,最終的值也為 11。

2 . 對於b1=b++,b 的值並不會立馬加 1,而是先把 b 原來的值交給 b1,然後再加 1。b 原來的值為 20,所以 b1 的值也就為 20。而 b 經過自增,最終值為 21。

3 . 對於c1=–c,先執行 --c,結果為 29,再將 29 賦值給c1,所以 c1 的最終值為 29。而 c 經過自減,最終的值也為 29。

4 . 對於d1=d–,d 的值並不會立馬減 1,而是先把 d 原來的值交給 d1,然後再減 1。d 原來的值為 40,所以 d1 的值也就為 40。而 d 經過自減,最終值為 39。

可以看出:a1=++a;會先進行自增操作,再進行賦值操作;而b1=b++;會先進行賦值操作,再進行自增操作。c1=–c;和d1=d–;也是如此。

自增自減示例:

#include 

intmain()

輸出結果:

c=

11, d=

14

程式解析:

1 . 執行語句①時,因為是後自減,會先進行a-b運算,結果是 11,然後 b 再自減,就變成了 0;最後再將a-b的結果(也就是11)交給 c,所以 c 的值是 11。

2 . 執行語句②之前,b 的值已經變成 0。對於d=(++a)-(–b),a 會先自增,變成 13,然後 b 再自減,變成 -1,最後再計算13-(-1),結果是 14,交給 d,所以 d 最終是 14。

你的贊是對我最大的支援!!!

C語言自增自減

i,i 使用i之前,先使i的值加 減 1。i i 使用i之後,再使i的值加 減 1。其中 i和i 的作用相當於i i 1。但是 i和i 不同之處在於 i是先執行i i 1後,再使用i的值 而i 是先使用i的值後,再執行i i 1。例如 i 6a i i的值先變成7,再賦值給a,a的值才為7 b i ...

自增「 」和自減「 」

int x 10 int j j x 看這邊 system.out.println x int x 10 int j x x 看這邊 system.out.println x 第乙個會輸出11,第二個會輸出10。這是今天偶然看到的,而這個解釋聽起來比較容易理解 x 是乙個表示式,它的值是x,在這個表...

C語言 自增( ) 自減( )運算

1.作用 自增運算使單個變數的值增 自減運算使單個變數的值減 2.用法與運算規則 自增 自減運算子都有兩種用法 1 前置運算 運算子放在變數之前 變數 變數 先使變數的值增 或減 然後再以變化後的值參與其它運算,即先增減 後運算。2 後置運算 運算子放在變數之後 變數 變數 變數先參與其它運算,然後...