循環(huán)結(jié)構(gòu)是編程語言中的一種基本程序結(jié)構(gòu),C語言中有兩種表示方法,分別可通過for循環(huán)和while循環(huán)結(jié)構(gòu)實現(xiàn)。對于大部分C語言初學(xué)者來說,循環(huán)結(jié)構(gòu)的編程及理解也是一個難點所在。
這兒通過具體例子給大家介紹C語言中for循環(huán)結(jié)構(gòu)的編程方法,以及循環(huán)結(jié)構(gòu)里面常用到的break及continue語句的用法。
基本語法說明
1、for語句的一般形式
for語句的基本形式一般為:
其中,3個表達式的意義說明如下:
表達式1:設(shè)置循環(huán)變量的初始條件,只執(zhí)行一次
表達式2:循環(huán)條件表達式,在每次執(zhí)行循環(huán)體前先執(zhí)行此表達式,據(jù)其判斷是否繼續(xù)循環(huán)
表達式3:設(shè)置循環(huán)變量的步進,在每次執(zhí)行完循環(huán)體后進行
2、break語句
其作用是用來從循環(huán)體內(nèi)跳出循環(huán),提前結(jié)束循環(huán),接著執(zhí)行循環(huán)下面的語句。
3、continue語句
其作用是提前結(jié)束本次循環(huán),而接著執(zhí)行下次循環(huán)。
4、break與continue語句的區(qū)別
兩者的區(qū)別是,break語句是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立,而continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。
下面通過例子分別演示不同情況的用法。
【例1】 for循環(huán)結(jié)構(gòu)的基本用法演示
程序功能是,產(chǎn)生20個0-10之間的隨機數(shù)并計算這20個數(shù)的和。實現(xiàn)代碼如下圖所示:
下面對代碼作簡要說明:
第7-9行定義了3個變量,其中i是循環(huán)變量,sum存儲所有隨機數(shù)的和,x存儲當前產(chǎn)生的隨機數(shù)。
第11行置隨機數(shù)種子,使程序每次運行時能夠產(chǎn)生不同的隨機數(shù)。
第14-19行,在for循環(huán)里面產(chǎn)生0-10之間的隨機數(shù)x,打印其值,然后將其加到sum中,循環(huán)20次完成后,sum中就存儲了20個隨機數(shù)的和。
程序運行結(jié)果如下圖所示:
【例2】 break用法演示
在例1的基礎(chǔ)上改進程序,仍然是產(chǎn)生20個0-10之間的隨機數(shù)并計算這20個數(shù)的和,但是加個附加條件,在循環(huán)里面如果產(chǎn)生的隨機數(shù)為5時,就提前退出循環(huán),只計算產(chǎn)生到當前次所有隨機數(shù)的和。此時需使用break語句實現(xiàn),代碼如下圖所示:
上面的代碼第20-23行中,在循環(huán)體里面計算sum之后,每次對產(chǎn)生的隨機數(shù)作判斷,若其值為5,則使用break語句跳出循環(huán),直接運行for循環(huán)體外的語句。
程序運行結(jié)果如下圖所示,從結(jié)果中可以看出,程序運行后,產(chǎn)生的隨機數(shù)最后一個值為5,i的值為8,即for循環(huán)共運行了9次,計算的sum為這9個隨機數(shù)的和。
【例3】 continue用法演示
仍然是在例1的基礎(chǔ)上改進程序,產(chǎn)生20個0-10之間的隨機數(shù)并計算這20個數(shù)的和,所加的附加條件是,在循環(huán)里面如果產(chǎn)生的隨機數(shù)為5時,則不將當前值計入總和sum中。換句話說,最后計算的總和sum為這20個隨機數(shù)中所有非5數(shù)值的和。此時需使用continue語句實現(xiàn),代碼如下圖所示:
上面的代碼第19-23行中,在循環(huán)體里面計算sum之前,每次對產(chǎn)生的隨機數(shù)作判斷,若其值為5,則使用continue語句跳出當前次循環(huán),直接進行下次循環(huán),直到運行完20次循環(huán)為止。
程序運行結(jié)果如下圖所示,從結(jié)果中可以看出,在產(chǎn)生的20個隨機數(shù)中,已經(jīng)將i=9和i=13時產(chǎn)生的5排除在外了,最后計算的sum為其余18個非5隨機數(shù)的和。
總結(jié)
至此,通過這些例子已經(jīng)基本講清楚了for循環(huán)的基本編程方法以及break語句及continue語句的使用場合了。當然,在for語句的表達形式中,還有一些其它不常見的寫法,如不寫初始條件、不寫步進值甚至三個表達式都不寫的情況,這種情況比較少見,也不利于程序的理解及維護,對于初學(xué)者來講,不推薦這種用法。
歡迎加關(guān)注,共同交流。
聯(lián)系客服