C語言基礎:以實例跟我學循環結構之for+break+continue用法

循環結構是編程語言中的一種基本程序結構,C語言中有兩種表示方法,分別可通過for循環和while循環結構實現。對於大部分C語言初學者來說,循環結構的編程及理解也是一個難點所在。

這兒通過具體例子給大家介紹C語言中for循環結構的編程方法,以及循環結構裡面常用到的break及continue語句的用法。

基本語法說明

1、for語句的一般形式

for語句的基本形式一般為:

C語言基礎:以實例跟我學循環結構之for+break+continue用法


其中,3個表達式的意義說明如下:

表達式1:設置循環變量的初始條件,只執行一次

表達式2:循環條件表達式,在每次執行循環體前先執行此表達式,據其判斷是否繼續循環

表達式3:設置循環變量的步進,在每次執行完循環體後進行

2、break語句

其作用是用來從循環體內跳出循環,提前結束循環,接著執行循環下面的語句。

3、continue語句

其作用是提前結束本次循環,而接著執行下次循環。

4、break與continue語句的區別

兩者的區別是,break語句是結束整個循環過程,不再判斷執行循環的條件是否成立,而continue語句只結束本次循環,而不是終止整個循環的執行。

下面通過例子分別演示不同情況的用法。

【例1】 for循環結構的基本用法演示

程序功能是,產生20個0-10之間的隨機數並計算這20個數的和。實現代碼如下圖所示:

C語言基礎:以實例跟我學循環結構之for+break+continue用法


下面對代碼作簡要說明:

第7-9行定義了3個變量,其中i是循環變量,sum存儲所有隨機數的和,x存儲當前產生的隨機數。

第11行置隨機數種子,使程序每次運行時能夠產生不同的隨機數。

第14-19行,在for循環裡面產生0-10之間的隨機數x,打印其值,然後將其加到sum中,循環20次完成後,sum中就存儲了20個隨機數的和。

程序運行結果如下圖所示:

C語言基礎:以實例跟我學循環結構之for+break+continue用法


【例2】 break用法演示

在例1的基礎上改進程序,仍然是產生20個0-10之間的隨機數並計算這20個數的和,但是加個附加條件,在循環裡面如果產生的隨機數為5時,就提前退出循環,只計算產生到當前次所有隨機數的和。此時需使用break語句實現,代碼如下圖所示:

C語言基礎:以實例跟我學循環結構之for+break+continue用法


上面的代碼第20-23行中,在循環體裡面計算sum之後,每次對產生的隨機數作判斷,若其值為5,則使用break語句跳出循環,直接運行for循環體外的語句。

程序運行結果如下圖所示,從結果中可以看出,程序運行後,產生的隨機數最後一個值為5,i的值為8,即for循環共運行了9次,計算的sum為這9個隨機數的和。

C語言基礎:以實例跟我學循環結構之for+break+continue用法


【例3】 continue用法演示

仍然是在例1的基礎上改進程序,產生20個0-10之間的隨機數並計算這20個數的和,所加的附加條件是,在循環裡面如果產生的隨機數為5時,則不將當前值計入總和sum中。換句話說,最後計算的總和sum為這20個隨機數中所有非5數值的和。此時需使用continue語句實現,代碼如下圖所示:

C語言基礎:以實例跟我學循環結構之for+break+continue用法


上面的代碼第19-23行中,在循環體裡面計算sum之前,每次對產生的隨機數作判斷,若其值為5,則使用continue語句跳出當前次循環,直接進行下次循環,直到運行完20次循環為止。

程序運行結果如下圖所示,從結果中可以看出,在產生的20個隨機數中,已經將i=9和i=13時產生的5排除在外了,最後計算的sum為其餘18個非5隨機數的和。

C語言基礎:以實例跟我學循環結構之for+break+continue用法


總結

至此,通過這些例子已經基本講清楚了for循環的基本編程方法以及break語句及continue語句的使用場合了。當然,在for語句的表達形式中,還有一些其它不常見的寫法,如不寫初始條件、不寫步進值甚至三個表達式都不寫的情況,這種情況比較少見,也不利於程序的理解及維護,對於初學者來講,不推薦這種用法。

歡迎加關注,共同交流。


分享到:


相關文章: