天天看點

循環語句總結

一.  知識點梳理

​while語句

while(循環控制表達式)

{

  語句序列

}

2.    do-while語句

do

{

語句序列

}while(循環控制表達式);

注意點:  先執行,再判條件,若成立則執行,直到不成立則跳出,至少執行一次,while後不要忘記加分号。

适用于,循環次數未知,條件控制的循環。

3.    for語句

for(初始化表達式;循環控制表達式;增值表達式)

{

語句序列

}

注意點:循環控制表達式如果省略,則永遠為真,可以用break跳出循環,( ; ; )即使沒有内容,分号也不能省略,增值表達式決定了執行的次數。for後不能加分号。

适用于,循環次數已知,計數控制的循環。

3.      嵌套循環

執行嵌套循環時,先由外層循環進入内層循環。并在内層循環終止之後。接着執行外層循環,再由外層循環進入内層循環中。到外層循環全部終止時,程式結束。

4.      break語句

用于退出switch或一層循環結構

5.      continue語句

用于結束本次循環,繼續執行下一次循環

注意點:在嵌套循環的情況下,break語句和continue語句隻對包含它們的最内層的循環語句起作用,不能用break語句跳出多重循環。

6.     窮舉法

從1開始,試算,暴力求解

如找水仙花數,韓信點兵等

7.     類型溢出

當運算的結果超出了類型所能表示的數的上界,導緻進位達到了最前面的符号位,或者更多進位的丢失,就會發生類型溢出。

是以,預先估算運算結果可能的取值範圍,采用取值範圍更大的類型定義變量。

二.循環語句能解決的問題

1.求一組數的和,最大值,最小值,均值。

2.畫各種類型的圖形,如矩形,菱形,粘牆,三角形。

3.求兩個數中的最小公倍數。

4.最短距離的點

5.求某一個數字的位數,及将數字按正序,逆序輸出。以及數字中有幾個指定的數字。

三.感悟

進入循環語句的練習後,明顯發現題目要比順序和分支幾分之都要難。首先,是對問題算法的設計要更複雜。想出解決思路,我覺得是寫程式的基礎,而這一步,我往往忽視。有時候,想不出來,或者都沒有進入給過深層次思考,被題設吓到後,就立馬上網搜答案,或者問同學怎樣做的。雖然一看到答案就恍然大悟了,但是那畢竟不是通過自己設計想出來的,以後碰見這樣的題目還是不會做。我也明白這個道理,有時候上網找到或者看到同學的答案後,我還會再順着那個思路,自己再寫一遍。但有時候也會直接粘貼複制。是以在我意識到自己的這個問題之後,現在正嘗試着改正。我認為不管你送出多少次錯多少次,隻要你是自己寫的,錯了就要問别人修改成自己的,而修改的過程中讓我得到了很多的知識。也通過,與其他人在修改中的交流,我了解到了那些寫代碼寫很好的同學都是一個一個題慢慢啃出來的。還記得那位同學跟我說,自己一個一個慢慢啃,做一個會一個。這種學習c語言的精神真的很值得我學習。

其次,俗話說好記憶不如爛筆頭。我以前,總覺得,在寫代碼中出現的問題,隻要自己記在腦子裡就好了。但通過這段時間的練習,我發現自己的這個想法是錯誤的。因為在這套題中有很多相似的題目,有時候出現相似的,仍然會犯遇與上一個同樣的錯誤。是以這就需要我們把出現的錯誤記下來,反複看才能。保證自己不犯相同的錯誤。