計算機C語言中,K與k有什麼區別

2021-03-05 09:21:57 字數 4532 閱讀 6758

1樓:匿名使用者

k++ 和 -k++ 只是數值符號有區別,++操作在這裡是一樣的。

不過++操作有個特別的地方需要注意,放在變數前後的效果是有點不同,特別用在表示式裡面的時候。

k++ 和 ++k 不一樣,看下面的例子:

int i=4;

printf("\ni=%d\n", i);

printf("\ni=%d\n", i);

i=4;

printf("\ni=%d\n", i);

printf("\n4-++i=%d", 4-++i);

printf("\ni=%d\n", i);

i=4;

printf("\ni=%d\n", i);

printf("\n-i++=%d\n", -i++);

printf("\ni=%d\n", i);

i=4;

printf("\ni=%d\n", i);

printf("\n-++i=%d\n", -++i);

printf("\ni=%d\n", i);

輸出結果是:

i=44-i++=0

i=5-------------------

i=44-++i=-1

i=5-------------------

i=4-i++=-4

i=5-------------------

i=4-++i=-5

i=5也就是說,當用在表示式裡面的時候,++在前和在後的運算次序是不一樣的,

++在前則先對變數+1,然後再參與表示式的運算;++在後則先參與表示式運算,然後才對變數+1。

對於初學者,或者專家也好,不建議使用太複雜的表示式,**的可讀性也非常重要。

複雜的表示式並不會生成更快的編譯**,反而會使別人或自己看不懂**表達的意思,

想想一年或幾年後,你自己再來看這些**還看得明白嗎?

2樓:戈壁與清潭

int k=4;

int j;

j=k++; //j=4, k=5

k=4;

j=-k++; //j=-4,k=5

3樓:幻☆天芒

其實就是多了個負號而已、沒什麼區別呀!

如果k=1,執行前面的那句會輸出1,執行後面的那一句會輸出-1.

計算機c語言中k++和++k在什麼情況有區別

4樓:寧靜の樂章

這麼給你解釋吧。前置遞增++k這個表示式執行兩步,將k自加一,然後返回的結果是改變後的k。

而後置的k++第一步是自加一,但是第二步返回的結果是改變之前的k的拷貝值。

5樓:萢萢

輸出、傳引數、賦值給別的變數等時有區別。

c語言 k++什麼意思

6樓:匿名使用者

在c語言中,如果一個數字想

自身加1,可以使用k = k + 1;這種表示式。如果開始時k=1,則經過此運算後,k的值變為2,c語言考慮到程式的簡捷性,所以使用k++,它與k = k + 1;的作用是一樣的。

另外,你需要知道k++與++k的不同,二者雖然都是在原來基礎上加1,但前者是用完k再加1,另一個是加完1再使用k。給你個小例子

int k = 0;

如果是printf("%d",k++); //列印0如果是printf("%d",++k); //列印1如果還有什麼問題可以加798244577一起討論

7樓:洪振梅稅畫

就是把k與=後面的數相加後再賦給k;

即:k+=3等價於k=k+3

但二者區別是前者運算速度快。

8樓:岔路程式緣

k是一個指標,這句話的意思是k指向的地址中存放的變數值加上2。

舉例:如果a=2,k=&a,則執行*k+=2後,a=4,相當於執行了a=a+2。

9樓:計算機之祖

!k%2==1,這是一個表示式

這裡面有三個運算子,按照優先順序從高到低依次為:!,%,==所以表示式相當於(!k)%2==1

可以發現:

當k為假(k等於0)時,整個表示式為真,表示式的值為1當k為真(k為非0)時,整個表示式為假,表示式的值為0

10樓:貪吃的xiao熊

k+=3 就是 k=k+3的意思

c的值是'b',那麼進入switch語句時為第二條case語句,執行k+=2,此時k=6,由於沒有break語句,即不跳出switch,那麼繼續執行第三條case語句,此時k=7,輸出結果,完畢!

【延展】

c語言:

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

11樓:匿名使用者

k++,就是你下一次用到k的時候已經被+1了,int k=0;k++; int a = k;//這個時候k是1了(附:比方說i=0,y=i++,這時i自增,y還是0,下次再用時i=1,與之相近的有字首++i,表示式y=++i為1,下次用時i也增到1)

12樓:匿名使用者

