1. 程式人生 > >迴圈控制結構學習總結

迴圈控制結構學習總結

迴圈控制結構學習總結

迴圈語句與之前所學的順序、選擇控制結構相比,困難了不少,需要的思考也更多,而且在題目之中,也有許多是和選擇控制結合運用,更是添加了不少難度。
從最基本的for語句、while語句、do-while語句學起。如果迴圈次數已知,計數控制的迴圈用for;如果迴圈次數未知,條件迴圈控制用while;迴圈至少執行一次,用do-while。while和for語句的條件控制表示式在迴圈體前部,do-while語句則是在迴圈體尾部。迴圈體內可以進行資料的定義,此資料只能在迴圈體中使用。
迴圈語句使用時候需要仔細,否則容易使迴圈語句變成死迴圈,例如while(i<=n);一個分號使迴圈體與控制表示式分離,導致表示式恆成立,迴圈無法停止,變成了死迴圈。
除了迴圈的語句學習,還有一個一直使用的運算子——逗號運算子,也叫順序求值運算子,顧名思義,它的作用就是實現對各個表示式的順序求值 。
另外一個是為了隨機數的選取,引進來了一個新函式 srand(seed)為函式rend()設定隨機種子,表示所取得隨機數的範圍用int magic;magic=rend()%100表示0—99的整數,若不從0開始選取則在100後面加+所需值。
而對迴圈體內部進行控制的break語句 , continue語句也是要點。break語句除用於退出switch語句結構,還可以用於while,do—while,for構成的迴圈語句的迴圈體中,當執行迴圈體遇到break語句時,迴圈語句後的第一條語句開始繼續執行;而在迴圈體中遇到continue語句時,程式將跳過continue語句後面尚未執行的語句,開始下一次迴圈,直接輸本次迴圈的執行,不終止整個迴圈的執行 。
對於練習的題目,剛開始接觸迴圈語句的題目的時候 ,不懂怎麼輸入多組資料來比較大小,順序結構是一次性輸入多組資料,同時進行比較,操作比較麻煩,而後來知道了for語句while語句可以多次輸入多次比較,每次只比較一組資料,留大去小,實現最取大值的目的 ,而這讓我真正體會到了“迴圈”的含義。迴圈語句裡最讓人眼前一亮的還是他與if語句結合製作圖形的題目,這就用到了多個迴圈語句的複合巢狀使用,基本思路是讓兩個迴圈語句分別控制行與列,也就是確定了一個矩形,再利用if條件語句控制一些區域是字元還是空格,if語句中的判斷語句是思考的重點,判斷句可以說是簡單的函式題了,寫出滿足要求i與j的條件式,圖形就完成了。同時,為了應對迴圈語句中的一些題目,老師也向我們介紹了一種萬能方法——窮舉法,也叫暴力法,所謂窮舉法簡單的說,就是通過嘗試問題的所有可能,來得到最終答案。舉個例子,求得某一個數,是另外三個數的最小公倍數,利用窮舉法只要一個for迴圈和一個if語句的關係式子就可以解決。
另外還有標誌變數,例如:find標誌變數,先定義find為假既find=0,所以!find表示為真,“!find”表示find的邏輯非,既find=1,“find”標誌變數可以用在結束程式的執行。
學習了迴圈語句後,才更加明白“好”程式的意義,“好”最重要的是程式的結構好,也就是結構要清晰。根據程式設計得需要,有時需要while迴圈,for迴圈語句巢狀使用,如果不注意結構的清晰,就容易帶來錯誤 。在學習過程中,出現錯誤很正常,這就要求我們提高排錯能力 ,老師說過找錯誤有靜態和動態 ,而要提升能力多訓練,多練習,Practice make perfect。還有就是要注重思考吧,做迴圈語句的訓練題目,如果不能從一開始就有一個正確的思路,很容易就“誤入歧途”,難以拿到AC,總之堅持練習,多敲程式碼多思考才是進步的道路。