問一題C語言的問題 for i 0 i5執行後變數i為什麼是1,請一步步講解謝謝

時間 2021-05-07 20:01:51

1樓:

i++<5的意思其實有2個步驟

i=i+1;

i<5;

所以是先加1了之後再和5比較,所以變數i是1

2樓:匿名使用者

i++就是i=i+1

1<5

3樓:

誰說是1了,命名是6啊,你說的是迴圈一次還是迴圈結束

4樓:若amp惜

i++是先計算後得值的,即第一次i++是先計算得到for(i=0;0<5;),執行完之後i得值1,第二次是for(i=0;1<5;).明白否?關鍵在於i++和++i的區別。

求助!c語言 執行語句「for(i=1;i++<5;);"後變數i的值是?

5樓:聽不清啊

c語言 執行語句「for(i=1;i++<5;);"後變數i的值是 6

因為當i==4時,(隨後i變為5)判斷為真,執行迴圈

當i==5時,(隨後i變為6)判斷為假,退出迴圈

c語言中執行語句for(i=1;i++<4;);後,變數i的值為什麼是5?新手初來乍到,剛學c語言,還望大家多多幫助

6樓:匿名使用者

首先你要明白i++和++i的區別。前者是用了再自加,後者是先加再用。其次你要知道這個for語句一個帶空語句的迴圈。

當i=3時i++也是3。3<4,比較完之後i就自加,為4。 所以執行迴圈體(空語句),再執行表示式二即:

i++<4;4<4為假。但是之後也會自加i,只是不會執行了迴圈體。所以i會等於5。

不知道請不清楚。

7樓:風吹魂

首先要明白,i++<4就是先用i和4比較,然後再進行i=i+1;

前面的就不說了,當i=4時,就是先用4和4比較,不符合條件,不進行迴圈。但i++這一步還是要進行的。原因是i++<4;是一個表示式。比較完成後再進行自加才算完成這一表示式。

8樓:大大dada大大

i++是先判斷後加1,++i是先加1後判斷。

第一次迴圈i=1,i++=2

第二次迴圈i=2,i++=3

第三次迴圈i=3, i++=4

第四次判斷4<4不成立,判斷後加1,那麼i=5了。

9樓:

i+++表示用後加1,用了1次i後i的值就會自動加1了.

10樓:1314521濛濛

因為i++是先使用後自增。一開始i為1,後i變為2,然後2和4比較,再加1變為3,然後又判斷,再自增,最後結果為5.

11樓:伍拾步

i++<4

是先判斷i是否小於4

再執行i++的,i=4時<4不能成立,之後再執行i++就是i=5了建議去看下i++與++i的區別

12樓:匿名使用者

因為i++的意思式運算後自加一,注意與++i並不是一回事,所以在與4比較完後,自加一就是5了,呵呵

c語言中,for(i < 5;i >=0;i++)的迴圈執行完畢後i結果是0還是-1??

13樓:君上沙夏

這個得看你的i初值如果小於零那就是i本身,如果i>=0那就是無限迴圈剛才在dev上測試的

14樓:匿名使用者

很明顯是-1;可以用一下**測試一下

for(i < 5;i >=0;i++);

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

15樓:匿名使用者

#include

int main()

你用gcc再編譯一下自這個程式看看?

肯定是-1的,如果是0,那麼是符合迴圈條件的。

16樓:匿名使用者

-1不然不退出迴圈。。。。。。。。。。。。。。。。

執行語句 for(i=1;i++ < 4;); 後變數 i 的值是5,怎麼理解?

17樓:樂酷科技

呵呵 i++是i的當前值啊 i++<4要成立的話 i=3 然後自加為4怎麼會是5呢?

至於for(m=1;m<=5;m++) 你看 當m=5時仍然是滿足m<=5的 所以再執行m++後m的值就是6了

c語言,for迴圈問題for(i=0;i<=1;++i)這樣的迴圈會執行幾次,最後i的值是多少?

18樓:

