c語言for迴圈問題,C語言迴圈問題

時間 2022-03-25 08:06:27

1樓:匿名使用者

從for語句的這種用法++寫在前面和後面沒有區別, 作為迴圈最後執行的語句,先加和後加都是加,不影響最終a的取值, 在下次迴圈條件判斷執行前, a的值都保證已經加1了.

b=a++; 相當於b=a; a++;

b=++a; 相當於a++; b=a;

迴圈執行順序是:

a=0;

判斷a<5成立, 開始迴圈 (如果不成立, 直接退出迴圈)執行迴圈體一次

a++; //或者++a;

a<5成立, 執行迴圈體一次

a++;

...a<5不成立, 結束迴圈

2樓:風火輪

這兩個for迴圈執行完畢後得到的結果完全相同。雖然說a++是先取值再自增,++a是先自增再取值,但這是相對於賦值語句而言的,例如x1=a++,x2=++a,這兩句就是完全不同的結果。在for迴圈中,表示式3的a++和++a完全等效,因為表示式3的語句可以單獨提出來,放到迴圈體的最後一句單獨執行,也就是說下面四個形式完全等效:

for (a = 0; a < 5; a++)*************************for (a = 0; a < 5; )

*************************for (a = 0; a < 5; ++a)*************************for (a = 0; a < 5; )

另外由於a是定義在for迴圈以外的,所以題中兩個a並不獨立,它們用的是同乙個變數,取自同乙個位址,但由於兩個for迴圈都有表示式1:a=0,都對a做了初始化操作,所以兩個迴圈不會相互影響。

3樓:a葰汰

簡單的for迴圈程式如下:

for(int i=0;i<20;i++)執行步驟是:

1、i=0 初始化初值;

2、 進行條件判斷i是否<20,如果條件為真,則繼續執行;

3、執行迴圈體的**;

4、i++ 變數i自增一次;

5、回到第2步,一直迴圈,直到第2步條件為假時, 退出迴圈,結束。

4樓:匿名使用者

這兩個for輸出應該是一樣的

第一次執行a=0 a<5

第二次執行a++或++a

結果都是01234

c語言迴圈問題

5樓:千鋒教育

float result = 1;

int flag = 0;

for(int i = 2; i <= 20; i++)

6樓:金色潛鳥

#include

int main()

printf("sum = %f\n",sum);

return 0;}

c語言for迴圈問題,C語言for迴圈問題

for j i 1 j 0 t a j j 只控制語句 a j 1 a j 如果 for j i 1 j 0 t a j j 語句 a j 1 t 才在for迴圈裡 這段 應該是這樣的趕腳哈。for j i 1 j 0 t a j j 你的 也進行縮排了的嘛。有些書上就喜歡用縮進來表示在乙個bloc...

c語言for迴圈效率問題,C語言for迴圈問題?

for i 0 i 5 i for j 0 j 100 j 效率高 雙層迴圈,較長的迴圈放在內層效率要高 for j 0 j 100 j for i 0 i 5 i 這樣內層迴圈要構造100次,所以頻繁的在迴圈和構造迴圈間切換for i 0 i 5 i for j 0 j 100 j 這樣內層迴圈只...

c語言for迴圈判斷素數,C語言for迴圈判斷素數

i x如果後面沒有if i x 肯定錯呀,乙個數肯定能被本身整除,那樣每個數都不是素數了。素數的概念是不能被1和本身整除且大於2的數。x 1可以少迴圈一次嘛 反正後面做了i 了 i x 1 i x i x 1 i x 2 i x 3 i x 100 i 以上都對,只要能讓i執行到x 1就行了,如果是...

C語言迴圈的問題,C語言迴圈的乙個問題

迴圈列印的原因是因為你根本沒有清空 scanf的緩衝區,導致第一次輸入以後就會一直有第一次輸入的資料在快取裡面 加上你的迴圈又沒有結束條件所以導致他會一直列印 通過scanf輸入的字元都會暫時存在輸入緩衝區中,你輸入a回車,然後它首先從緩衝區中讀a,匹配到a,然後輸出a換行,然後繼續從緩衝區中讀讀到...

C語言for迴圈的問題

一共進行5次大迴圈 第1次 i 0,k 5次 k 5 第2次 i 1,k 4次 k 9 第3次 i 2,k 3次 k 12 第4次 i 3,k 2次 k 14 第5次 i 4,k 1次 k 15 第5次 i 5,跳出迴圈 i 0 j i 0 k自加5次,k 5 i 1 j i 1 k自加4次,k 9...