請問for語句與++i,i++的順序是什么
一直以來,++ --語法浪費了太多人的時間。
說句實在話,++ -- 在C語言中其實是一個很細節的語法,除了表達簡練外,真的沒有什么其它的好處了。 由于中國的C語言教程長期以來被譚浩強主宰,而譚又錯誤的把++ --作為一個C語言重點來教,并增加了一些難點,把本來很簡單的語法,搞得復雜無比! 簡單的來說,++i 和 i++,在單獨使用時,就是 i=i+1。
而 a = ++i,相當于 i=i+1; a = i; 而 a = i++,相當于 a = i; i=i+1; 如果實在搞不明白++ --怎么回事,那也不是什么天塌下來的事。 因為a=++i完全可以寫成 i++; a=i。
a=i++完全可以寫成 a=i; i++。 而且,這也是一種好的程序風格:++ -- 語句如非特殊需要,請單獨一行使用。
看完上面的你應該明白了吧。
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。