循環結構

循環結構

循環結構是指在程序中需要反覆執行某個功能而設置的一種程序結構。它由循環體中的條件,判斷繼續執行某個功能還是退出循環。根據判斷條件,循環結構又可細分為以下兩種形式:先判斷後執行的循環結構和先執行后判斷的循環結構。

循環語句


三個循環

C語言中提供四種循環,即goto循環、while循環、do…while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用。這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹后就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。

三個循環異同點

在學完這三個循環后,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,后執行循環體;而do…while循環是先執行循環體后判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演演算法,設計出相應程序。但是要編程的問題較大,編寫出的程序就往往很長、結構重複多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。
模塊化程序結構C語言的模塊化程序結構用函數來實現,即將複雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫。因此常說:C程序=主函數+子函數。因此,對函數的定義、調用、值的返回等要尤其注重理解和應用,並通過上機調試加以鞏固。

概述


當條件成立的時候,執行循環體的代碼,當條件不成立的時候,跳出循環,執行循環結構後面的代碼。循環結構可以減少源程序重複書寫的工作量,用來描述重複執行某段演演算法的問題,這是程序設計中最能發揮計算機特長的程序結構。循環結構可以看成是一個條件判斷語句和一個向迴轉向語句的組合。另外,循環結構的三個要素:循環變數、循環體和循環終止條件。循環結構在程序框圖中是利用判斷框來表示,判斷框內寫上條件,兩個出口分別對應著條件成立和條件不成立時所執行的不同指令,其中一個要指向循環體,然後再從循環體回到判斷框的入口處。

常見循環結構


①當型循環:先判斷所給條件p是否成立,若p成立,則執行A(步驟);再判斷條件p是否成立;若p成立,則又執行A,若此反覆,直到某一次條件p不成立時為止。
②直到型循環:先執行A,再判斷所給條件p是否成立,若p不成立,則再執行A,如此反覆,直到p成立,該循環過程結束。