++叫作自增運算子k++或++k在某些時候等價於k=k+1; 但在有些時候就會不一樣例如:int i,j;j=2;i=j++;執行完上面的三條語句後i=2,j=3,這裡i=2是有原因的,因為當++在後面時整個表示式(j++)的值是變數的原值,即2,而i=j++是將整個後面的j++這個表示式的值賦給i,不是將j的值賦給i。int i,j;j=2;i=++j;執行完上面的三條語句後i=3,j=3,這裡i=3是因為當++在前面時整個表示式的值為變數執行自加後的值。

13樓:匿名使用者

先將k的所有位依次取反,然後再求上一步的數除以2的餘數,最後判斷這個餘數是否等於1

一句話說,是判斷k的非除以2所得的餘數是否等於1

14樓:匿名使用者

++k單獨用等價於k=k+1;混合用如做為陣列下標使用(a[++k]),

等價於k=k+1,然後認為表示式++k的值為新k。

k++單獨用跟++k是一樣的;混合用如做為陣列下標使用(a[k++]),

等價於認為表示式k++的值不變,是老k;然後陣列a使用表示式的值老k獲得元素

a[k]的值xx。然後,做k=k+1。

也就是說混合用時,表示式本身雖一,卻蘊含了兩個操作;——但其實單獨用時也蘊含了同樣

兩個操作。只不過單獨用時,表示式自身的值被捨棄。

15樓:匿名使用者

即是k=k+1;自增運算

c語言中 "k+=" 是什麼意思啊 ?

16樓:匿名使用者

就是把k與=後面的數相加後再賦給k;

即:k+=3等價於k=k+3

但二者區別是前者運算速度快。

17樓:御堂楓

k+=3 就是 k=k+3的意思

c的值是'b',那麼進入switch語句時為第二條case語句,執行k+=2,此時k=6,由於沒有break語句,即不跳出switch,那麼繼續執行第三條case語句,此時k=7,輸出結果,完畢!

希望能看懂我的意思

18樓:匿名使用者

k+= 3 ==> k = k + 3

沒有break,switch語句中,跳到case 'b'分支 執行 k+=2之後沒有跳出,繼續執行 k+=1。

這是c系列語言的獨特的地方之一,歡迎進入c迷陣。

c語言m++&&k++與k++&&m++有什麼不同?

19樓:匿名使用者

對&&操作如果發現前面的邏輯運算值為0,則不再進行後面的操作,直接認為整個式子值為0.

另外,x++運算的優先順序相當低,甚至低於賦值運算,故先執行&&運算在執行++運算

20樓:匿名使用者

一樣的,你的試卷上的答案恰恰也說明是一樣的

c語言中k=n++ k=++n具體運用的時候有什麼不同。。。

21樓:**米蘭

k=n++

先k=n

然後 n=n+1

k=++n

先n=n+1

然後k=n

22樓:清風or朗月

至於具來

體的應用,在c語言後自面的迴圈裡面會用到bai,i作為迴圈變數du自zhi加1

還有在資料結構裡面指標dao和陣列等會用到它的用法的區別關鍵就是n加上1的時刻不同,前一個是先採用了n的值以後加上1,變成n=n+1;後面那個是先把n變成n=n+1後,再採用n的值,現在的n的值要比原值大1

23樓:匿名使用者

n++是參與計算之後n的值加一,++n是先加我一再參與計算

計算機C語言中小於等於是還是,計算機C語言中小於等於是還是線上等,謝謝

在所bai有的c語言中,包括微控制器duc語言,均是用 來表示 zhi小於等於的。dao c語言是一門通用計算機編內程語言,應用廣泛。容c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。儘管c語言提供了許多低階處理的功能,但仍...

計算機二級C語言和C 有什麼區別

一個程序導向 一個是物件導向的 而c 是在c的基礎上擴充套件的 c都能在c 上執行,有時只是作相應的變化就可以 沒什麼區別。唯一的區別就是在上機考試的時候,要看是哪個版的程式。如果是c 平臺的話,那無所謂的,因為它即可以編譯c也可以編譯c 如果是c平臺的話。那麼你只可以做c 來考試,否則無法編譯,你...

整數和小數在計算機語言中的區別,大學計算機C語言程式設計中int和float有什麼區別線上等,謝謝

可以用floor 函式來判斷,它將返回引數的整數部分,所以 include double x if floor x x puts 是一個專整數屬 else puts 是一個小數 計算機是怎麼區別定點小數和定點整數的?前面的,ieee754是處理浮點數的。所謂定 點表示法,是指在計算機中所有數的小數點...