⑴ c語言中的i++與++i的使用區別舉例說明
c語言i++和++i的區別:
1、i++式子值為原來的值,就是通俗說的「先賦值再加1」;
2、而++i式子值為i變化後的值,也就是「先加1後賦值」。
而在for循環中,如果要表示遞增,兩種都可以。
例如:
如果i的初始值是0,使用後再加1,則輸出i++為0;
如果i的初始值是0,使用前先加1,則輸出++i為1。
(1)i1與c語言的區別擴展閱讀:
C語言運算符的特點
1、C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。
2、C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3、不同的變數類型可以用結構體(struct)組合在一起。
4、只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。
5、部分的變數類型可以轉換,例如整型和字元型變數。
6、通過指針(pointer),C語言可以容易地對存儲器進行低級控制。
7、預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
⑵ C語言中++i 和i++有啥區別啊
i++和++i都是c語言里的自增,但是它們自增的順序不同。++i表示,i自增1後再參與其它運算,而i++ 則是i參與運算後,i的值再自增1。
for循環里循環變數增值用i++,而不用++i是因為在循環結構里需要循環變數來結束循環,而使用i++則會導致本來應該繼續的循環少執行一次,所以循環結構里通常都是循環變數在一次循環結構執行完成之後再自增。
(2)i1與c語言的區別擴展閱讀
i++和++i前置後置區別的例子:
1、a = i++;
相當於 a = i; i++;
2、a = ++i;
相當於 i++; a = i;
3、int i=3;
int j=4;
int a = i++;
int b = ++j;
printf("%d, %d
", a, b);
結果是3,5。++前置:i自增1後再參與其它運算;++後置:i參與運算後,i的值再自增1」。很明顯,a = i++;由於是先執行賦值運算,再自增,所以結果是a=3,i=4;而b = ++j。
⑶ 在c語言中1<<i與i<<1的區別是什麼
1<<i是把1左移i位,每次左移以為就是乘以2,所以1<<i的結果是1乘以2的i次方
i<<1就是把i左移一位,即i乘以2,假如i=5,最後結果就是5*2=10
至於為什麼左移一位是乘以2,這是運算器內部機理,說起來就更多了,計算機做乘法運算的時候不是一個個的相加,而是用移位來實現的。>>這個符號是右移,與左移相反,右移是除以2.
這里還有一點容易搞錯的,就是移位符號的左邊是需要計算的數,右邊是需要移動的位數。
⑷ c語言i=i++和i=i+1區別如何理解
i++;
++i;
上面這兩個語句沒有什麼區別,都等價於
i=i+1;
但是一旦將
i++
++i
寫到一個表達式裡面,就像你說的
i=i++;
這樣就有區別了,想必老師們也經常提到,就不多說了,這里單說i=i++和i=i+1區別。
單從表面上來看,沒有什麼區別,因為結果是一樣的,但是將C語言的一個不能再拆解的語句可以用匯編語言進行「拆解」,這個你可以通過編譯器看一下就清楚了
7: i = i++;
0040102F mov eax,dword ptr [ebp-4]
00401032 mov dword ptr [ebp-4],eax
00401035 mov ecx,dword ptr [ebp-4]
00401038 add ecx,1
0040103B mov dword ptr [ebp-4],ecx
8: i = i+1;
0040103E mov edx,dword ptr [ebp-4]
00401041 add edx,1
00401044 mov dword ptr [ebp-4],edx
⑸ C語言,i--和--i有什麼區別,怎麼用
--i和i--都是自減運算符
--i稱為前綴運算,i--稱為後綴運算
前綴運算後,表達式的值為原變數值減1;
後綴運算後,表達式的值仍為原變數值;
而變數值不論前綴運算還是後綴運算都減1。
例如:i=10;
--i的值為原變數值減1,是9;現在的變數i也是9
i=10
i--的值為原變數值,是10;而變數i現在就是9
⑹ C語言裡面i 和 i有什麼區別,不是很理解。
前者本次運算為原值後者本次加一運算
先用再加先加再用
前自增和後自增吧
i
是先使用i,用完以後再對i進行
1;i是先對i進行
1,然後在使用i;例如:i=3;a=i
;與i=3;b=
i;得到的結果分別是:a=3
和
b=4
前置自加返回的是加1後的值,
所以返回對象本身.
而後置操作是先返回舊的值,
然後在加1.請參考
C
Primer
(第四版)
第五章
表達式
⑺ c語言加加i和i加加有什麼區別
i加加和加加i都是c語言里的自增,但是它們自增的順序不同。加加i表示,i自增1後再參與其它運算,而i加加則是i參與運算後,i的值再自增1。
相關介紹:
C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟體。
二十世紀八十年代,美國國家標准局為了避免各開發廠商用的C語言語法產生差異,給C語言制定了一套完整的美國國家標准語法,稱為ANSI C。作為C語言最初的標准。
2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
C語言編譯器普遍存在於各種不同的操作系統中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C語言的設計影響了眾多後來的編程語言,例如C++、Objective-C、Java、C#等。
⑻ 我想知道C語言中++i與i ++的區別,請講詳細一點,謝謝啦!!
++i在求整個表達式的值之前(使用i的值之前)先將i的值增1個,用變的值再參與整個表達式的運算;而i++則是先用操作數i的當前值參與所在表達式的運算,待整個表達式運算完成後,再將i增1.
如 x=i++的計算順序是: ① n→x ② n+1→n 運算後x的值是5,n的值是6.
而x=++i的計算順序是: ①n+1→n ②n→x 運算後x的值是6,n的值是6
⑼ C語言里1.0/i與1/i有什麼區別
如果i是整型,1.0除以i會轉換為浮點除,結果是浮點,1除以i則會整型除法,結果為整型。比如i等於2,1.0/i等於0.5,1/i等於0