for循環條件判斷問題
區別在于++運算。
i++表示先返回i值,執行當前的語句后再自增。
++i表示先自增(自增相當于i=i+1),然后再執行語句。
比如
int i=1,j,k;
j=i++;
//執行結束后,i=2,j=1
//等效于j=i;i=i+1;
k=++i;
//執行結束后,i=3,k=3
//等效于i=i+1;k=i;
明白了這些你就應該知道了,在這個循環里,用i++和++i都是一樣的效果(相當于i=i+1)。因為這里并不需要返回任何值。
你地明白?
什么,還不明白?教你一個記憶訣竅:
如果++符號在變量前面,你就記“先加”,因為這種情況,是先把變量自加,然后再執行語句。
如果++符號在變量后面,那就是“后加”,因為是先執行語句,然后才自加該變量。
(聲明:正式屬于好像叫“自增”,但是我不記得了。so,如果你要應付考試,你最好查閱相關資料。不過我估計考試不會考術語吧?)
c語言for語句中的條件問題
仔細看(1)(2)(3)(4)(5)這樣,你應該能了解了吧。
c語言中的for循環語句使用最為靈活,不僅可以用于循環次數已經確定的情況,而且可以用于循環次數不確定而只給出循環結束條件的情況,它完全可以代替while語句.
for(表達式 1;表達式 2;表達式 3)語句
它的執行過程如下:
(1)先求表達式 1.
(2)求表達式2,若其值為真(值為非0),則執行for語句中指定的內嵌語句,然后執行下面第三步 做若為
假(值為0),則結束循環,轉到第5步.
(3)求解表達式3
(4)轉回上面第(2)步驟繼續執行;
(5)結束循環,執行for語句下面的一個語句;
for(循環變量賦初值;循環條件;循環變量增值)語句
如
for(i=1;i<=100;i++)sum=sum+i;
它的執行相當于
i=1;
while(i<=100){
sum=sum+i;
i++;
}
顯然,用for語句更簡單、方便。
說明:
(1)for語句的一般形式中的"表達式1"可以省略,此時應在for語句之前給循環變量賦初值.注意省略表達式1時,其后的分號不能省略.如for(;i<=100;i++){。.};
(2)如果表達式2省略 即不判斷循環條件,循環無終止地循環下去,也就是認為表達式2始終為真.
例如:for(i=1;;i++){。..};
相當于
i=1;
while(1)
{sum=sum+1;
i++;
}
(3)表達式3也可以省略,但此時程序設計者應另外設法保證循環能正常結束.如:
for(i=1;i<=100;)
{sum=sum+1;
i++;
}
這個例子的循環增量沒有放在表達式三的位置 而是作為循環體的一部分 其效果是一樣的.
(4)可以省略表達式1和表達式3,只有表達式2 即只給循環條件.
如
for(;i<=100;)
{
sum=sum+i;
i++;
}
這個相當于
whlie(i<=100)
{
sum=sum+i;
i++;
}
(5)三個表達式都可以省略,如:
for(;;)語句
相當于
while(1)語句
即不設初值 不判斷條件(認為表達式2為真值)循環變量不增值,無終止的執行循環體.
(6)表達式1也可以是設置循環變量初值的賦值表達式,也可以是與循環變量無關的其他表達式.如:
for(sum=0;i<=100;i++)
{
sum=sum+i;
}
for(sum=0,i=0;i<=100;i++)
{
sum=sum+i;
}
等等寫法.
for語句的一般形式及執行過程,急
for語句的一般形式為:for(單次表達式;條件表達式;末尾循環體){中間循環體;}。
for循環執行時,會先判斷條件表達式是否成立,如果條件成立則執行中間循環體,執行完中間循環體后接著執行末尾循環體 。在執行完末尾循環體后對條件表達式再次進行判斷,若條件還成立,則繼續重復中間循環體,當條件不成立時則跳出for循環。
for循環中執行的中間循環體可以為一個語句,也可以為多個語句,當中間循環體只有一個語句時,其大括號{}可以省略。 擴展資料 for語句的注意事項: 1、for循環中的變量可以是一個也可以是多個,不要局限于一個變量處理到底,那樣有時會很單調,當程序適合把多個變量組成循環時,用多個for語句來表示就是有些浪費了。
2、for循環中語句可以為語句體, 語句體外加大括號"{}"將參加循環的語句括起來。 for循環的三個表達式都是逗號表達式,這樣來說,其實每個分號表達式可以由幾個逗號表達式構成,中間用",”隔開,最后以“;”結束。
3、for循環中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以缺省成只剩下“;”的空語句, ";"不能缺省的原因是編譯格式如此,缺省了編譯器不認識而會報錯。 參考資料來源:百度百科——for循環。
for循環的條件咋確定
for循環是開界的。它的一般形式為: for(<;初始化>; <;條件表達式>; <;增量>;) 語句; 初始化總是一個賦值語句, 它用來給循環控制變量賦初值; 條件表達式是一個關系表達式, 它決定什么時候退出循環; 增量定義循環控制變量每循環一次后 按什么方式變化。這三個部分之間用";"分開。
例如: for(i=1; i<=10; i++) 語句; 先給 " i " 賦初值1, 判斷 " i " 是否小于等于10, 若是則執行語句, 之后i值增加1。再重新判斷是否小于等于10, 直到條件為假, 即i>10時, 結束循環。
我是從“上海全鼎軟件學院”畢業的————————
C語言中for語句與if語句的優先問題
for語句與if語句:
1. 兩個if沒有什么關系,順次做。無論第一個if的條件成立不成立,都要執行第二個if。
2. for每循環一次,兩個if語句都要做一次。
3. for跟的那個語句塊大括號是第一個左大括號和末尾的右大括號,所以for每次都要把兩個if執行一次。
4. C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
5. 盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平臺。
這個程序怎樣理解,for語句為a判斷,然后語句b,if也判斷,輸出為a-百
(1)首先看for循環,for循環的結構為: for(表達式1;表達式2;表達式3){循環體}而表達式1是賦值語句,它用來給變量賦初始值,后面就不看這句話,則開始a=1,b=1。
進入循環后,只看變量a是否滿足退出循環的條件,或者說,循環體內是否有break語句。 (2)其次看循環體 里面有2個if語句,第一個if語句為 if(b>=20)break;表示當b>=20的時候,退出循環。
第二個if語句為 if(b%3==1){b+=3;continue;}表示b除以3的余數為1,則b加3,然后再循環。 因此,程序進入循環體后,b=1,則進入第2個if語句,b=b+3,得到b=4,此時,執行for循環的表達式3,就是a++,a=2。
并以此循環,直到b>=20時,程序退出。 最后a的值為a=8,其實表示了for循環一共執行的次數。
而循環中的 b-=5;根本沒有被執行。 程序運行的結果如下: 。
轉載請注明出處華閱文章網 » for語句的條件判斷