初學C語言For語句的問題,C語言關於for語句的基礎問題

2022-09-24 20:20:18 字數 3594 閱讀 8579

1樓:淦海瑤

你沒有搞明白迴圈的執行順序

一般迴圈要有四部分組成

初始化變數,判斷迴圈條件,執行迴圈體,改變迴圈條件這四個部分都不可缺少,不過他出現的位置可能在不同的地方就for迴圈來說

for(初始化部分;判斷迴圈條件;改變迴圈條件)迴圈體(可能是一句話,也可能是好多,但是多個要用{}這個括起來)這幾個部分可能都有,可以都沒有,也可以由任意的幾項(是出現的位置)初始化可以不再for中中,但是一定在上文中初始化判斷迴圈條件和改變迴圈條件可以沒有。要是沒有在這裡出現,呢麼一定會在迴圈體中體現出來的,要不然會是死迴圈

執行順序是先初始化變數,這只有在第一次迴圈是執行,後面的迴圈就不用了接著判斷迴圈條件,要是這個表示式是非零,那麼就執行迴圈體,否則退出迴圈,要是沒有,那麼在迴圈體中會有判斷跳出迴圈的語句,這個事一定的

最後改變迴圈條件。他是執行完迴圈體後執行的,可以放在迴圈體的最後一句上,這裡就可以不出現了。也可以在迴圈體的某個部位改變迴圈條件,都是可以的。

改變迴圈條件後是第二次迴圈,接著是判斷(初始化就不再執行了)根據這個思路,你應該可以理解了吧

2樓:匿名使用者

for(i=1;i<=5;i++)的執行順序如下:

首先i=1,i<=5成立,進入迴圈體,執行一次迴圈語句,然後i++操作,此時i=2

i<=5仍然成立,進入迴圈體,繼續執行迴圈語句,然後i++操作,此時i=3,i<=5仍然成立,進入迴圈體,執行迴圈語句,然後i++操作,此時i=4,i<=5仍然成立,執行迴圈語句,然後i++操作,此時i=5,i<=5仍然成立,執行迴圈語句,然後i++操作,i=6,判斷i<=5不成立,結束迴圈。

因此,i=1,2,3,4,5的時候都滿足條件,總共執行五次迴圈。

最重要的一點是i=1的時候會執行一次迴圈,然後才是i++,並不是你想的,i=1執行迴圈之前先i++操作。

3樓:深度糾纏

因為for語句執行順序,先是i=1,再判斷是否滿足中間式子的條件i<=5,如果滿足就執行迴圈語句sum+=i,執行完迴圈語句再執行i++,然後再判斷是否滿足中間式子的條件i<=5....依此類推,因此這個for迴圈執行的結果是1+2+3+4+5

4樓:匿名使用者

建議你編以下一斷小**除錯一下

include

int main(void)

這樣你就搞清楚++i與i++的區別了

另外,for(;;)裡面的三個語句執行順序你還沒有搞清楚,先熟悉一下控制結構吧,把for語句改成while或do...whlie試試,應該怎麼改,程式又是怎麼執行的

5樓:

for()語句中,i = 1相當於初始化i,可以寫迴圈外面的,執行過程是,先執行兩分號中間語句,再執行第二個分號後的語句。

6樓:善良的

i++是先運算i,就是sum為1,然後在++,和++i,有一點點區別

c語言初學著 提問 怎樣用for迴圈語句求1到10的和啊?

7樓:匿名使用者

看了幾個回答都有小錯,有的只算0加到9,有的條件語句書寫不規範、有錯誤、還有的列印語句沒寫對。

#include

void main()

8樓:匿名使用者

# include

int main (void)

9樓:匿名使用者

回答的網友都不錯。很遺憾的,沒有一個程式是有註釋的。雖然這個程式很簡單,但是程式設計風格是很重要的。

10樓:記住回憶

#include

int main(void)

