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