㈠ c語言中自增自減運算符。怎樣理解
C語言的自增運算符是一個為方便使用而發明的縮寫方式,Basic沒有與之對應的語法,要想實現自增運算,就是用加法,像這樣 a = a + 1
㈡ 什麼是C語言中關於自加自減
自增分前綴自增和後綴自增。無論是什麼,執行自增都有1個副作用,就是原來變數的值會增加1。例如int a=1;a++;或int a=1;++a;執行後,a==2。
而他們的區別就在於整個自增表達式的值不同。如(a++)的值是變數a自增以前的值,如上面例子,(a++)==1。而(++a)的值則是變數a自增以後的值,即(++a)==1+1==2。
結合性分為左結合和右結合,只有優先順序相同時才看結合性,例如表達式a+b*c+d-e*f,因為乘法優先順序別高於加減,所以a+(b*c)+d-(e*f),又因+-運算是左結合,所以只a+(b*c)再(a+(b*c))+d再(a+(b*c)+d)-(e*f),假如是右結合,就先d-(e*f),也就反過來了。這里其實看不出有什麼區別,怎麼樣結果都一樣。
但看到*p++運算就不同了,因為*與++運算同一優先順序,左結合結果就是(*p)++,右結合就是*(p++),這是區別很大的,書上還很多例子,你可以自己去看的。
強制轉換問題就是在可以轉換的情況下按要求轉換。如float x=9.9;
則(int)x==9。將實型轉為整型是採用截掉小數部分的做法。
例如還可以整型轉字元常量等等,例如,int a=97;則(char)a=='a',因為字元a的ASCLL碼為97。
()裡面即是你要轉換的類型。
㈢ C語言 自增自減 誰能詳細說明一下。。。。謝謝了 我都暈了。。。。。。。
運算符的優先順序
要確定表達式的運算結果:
一、先確定運算符及其歸屬(按上面的運算符優先順序)
二、確定表達式的運算順序。
例一:
a=++b-++c;
相當於:
a=(++b)-(++c);
進一步擴展:
b=b+1;
c=c+1
a=b-c
例2:
a=++b+++c;
相當於:
a=(++(b++))+c;
在歸屬運算符時,後++優先順序高於前++,但運算是在最後執行。
進一步擴展:
b=b+1;//b的前++
a=b+c
b=b+1;//b的後++
㈣ 對c語言中自增自減的理解
printf()是從右到左入棧的,而且和編譯器有關,我這輸出不是你這個結果
從右到左,
1:a++
,入棧為1,a為2,
2:++a
,入棧為3,a為3,
3:a++,入
棧為3,a為4
㈤ C語言中的自增、自減是怎麼回事請詳細些。
自增有兩種i++和++i:
i++的意思是先把i值調出來參與運算,然後把i加1存儲;
++i的意思是先把i的值加1然後參與運算;
自減也有兩種i--和--i:
i--的意思是先把i值調出來參與運算,然後把i減1存儲:
--i的意思是先把i的值減1然後參與運算;
㈥ C語言中的自增自減是怎麼回事兒
比如說:i=1;i++;指的是i在原來基礎上運行到「i++」時,自行加1,但是「i++"的值不變,i的值變成2;而在「++i"中,」++i"和"i"的值都等於2,當「+」換為「—」時,同理。。。
㈦ C語言中的自加自減以及前綴後綴
前綴和後綴就是指++或--號在變數的前面或後面,如:++i就是前綴,b--就是後綴,如果是前綴就是在變數參加運算之前進行自增或自減運算,後綴則是在參與運算之後再進行自增或自減運算,對於這方面如果你有什麼不懂的話最好翻一翻書,或者在網上查一下講解我想很快你就會知道你想要得到的答案了!
㈧ c語言程序問題自加與自減
一個整數自身加一可以這樣寫:
a+=1;
它等價於a=a+1;。
但是在C語言中還有一種更簡單的寫法,就是a++;或者++a;。這種寫法叫做自加或自增;意思很明確,就是自身加一。
相應的,也有a--和--a,叫做自減,表示自身減一。
++和--分別稱為自增和自減運算符。
自增和自減的示例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10, b = 20;
printf("a=%d, b=%d\n", a, b);
++a;
--b;
printf("a=%d, b=%d\n", a, b);
a++;
b--;
printf("a=%d, b=%d\n", a, b);
system("pause");
return 0;
}
運行結果:
a=10, b=20
a=11, b=19
a=12, b=18
自增自減完成後,會用新值替換舊值,並將新值保存在當前變數中。自增自減只能針對變數,不能針對數字,例如10++是錯誤
的。
值得注意的是,++ 在變數前面和後面是有區別的:
++ 在前面叫做前自增(例如 ++a)。前自增先進行自增操作,再進行其他操作。
++ 在後面叫做後自增(例如 a++)。後自增先進行其他操作,再進行自增操作。
自減(--)也一樣,有前自減和後自減之分。
請看下面的例子:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=10, a1=++a;
int b=20, b1=b++;
int c=30, c1=--c;
int d=40, d1=d--;
printf("a=%d, a1=%d\n", a, a1);
printf("b=%d, b1=%d\n", b, b1);
printf("c=%d, c1=%d\n", c, c1);
printf("d=%d, d1=%d\n", d, d1);
system("pause");
return 0;
}
輸出結果:
a=11, a1=11
b=21, b1=20
c=29, c1=29
d=39, d1=40
a、b、c、d 的輸出結果相信大家沒有疑問,下面重點分析a1、b1、c1、d1:
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--;也
是如此。
㈨ C語言前後綴自增自減看不懂請解釋
這種場景可以這樣理解:
iResultPreA=++iNumber1;等同於iNumber1++; iResultPreA=iNumber1;
iResultLastA=iNumber2++;等同於iResultLastA=iNumber2;iNumber2++;
前綴在本語句執行前完成自加,後綴在完成操作後自加。