11樓:匿名使用者

int i,sum;

for(i = 0; i<11;i++)

12樓:匿名使用者

#include

void main()

c語言關於for語句的基礎問題

13樓:坑坑死一巴

你的c**,申請了一個 大小為11的整型陣列,然後為a[1]~a[10]賦值,接著對a[1]~a[10]排序,最後輸出結果。

**中從頭到尾都只有一個i變數,所以每次在執行for迴圈的時候,i都是從1開始自增的。

14樓:匿名使用者

程式裡面的i都用於for迴圈,所以i值從1到10之間。

15樓:匿名使用者

從頭到尾都只有一個i啊,哪來的每個i。最終的值是10唄

c語言初學者:為什麼這個for迴圈會是死迴圈?

16樓:匿名使用者

for(m=1;m這一句錯誤,應該是

for(m=1;m

17樓:雪之伊呂裡

你的%d是純數字 數字的多少算是完?數字是無窮大的,你的m=1,m<=n一直成立,不就是死迴圈了。小於一個無窮的數當然死循了。

個人見解,不喜勿噴,喜歡望採納,碼字不易。

18樓:老猴子不會胖

並沒有死迴圈啊 哥 可能你n取值太大

c語言for迴圈詳細講解

19樓:半季流年

一般情況下for迴圈裡包含3條語句,第一句是為迴圈變數賦初始值值,第二句是迴圈條件,第三句是給迴圈變數重新賦值,例如:

for(i=0;i

這個迴圈的迴圈變數是i,i的初始值是0,迴圈條件是i

20樓:匿名使用者

for(i=0;i<10;i++)

printf("%d",i);

21樓:阿四哥

c語言的陣列概念的學習,通過for迴圈輸出列印陣列

c語言for迴圈問題

22樓:

按你的理解,內層for中的i<=n-1就不多餘了?i=2符合繼續迴圈條件,下一次i=3,就是退出迴圈的條件,如果i到不了3,內層迴圈怎麼退出?所以i=3就是內層迴圈的最後一次取值,在這個值上,內層迴圈體是不被執行而直接跳出到最後一個}後面的!

23樓:

#include

void main()

if(n == i)//這個語句應該在上面那個大括號裡面}printf("\n素數的個數是\n", num);

}我想這肯定不是你想要的結果吧,具體看我給你的註釋吧!

最後說一下,**格式很重要。

24樓:起個名好費勁

for(;;)

{}會執行{}內的語句

如果沒有{}預設執行for(;;)後面的一句所以即使第一個if不成立也不會去執行第二個if

而是繼續執行for迴圈,望採納

關於初學C語言的問題,關於初學C語言的一個問題

srand unsigned time null 返回的是 自1970年1月1日00 00 00以來,到呼叫函式的時刻所累積的秒數。比如說你第一次執行的時候,返回的是1000秒,然後你再次執行的時候,返回的是1001秒。1000 999 跟 1001 999 都等於1。結果一樣。原因是為什麼呢?因為...

C語言for迴圈語句變數問題,請問在c語言中for迴圈語句表示式1中能否定義變數?如果可以它的作用域又是什麼?

第一次回答可獲 來2分,答案被採納可源獲bai得懸賞分和額外20分獎勵。du 答案是肯zhi定的可以,無論是表示式,還是dao初始條件,或是增量部分的變數,都要保證先定義後引用,如果未賦值,會按照c語言規定得到一個數值 auto 自動變數在賦值之前,它的值是不確定的 也就是說在引用的時候會得到一個隨...

c語言for語句中的條件問題c語言中for語句是怎麼用的

1 for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。2 舉例說明for語句的使用方法 int i for i 0 i 3 i i 0是初始化部分 i 3是迴圈判斷條件部分 當滿足此條件時才進入執行for迴圈中的語句 i 是執行完迴圈體語句後的操作 上面的for語句就是控制輸出3次hello...