for語句的一般形式及執行過程,急
for語句的一般形式為:for(單次表達式;條件表達式;末尾循環體){中間循環體;}。
for循環執行時,會先判斷條件表達式是否成立,如果條件成立則執行中間循環體,執行完中間循環體后接著執行末尾循環體 。在執行完末尾循環體后對條件表達式再次進行判斷,若條件還成立,則繼續重復中間循環體,當條件不成立時則跳出for循環。
for循環中執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括號{}可以省略。 擴展資料 for語句的注意事項: 1、for循環中的變量可以是一個也可以是多個,不要局限于一個變量處理到底,那樣有時會很單調,當程序適合把多個變量組成循環時,用多個for語句來表示就是有些浪費了。
2、for循環中語句可以為語句體, 語句體外加大括號"{}"將參加循環的語句括起來。 for循環的三個表達式都是逗號表達式,這樣來說,其實每個分號表達式可以由幾個逗號表達式構成,中間用",”隔開,最后以“;”結束。
3、for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以缺省成只剩下“;”的空語句, ";"不能缺省的原因是編譯格式如此,缺省了編譯器不認識而會報錯。 參考資料來源:百度百科——for循環。
for循環的條件與循環體的執行順序.
不同編程語言的for循環用法可能存在差異,此處以C語言為例。
假設有以下for循環執行代碼:
1、執行for循環體里的第一個參數,也就是定義一個int整形變量,其變量名為i,并初始化為0。
2、 執行完第一個參數里的代碼后,會執行第二個參數,判斷i是否小于99。
3、當第二個表達式為True時會去執行循環體里的代碼,也就是當i不等于99的時候。
4、執行完循環體里的代碼后,就會去執行for循環的第三個參數也就是++i。
5、當以上流程執行完成之后,進入非第一次執行循環時就不會執行for循環第一個參數了。
6、而是直接去執行第二個參數里的判斷表達式。
7、然后在去執行循環體里的代碼。
8、然后在執行for循環的第三個參數。
最后直到參數二,“i>99”的時候循環才會結束。
函數中的for語句執行流程
首先糾正一下,for是C語言中的循環控制語句,不是函數。
通常,一個for語句的格式為: for(初始化;條件判斷;操作){}; 程序在首次執行for語句的時候,會先運行初始化部分,注意,初始化部分只運行一次。接著進行條件判斷。
條件判斷部分是一個表達式,該表達式返回一個布爾值,如果為真,則運行后面花括號中的語句,然后運行for中的操作部分(通常是一個變量的步增和歩減);這樣就完成了一次循環。接下來運行第二次循環,不再進行初始化,直接從條件判斷開始,如果為真,則繼續剛才的過程,如果為假,則跳出for循環。
例如: for(int i = 10; i > 0; i -= 3) printf("i = %d\n",i); 這段語句的輸出為: i = 10 i = 7 i = 4 i = 1 該語句第一次執行時,先進行初始化,此時i=10,接著進行條件判斷,i>0為真,則輸出“i=10”,然后對i減3;第二次循環時,i=7,從條件判斷i>0開始,7>0為真,則輸出“i=7”,再對i減3;第三次循環輸出“i=4”;第四次循環輸出“i=1”之后對i減3,此時i=-2,當再次進行條件判斷的時候,-2>0為假,此時跳出for循環。
【關于for循環語句后的分號問題#include"Stdio.h"intmain(void){
for(表達式1;表達式2;表達式3) 語句執行過程如下:1) 先求解表達式1.2) 求解表達式2,若其值為真,則執行for語句中指定的內嵌語句,然后執行下面第3)步;若其值為假,則結束循環,轉到第5)步.3) 求解表達式3.4) 轉回上面第2)步繼續執行.5) 循環結束,執行for語句下面的一個語句.有分號時就是沒有循環體時,等于是直接跳到3)步,去求表達式3了,也就是表達式3成為循環體,等價于for(i=count; i >=1 ;i--)sum=sum+i;此后printf打出的是它執行完時sum的終值.而沒分號時循環體為printf語句,也就是說第一次并不是求表達式3,而是先去執行printf了,----這就是為什么第一次打出的sum總為0!也就是printf先于sum += i--執行了.總之,兩種情況下,sum += i--語句執行次數是一樣的,但在沒分號情況下,因printf要比它早執行一次,因而最后sum終值沒有被打出來而已.。
for 語句執行順序
for語句執行過程如下: ①先對表達式1賦初值; ②判別表達式2是否滿足給定條件,若其值為真,滿足循環條件,則執行循環體內語句,然后執行表達式3,進入第二次循環,再判別表達式2……;否則判斷表達式2的值為假,不滿足條件,就終止for循環,執行循環體外語句。
for語句語法流程如下圖所示: 例題: # include main () { int n,nu; nu=0; for (n=1;n<=200;n++) nu+=n; printf ("nu=%d\n",nu); } 編譯并執行后,屏幕顯示: nu=20100 在程序中,for語句小括號內的三個表達式分別為:n=1;n<=200;n++。表達式1,n=1是給n賦初值,表達式2是關系表達式,n小于等于200時,表達式都為真,則執行循環體內的語句nu+=n;(即nu=nu+n;),然后執行表達式3(n++),進入下一輪循環;若n大于200時,表達式2為假,則終止循環,執行printf()語句,在屏幕上打印出:nu=20100。
轉載請注明出處華閱文章網 » for語句的執行流程