導航:首頁 > 編程語言 > 編程范圍自加自減

編程范圍自加自減

發布時間:2022-05-22 21:49:03

Ⅰ 什麼是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++中//是行注釋的意思。

程序的注釋是解釋性語句,您可以在 C++ 代碼中包含注釋,這將提高源代碼的可讀性。所有的編程語言都允許某種形式的注釋。

C++ 支持單行注釋和多行注釋。注釋中的所有字元會被 C++ 編譯器忽略。

C++中注釋的種類:

1、單行注釋:以雙斜線(//)開始,以換行符結束。當前雙斜線右側的所有內容都會被編譯器忽略。

2、界定符對注釋:以/*開始,以*/結束,可以包含出*/外的任意內容,包括換行符。當注釋界定符跨越多行時,最好能顯式指出其內部的程序行都屬於多行注釋的一部分。

C++所採用的風格是,注釋內的每行都以一個星號開頭,從而指出整個范圍都是多行注釋的一部分。

(2)編程范圍自加自減擴展閱讀

編程符號種類:

1、算術運算符

用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。

2、關系運算符

用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

3、邏輯運算符

用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

4、位操作運算符

參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

5、賦值運算符

用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

6、條件運算符

這是一個三目運算符,用於條件求值(?:)。

7、逗號運算符

用於把若干表達式組合成一個表達式(,)。

8、指針運算符

用於取內容(*)和取地址(&)二種運算。

9、求位元組數運算符

用於計算數據類型所佔的位元組數(sizeof)。

10、特殊運算符

有括弧(),下標[],成員(→,.)等幾種。

Ⅲ 求問編程中自增自減運算符的運算規則

首先聲明不同的編譯器對於++運算的結果差異性很大,下面的解釋僅僅針對你用的VC6.0;

1. 教科書上明確解釋:++在前,則是先運算自加;++在後在在運行完當前運算後再進行自加;

2.你的第一個程序其中a=x+(x++)+(++x)可以分解為:

3. 你的第二個程序中x=x+(x++)+(++x)可以分解為:


再次聲明,不同的編譯器結果不同,我曾經驗證過,例如在Tc2.0中a=x+(x++)+(++x)是這樣解釋的:


這種東西理解一次就足夠了,工作後基本不會用這種方式來寫的,在學校里考這些東西,現實意義非常小。

Ⅳ 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--;也
是如此。

Ⅳ 編程中關於自加自減得函數

int i=8;
cout<<i++<<endl; //++後綴,先取值再自增,i++=8,i=9
cout<<i--<<endl;//i--同上,先取值再自減,i--=9,i=8
cout<<++i<<endl;//++前綴,先自增再取值++i=9,i=9
cout<<--i<<endl;//--前綴,先自減再取值--i=8,i=8
cout<<-i++<<endl;//自增自減優先順序高於負號的,所以,i++=8,i=9,-i++=-8
cout<<-i--<<endl;//i--=-9,-i--=-9

Ⅵ C語言的自加自減到底從函數哪裡開始,從哪裡結束

我們一行一行分析:

for (x = 5; x > 0; x--) //從x=5開始,當x>0的值為false時停止循環。每次循環x自減。

if (x-- < 5) printf("%d", x); //x--的值就等於x,也就是說第一次是不執行的。這個語句同時也會將x自減。

else printf("%d", x++); //x++的值也等於x,但同時也會將x自增。第一次會執行這個語句,輸出為x-1(等於4),因為在判斷語句中x自減了。

所以,第一輪輸出為4。

第二輪,x因為for循環自減了,此時x-- < 5也已滿足,又因為在上一輪循環中加1,因此輸出4+1-1-1=2;

第三輪與第二輪相似,不同之處在於沒有執行printf("%d", x++),因此x的值減2,輸出1

Ⅶ c語言程序設計 編程題:自增自減運算 和後置。

不知道你C語言怎麼樣。。我想應該不是很好吧。 所以先解釋下自增自減運算符的意思,——(++)變數前表示變數先減1(+1)在使用變數的值。若運算符在變數後則表示先使用變數,然後變數再加1。。。下面舉個例子
#include〈stdio.h〉
main()

int a=5;
printf(「%d」,a——,a++,——a,++a)}

Ⅷ C語言中自增自減的簡單問題


第一題中間應該多了個加號,修改過後的運行結果如圖。

然後第一題的++a是每一次都先加1,然後計算,而a++是計算完成之後才加一。

所以第一題其實是4+4=8;

第二題是3+5=8;

然後a都是加了2次,都是5.

Ⅸ c語言關於自增自減運算的問題

你看這個代碼。先求的p結果是14 , 按我們算應該是13,但編譯器是在編譯過程中認為()裡面的優先順序的相同的,而且都是先自增,所以編譯器就把先把這兩個自增計算了,然後就是7+7了。

而下面是一樣的,前二個也是同時進行。後面才進行也就是7+7+8,最後為22. (我以前也問過,老師用編譯後的匯編代碼給我解釋的)

Ⅹ C語言自加自減問題

計算:從右往左,並輸出到「緩沖區」。

1、緩沖區是一堆棧

2、第一步:處理後面的「i--」。8進入緩沖區,i=7。緩沖區:8 <-(指針)

第二步:處理「i++」。7進入緩沖區,i=8。緩沖區:7 8<-

第三步:處理」--i「。8進入緩沖區,i=7.緩沖區:8 7 8

第四步:處理「++i」 先自增1,然後8進入緩沖區,i=8 .緩沖區: 8 8 7 8

3、輸出緩沖區數據(棧規則):8 8 7 8

另外自增 、自減 、還可能和編譯器有關系 。

(10)編程范圍自加自減擴展閱讀:

後綴表達式 2級

postfix-expression [ expression ],數組下標運算。

postfix-expression ( argument-expression-list),函數調用,括弧內的參數可選。

postfix-expression . identifier,成員訪問,

postfix-expression -> identifier,成員訪問,->號之前應為指針。

postfix-expression ++,後綴自增

postfix-expression --,後綴自減

( type-name ) { initializer-list }

( type-name ) { initializer-list , } 復合初始化,C99後新增。

閱讀全文

與編程范圍自加自減相關的資料

熱點內容
二次元表格編程 瀏覽:20
plc編程器保停 瀏覽:963
如何降低伺服器的內存佔用率 瀏覽:868
阿里雲伺服器是個什麼意思 瀏覽:817
國內最好的數控編程培訓學校 瀏覽:13
222乘104列是演算法 瀏覽:159
程序員溝通正確姿勢 瀏覽:969
魔玩app怎麼視頻推廣 瀏覽:960
程序員抽獎送禮 瀏覽:458
北京java程序員薪資 瀏覽:658
如何創建網路平台或者app 瀏覽:355
python隨機數生成控制概率 瀏覽:235
壓縮機並聯運行 瀏覽:899
兩位單片機 瀏覽:63
四川音樂類投檔線的演算法 瀏覽:650
建行app如何改轉賬卡 瀏覽:26
android開發升級 瀏覽:299
要火社區app進不去怎麼辦 瀏覽:826
安卓手機上的自定義功能怎麼用 瀏覽:230
方舟伺服器怎麼購買進去資格 瀏覽:44