c裡的和區別是什麼?還有其他的嗎

2021-05-18 01:44:26 字數 5918 閱讀 7865

1樓:匿名使用者

x++ 先取x的值,然後自加;

++x 先自加,然後取x的值。

如x=1;y=x++,結果:y=1,x=2如x=1;y=++x,結果:y=2,x=2類似的還有「--」,是自減,再沒有其他的類似運算子

++x和x++有什麼區別?

2樓:mei_陳先生

++x是x的值先自增1,再計算x的值。

x++是先計算x的值,再將x的值自增1。

舉例:int x=10;

system.out.println(x++);

system.out.println(x);

//第一個輸出10,  x++先在當前表示式中使用x的值,然後再將x的值自增1,第二個輸出11,因為經過上一條指令x自增了1。

int x=10;

system.out.println(++x);

system.out.println(x);

//第一個輸出11,  ++x 先將x的值自增1,然後再在當前表示式中使用x的值,第二個也是輸出11,經過上一條指令x自增了1。

拓展內容:

程式語言(programming language),是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。

最早的程式語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的程式語言,而且每年仍有新的程式語言誕生。很多程式語言需要用指令方式說明計算的程式,而有些程式語言則屬於宣告式程式設計,說明需要的結果,而不說明如何計算。

程式語言的描述一般可以分為語法及語義。語法是說明程式語言中,哪些符號或文字的組合方式是正確的,語義則是對於程式設計的解釋。有些語言是用規格檔案定義,例如c語言的規格檔案也是iso標準中一部份,2023年後的版本為iso/iec 9899:

2011,而其他語言(像perl)有一份主要的程式語言實現檔案,視為是參考實現。程式語言俗稱「計算機語言」,種類非常的多,總的來說可以分成機器語言、組合語言、高階語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程式來執行的,程式是計算機要執行的指令的集合,而程式全部都是用我們所掌握的語言來編寫的。

所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的程式語言有兩種形式:組合語言和高階語言。

3樓:o默化

但他們是單獨的式子的時候 ,沒區別 但是當他們在其餘的表示式中的時候就有了

x++是先輸出x的值在進行自加

而++x是先自加然後在輸出x的值

4樓:仁秀雲考寅

哇晒這個問題看似很簡單啊~~我來縷一縷~~先給你解釋

x!=0

和!x==0

的不同第一個表示式:是將x和0直接進行值得對比,看是否相等;

第二個表示式:是將x取非,之後再將取非的結果與0進行比較;

這兩個表示式的運算過程不一樣,但是得出的結果是一樣的。

就好像a+b-c

和a-c+b

一樣,結果意義一樣,計算過程不一樣。。能明白嗎~~你要記住!=這個運算子和==,<=,>=是一類的,屬於關係運算子,是進行數值比較的,

他並不能看做是!(邏輯非)和=(賦值運算子)的組合,兩個!符號是不同意義的。

然後看最後一個問題

!x=0

這個表示式

就跟上兩個表示式完全不同了,

上面兩個是比較,然後得出true或者false的比較結果,這個是賦值表示式啦,是對x進行賦值啦,對x的值進行了改變。

不明白再問我吧~~

5樓:海邊出來的風陽

首先,兩個操作都是自增操作,都只能對變數進行該操作,但是兩種自增有些許區別

++x  先將x的值自增1,然後再在當前表示式中使用x的值。

x++  先在當前表示式中使用x的值,然後再將x的值自增1。

舉例:(1)int x=1;system.out.

println(x++);    //輸出1,  x++先在當前表示式中使用x的值,然後再將x的值自增1,system.out.println(x);     //輸出2,經過上一條指令x自增了1

(2)int x=1;system.out.println(++x);    //輸出2,  ++x 先將x的值自增1,然後再在當前表示式中使用x的值,system.

out.println(x);     //輸出2,經過上一條指令x自增了1。

x++實際上分為三個步驟 取值,計算,賦值 例如x=1,x++, 實際上jvm定義了一個快取值y y=x;取值(只運算一次) y=y+1;

計算 x=y;賦值 而++x,步驟不一樣, y=x;取值(只運算一次) x=y;賦值 y=y+1;計算 這就是書上說的x++是先計算後賦值 ++x是先賦值後計算。

拓展資料:

x前置後置++都是x+1的意思,前置++x是說先加1再賦值,如:int a = ++x; 結果是a=x+1;後置x++是說先賦值再加1,如:int b = x++;結果為b=x。

6樓:齊納擊穿

++x先對x做自加運算,在使用x的值。x++是先使用x的值再自加運算

7樓:匿名使用者

++x 是先運算,然後x再做加法;後者相反!

8樓:匿名使用者

有很大區別!!!!!

9樓:小男孩白鯊

x++是先

取值再自增

++x是先自增再取值

這種寫法的效率和x=x+1 ; x+=1; 相比是最高效的,直接取x的記憶體地址 然後自增。效率最低的是x=x+1 需要先取右側x的地址,然後+1 再去左側x地址,將右值傳遞給左值(編譯器不知道兩個x是同一個x)

c語言中x++和++x有什麼區別?

10樓:手機使用者

x++ 是先運算後 + 1 x = 5 比如printf('%d',x++); 輸出的結果是:5 ++x 是先+1 後運算 同樣x = 5 printf('%d',++x); 輸出的結果是:6

11樓:巢秀榮容子

區別是--*x是x地址使用前就減1,*x--使用時按原值。這兩個都是每迴圈一次,地址減1.

++x 是什麼意思,它與x++有什麼區別?

