本學(xué)期2019級(jí)數(shù)字媒體專業(yè)開設(shè)了C語(yǔ)言程序設(shè)計(jì)這門課程。C語(yǔ)言是一種計(jì)算機(jī)編程的高級(jí)語(yǔ)言,對(duì)于沒(méi)有接觸過(guò)程序和代碼的初學(xué)者來(lái)說(shuō)理解和學(xué)習(xí)起來(lái)是有一定困難的。程序設(shè)計(jì)包含了三種基本結(jié)構(gòu)分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。其中最難掌握和理解的是循環(huán)結(jié)構(gòu),下來(lái)我們針對(duì)循環(huán)結(jié)構(gòu)作以介紹。
一、循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過(guò)程中,程序中的某段代碼被重復(fù)執(zhí)行若干次。被重復(fù)執(zhí)行的代碼段,通常稱之為循環(huán)體。循環(huán)結(jié)構(gòu)中要有一個(gè)能夠控制著循環(huán)開始和結(jié)束的變量,稱為循環(huán)變量。用來(lái)判斷是否繼續(xù)執(zhí)行循環(huán)體的條件,稱為循環(huán)的終止條件。按照判定條件出現(xiàn)的位置不同,可將循環(huán)結(jié)構(gòu)分為當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)。
當(dāng)型循環(huán)結(jié)構(gòu)如圖1所示,先判斷循環(huán)條件P是否成立,如果成立就執(zhí)行A框中指定的操作,執(zhí)行完A框后再判斷循環(huán)條件P是否成立,如果成立,接著執(zhí)行A框。如此反復(fù),直到循環(huán)條件P不成立為止,結(jié)束循環(huán)。
直到型循環(huán)結(jié)構(gòu)如圖2所示,先執(zhí)行A框中指定的操作,然后判斷循環(huán)條件P是否成立,如果成立再執(zhí)行A框,然后再判斷循環(huán)條件P是否成立,如果成立,接著再執(zhí)行A框。如此反復(fù),直到循環(huán)條件P不成立為止,結(jié)束循環(huán)。

二、C語(yǔ)言中循環(huán)結(jié)構(gòu)語(yǔ)句
1、while循環(huán)語(yǔ)句
while語(yǔ)句是最簡(jiǎn)單也是最基本的。while語(yǔ)句的語(yǔ)法格式為:
while(表達(dá)式)
語(yǔ)句 /*循環(huán)體*/
圓括號(hào)內(nèi)的表達(dá)式是控制表達(dá)式,圓括號(hào)右邊的語(yǔ)句是循環(huán)體,循環(huán)體可以是一條簡(jiǎn)單的語(yǔ)句,也可以是多條語(yǔ)句組成的復(fù)合語(yǔ)句(用花括號(hào)括起來(lái))。
2、do-while循環(huán)語(yǔ)句
C語(yǔ)言還提供了do-while語(yǔ)句來(lái)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。有些情況下,無(wú)論條件是否滿足,都至少執(zhí)行一次循環(huán)體,這時(shí)可以使用do-while語(yǔ)句,其語(yǔ)法格式為:
do
語(yǔ)句 /*循環(huán)體*/
while(表達(dá)式);
首先執(zhí)行循環(huán)體中的語(yǔ)句一次,然后計(jì)算表達(dá)式的值,若為真(非0)則繼續(xù)執(zhí)行循環(huán)體,并再計(jì)算表達(dá)式的值,當(dāng)表達(dá)式的值為假(0)時(shí),終止循環(huán),執(zhí)行do-while語(yǔ)句后的下一條語(yǔ)句。
3、for循環(huán)語(yǔ)句
對(duì)循環(huán)狀態(tài)的初始化和對(duì)循環(huán)控制變量的修改是循環(huán)語(yǔ)句中必不可少的兩個(gè)組成部分。for語(yǔ)句將這兩部分作為表達(dá)式寫入到圓括號(hào)中,更便于描述、閱讀和檢查程序,其語(yǔ)法格式為:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
語(yǔ)句 /*循環(huán)體*/
表達(dá)式1通常為賦值表達(dá)式,實(shí)現(xiàn)循環(huán)控制變量的初始化,只執(zhí)行一次。表達(dá)式2通常為關(guān)系表達(dá)式或邏輯表達(dá)式,用來(lái)判斷是否繼續(xù)循環(huán)。在每次執(zhí)行循環(huán)體前先執(zhí)行此表達(dá)式,決定是否繼續(xù)執(zhí)行循環(huán)。表達(dá)式3通常為表達(dá)式語(yǔ)句,用來(lái)描述循環(huán)控制變量的變化,多數(shù)情況下為自增或自減表達(dá)式,實(shí)現(xiàn)對(duì)循環(huán)控制變量的修改。它是在執(zhí)行完循環(huán)體后才執(zhí)行的。
三、三種循環(huán)語(yǔ)句的比較
1、在一般情況下,三種循環(huán)語(yǔ)句均可處理同一個(gè)問(wèn)題,它們可以相互替代。
2、在使用while和do-while語(yǔ)句時(shí),需要將循環(huán)變量賦初值語(yǔ)句放在循環(huán)語(yǔ)句之前,在循環(huán)體中不要忘記加入控制循環(huán)變量改變的語(yǔ)句。
3、for語(yǔ)句和while語(yǔ)句先判斷循環(huán)控制條件,后執(zhí)行循環(huán)體,所以可能一次也不執(zhí)行循環(huán)體;而do_while語(yǔ)句是先執(zhí)行循環(huán)體,后進(jìn)行循環(huán)控制條件的判斷,因此,至少執(zhí)行一次循環(huán)體。
4、用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)語(yǔ)句之前完成,而for語(yǔ)句可以在表達(dá)式1中實(shí)現(xiàn)循環(huán)變量的初始化。
5、while和do-while循環(huán),只在while后面指定循環(huán)條件,在循環(huán)體中應(yīng)包含使循環(huán)趨于結(jié)束的語(yǔ)句。for循環(huán)可以在表達(dá)式3中包含使循環(huán)趨于結(jié)束的操作,甚至可以將循環(huán)體中的操作全部放到表達(dá)式3中。因此for語(yǔ)句的功能更強(qiáng),凡用while循環(huán)能完成的,用for循環(huán)都能實(shí)現(xiàn)。
以上就是在C語(yǔ)言程序設(shè)計(jì)中用到的三種循環(huán)語(yǔ)句的分析,希望能夠?qū)ν瑢W(xué)們學(xué)習(xí)這部分知識(shí)有所幫助。 |