是那樣理解的,實在不放心,執行驗證就可以了

19樓:匿名使用者

for迴圈的基本語法你應該看過的,再簡單說下

第一個語句是迴圈前執行的操作,一般是用來初始化計數器,這個語句只執行一次

第二個語句是迴圈進行的條件,是一個判斷表示式,如果為真迴圈繼續,否則退出迴圈

第三個語句是每次迴圈執行完畢,判斷是否繼續迴圈之前執行,每迴圈一次執行一次

下面看這個題的分析

i進入迴圈 0 i<=1為真,進入,第一次迴圈

第一次迴圈後 1 i<=1為真,第二次迴圈

第二次迴圈後 2 i<=1為假,退出

所以一共執行2次,i=2

以後可以用迭代法走查,然後有條件的話可以用編譯器除錯。不過最好不要過分依賴編譯器,要有解決問題的能力,這樣會好很多

c語言的問題,for(i=1;i++<4;)執行完後i是多少啊,步驟啊

20樓:vic白菜

5 i++後置++ 4<4不成立退出時自增為5

21樓:牟涆單于丹蝶

最後結果應該是4.

第一次迴圈,i=1,自加一次得2,小於4成立,繼續迴圈;

第二次迴圈,i=2,自加一次得3,小於4成立,繼續迴圈;

第三次迴圈,i=3,自加一次得4,小於4不成立,迴圈終止;

需要注意的是,'++'的運算優先順序高於'<'的優先順序,所以先進行++運算,再判斷條件是否成立

c語言問題:執行語句for(i=1;i++<4; ); 後,變數i的值是多少啊??

22樓:羿淑蘭逄己

答案是c哦,回答選b的,這是個迴圈題,因為++比<的優先順序高,所以先執行i++進行i的自增運算此時i等於2,繼續迴圈直到i的值大於4時不符合條件自動跳出迴圈

23樓:媯春俟賦

選b.給你把他轉成容易看懂的.

inti=1;

for(;;)//如果i<4就什麼也不做,直接跳到下一行else//如果i>=4就直接跳出迴圈

i++;//最後把i自加

}當i=3的時候,不會跳出迴圈,所以i自加,i=4了當i=4的時候,就會條出迴圈,i不會自加了.

所以,最後i=4

c語言中為什麼for(i=0;i<3;i++) printf("*"); 為什麼表示式1執行1次

24樓:匿名使用者

執行3次

第一次 i=0,i<3,輸出*,i+1;

第二次 i=1,i<3,輸出*,i+1;

第三次 i=2,i<3,輸出*,i+1;

第四次 i=3,i=3,程式終止。

這一題考的是for迴圈問題,如果還有不懂的地方請追問哦。

25樓:匿名使用者

肯定是三次,除非在for迴圈內,你修改了i的值。

26樓:匿名使用者

明明是三次好吧,怎麼說是一次呢

問兩c語言題的問題,問兩三個c語言題的問題

樓上對右結合的概念理解錯誤了,所謂右結合就有對應的左結合。例如,a b c,是個運算子,對於第一個 它的兩個運算元是a和 b c 那麼它是先和哪個結合呢,c語言標準定義了它是右結合的,所以它先與右邊的b c結合,而b c本身也是個表示式,所以要先計算b c,然後b c的結果再參與原來的計算。問幾道c...

速度c語言題目求解,一題十分,C語言題目一題,求高手解答,感謝!

龍 鳳 include include void strmcpy char s,char t,int m strcpy s,t m 1 void main char s 100 t 100 int m printf input a string gets t printf input an inte...

問一道C語言的題

100 的尾數有多少個零?問題分析與演算法設計 可以設想 先求出100 的值,然後數一下末尾有多少個零。事實上,與上題一樣,由於計算機所能表示的整數範圍有限,這是不可能的。為了解決這個問題,必須首先從數學上分析在100 結果值的末尾產生零的條件。不難看出 一個整數若含有一個因子5,則必然會在求100...