12樓:匿名使用者

++x和x++都表示x的值加1

不同的是

++x是先將x的值加1,然後才參加運算;

x++則是先參加運算,然後再把x的值加1。

13樓:滄海雄風

比如x=1;

b=++x

那麼b =2

先自加 再賦值

如果是b=x++;

那麼b=1

先賦值 再自加

明白了嗎

14樓:匿名使用者

另外,前置自加還可以作左值,例如

++x = 3; //正確

x++ = 3;//錯誤

15樓:匿名使用者

int x=3;

int y1=0,y2 =0;

y1= ++x;

//則y1 = 3

y2 = x;

//則y2 = 4;

y1 = x++;

//則y1 = 5;

y2= x;

//則y2 = 5;

c語言中x++和++x的區別?

16樓:匿名使用者

c語言中提供了自增1運算子

++和自減1運算子--

而且,這兩種運算子,還分為字首運算和字尾運算

如:int a=5;

a++;   //字尾運算,表示a=a+1 = 5+1=6

a--;     //字尾運算,表示a=a-1 = 6-1=5

--a;     //字首運算,表示a=a-1 = 5-1=4

++a;   //字首運算,表示a=a+1 = 4+1=5

以上單獨使用自增1或自減1運算子,字首運算和字尾運算沒有區別,其結果都是完成變數a的自加1或自減1

字首運算和字尾運算的區別在於:字首運算,先運算,再使用變數;字尾運算,先使用變數,再運算。如:

int a=5;

printf("a=%d\n", ++a );  //字首運算,先運算a=a+1=5+1=6,再使用變數a,輸出結果a=6

a=5; //重新賦值為5

printf("a=%d\n", a++ );  //字尾運算,先使用變數a,輸出結果a=5,再運算a=a+1=5+1=6

void main()

17樓:mei_陳先生

++x是x的值

先自增1,再計算x的值。

x++是先計算x的值,再將x的值自增1。

舉例:int x=10;

system.out.println(x++);

system.out.println(x);

//第一個輸出10,  x++先在當前表示式中使用x的值,然後再將x的值自增1,第二個輸出11,因為經過上一條指令x自增了1。

int x=10;

system.out.println(++x);

system.out.println(x);

//第一個輸出11,  ++x 先將x的值自增1,然後再在當前表示式中使用x的值,第二個也是輸出11,經過上一條指令x自增了1。

拓展內容:

程式語言(programming language),是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。

最早的程式語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的程式語言,而且每年仍有新的程式語言誕生。很多程式語言需要用指令方式說明計算的程式,而有些程式語言則屬於宣告式程式設計,說明需要的結果,而不說明如何計算。

程式語言的描述一般可以分為語法及語義。語法是說明程式語言中,哪些符號或文字的組合方式是正確的,語義則是對於程式設計的解釋。有些語言是用規格檔案定義,例如c語言的規格檔案也是iso標準中一部份,2023年後的版本為iso/iec 9899:

2011,而其他語言(像perl)有一份主要的程式語言實現檔案,視為是參考實現。程式語言俗稱「計算機語言」,種類非常的多,總的來說可以分成機器語言、組合語言、高階語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程式來執行的,程式是計算機要執行的指令的集合,而程式全部都是用我們所掌握的語言來編寫的。

所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的程式語言有兩種形式:組合語言和高階語言。

18樓:楓璽

c語言中x++和++x的區別如下:

1、自增的順序不同

x++表示x自增1後再參與其它運算。

++x是x參與運算後,x的值再自增1。

2、自增型別不同

x++屬於後置自增運算。

++x屬於前置自增運算。

擴充套件資料前置後置區別的舉例

1、a = i++;

相當於 a = i; i++;

2、a = ++i;

相當於 i++; a = i;

3、int c;

int d = 10;   //  測試自增、自減c = ++d;      // ++d 是先對 d 的值加 1,再使用 d 的值執行該行命令

int e = 10;   // 測試自增、自減c = e++;      // e++ 是先使用 e 的值執行該行命令,執行完後再對 e 的值加 1

c語言裡雙層陣列裡a裡,a和a有什麼區別?是不是都是指該

a 0 與a 0 與該陣列的首地址相同。a 3 4 這個二維陣列表示的3行4列邏輯排列如下 a 0 0 a 0 1 a 0 2 a 0 3 a 1 0 a 1 1 a 1 2 a 1 3 a 2 0 a 2 1 a 2 2 a 2 3 除錯程式的執行結果證明,a 0 與a 0 的值是一樣的。a 0 ...

駕校考駕照C1和C2的區別是什麼

c1駕照準駕小型 微型載客汽車以及輕型 微型載貨汽車 輕 小 微型專項作業車等車型。c2駕照則為自動擋小型車駕照。需要注意的是,考了c1駕照可以開自動擋的小型車,但考了c2駕照不能開小型手動擋汽車。c1駕照考試時使用手動擋汽車,一般多為桑塔納 皮卡等車型。c2駕照考試難度較低,使用自動擋汽車,以捷達...

貓和狗的區別是什麼,貓和老虎的區別是什麼?

貓和狗都bai 是人們喜愛的寵物,他du們最典zhi型的區別是 1 貓和狗的外dao形不同,貓的爪子會縮版進趾裡,狗不權能。2 貓的眼睛會隨著時間的不同會有變化,狗不會。3 貓的腳下有肉墊,狗沒有。4 貓是貓科類動物,狗屬於犬科。5 家貓的祖先據推測是起源於古埃及的沙漠貓,波斯的波斯貓,已經被人類馴...