- 相關(guān)推薦
2016計算機(jī)二級C語言考點:循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)之一,在程序設(shè)計中對于那些需要重復(fù)執(zhí)行的操作應(yīng)該采用循環(huán)結(jié)構(gòu)來完成,利用循環(huán)結(jié)構(gòu)處理各類重復(fù)操作既簡單又方便。在C語言中有三種可以構(gòu)成循環(huán)結(jié)構(gòu)的循環(huán)語句:while、do-while和for。
while語句和用while語句構(gòu)成的循環(huán)結(jié)構(gòu)
1.1 while循環(huán)的一般形式
由while語句構(gòu)成的循環(huán)也稱“當(dāng)”型循環(huán),while循環(huán)的一般形式如下:
while(表達(dá)式)循環(huán)體
例如:
k=0
while(k<10){ printf(“*”);k++;}
程序段將重復(fù)輸出語句printf,輸出10個*號。
說明:
(1)while是C語言的關(guān)鍵字。
(2)while后一對圓括號中的表達(dá)式可以是C語言中任意合法的表達(dá)式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。
(3)在語法上,循環(huán)體只能是一條可執(zhí)行語句,若循環(huán)體內(nèi)有多個語句,應(yīng)該使用復(fù)合語句。
1.2 while循環(huán)的執(zhí)行過程
while循環(huán)的執(zhí)行過程如下:
(1)計算while后圓括號中表達(dá)式的值。當(dāng)值為非0時,執(zhí)行步驟(2);當(dāng)值為0時,執(zhí)行步驟(4)。
(2)執(zhí)行循環(huán)體一次。
(3)轉(zhuǎn)去執(zhí)行步驟(1)。
(4)退出while循環(huán)。
由以上執(zhí)行過程可知,while后圓括號中表達(dá)式的值決定了循環(huán)體是否將被執(zhí)行。因此,進(jìn)入while循環(huán)后,一定要有能使此表達(dá)式的值變?yōu)?的操作,否則循環(huán)將會無限制地進(jìn)行下去,成為無限循環(huán)(死循環(huán))。若此表達(dá)式的值不變,則循環(huán)體內(nèi)應(yīng)有在某種條件下強(qiáng)行終止循環(huán)的語句(如break等)。
請初學(xué)者注意:
(1)while語句的循環(huán)體可能一次都不執(zhí)行,因為while后圓括號中的條件表達(dá)式可能一開始就為0。
(2)在設(shè)計循環(huán)時,通常應(yīng)在循環(huán)體內(nèi)改變條件表達(dá)式中有關(guān)變量的值,使條件表達(dá)式的值最終變成0,以便能結(jié)束循環(huán)。
(3)當(dāng)循環(huán)體需要無條件循環(huán),條件表達(dá)式可以設(shè)為1(恒真),但是循環(huán)體內(nèi)要帶條件的非正常出口(break等)。
5.2.1 do—while語句構(gòu)成的循環(huán)結(jié)構(gòu)
do—while循環(huán)結(jié)構(gòu)的形式如下:
do
循環(huán)體
while(表達(dá)式);
例如:
do
{ i++;s+=i;
}while(i<10);
說明:
(1)do是C語言的關(guān)鍵字,必須和while聯(lián)合使用。
(2)do—while循環(huán)由do開始,至while結(jié)束。必須注意的是:在while(表達(dá)式)后的“;”不可丟,它表示do—while語句的結(jié)束。
(3)while后一對圓括號中的表達(dá)式,可以是C語言中任意合法的表達(dá)式,由它控制循環(huán)是否執(zhí)行。
(4)按語法,在do和while之間的循環(huán)體只能是一條可執(zhí)行語句。若循環(huán)體內(nèi)需要多個語句,應(yīng)該使用復(fù)合語句。
5.2.2 do—while循環(huán)的執(zhí)行過程
do—while循環(huán)的執(zhí)行過程如下:
(1)執(zhí)行do后面循環(huán)體中的語句。
(2)計算while后一對圓括號中表達(dá)式的值。當(dāng)值為非0時,轉(zhuǎn)去執(zhí)行步驟(1);當(dāng)值為0
時,執(zhí)行步驟(3)。
(3)退出do—while循環(huán)。
由do—while構(gòu)成的循環(huán)與while循環(huán)十分相似,它們之間的重要區(qū)別是:while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面條件表達(dá)式的值為非0時,才可能執(zhí)行循環(huán)體,因此循環(huán)體可能一次都不執(zhí)行;在do—while構(gòu)成的循環(huán)中,總是先執(zhí)行一次循環(huán)體,然后再求條件表達(dá)式的值,因此,無論條件表達(dá)式的值是0還是非0,循環(huán)體至少要被執(zhí)行一次。
和while循環(huán)一樣,在do—while循環(huán)體中,一定要有能使while后表達(dá)式的值變?yōu)?的操作,否則,循環(huán)將會無限制地進(jìn)行下去,除非循環(huán)體中有帶條件的非正常出口(break等)。
5.3 for語句和用for語句構(gòu)成的循環(huán)結(jié)構(gòu)
5.3.1 for語句構(gòu)成的循環(huán)結(jié)構(gòu)
for語句構(gòu)成的循環(huán)結(jié)構(gòu)通常稱為for循環(huán)。for循環(huán)的一般形式如下:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 循環(huán)體
例如:for (k=0;k<10;k++) printf(“*”);
以上for循環(huán)在一行上輸入10個*號。
for是C語言的關(guān)鍵字,其后的一對圓括號中通常含有三個表達(dá)式,各表達(dá)式之間用“;”隔開。這三個表達(dá)式可以是任意形式的表達(dá)式,通常主要用于for循環(huán)的控制,緊跟for(…)之后的循環(huán)體在語法上要求是一條語句,若需要多條語句,應(yīng)該使用復(fù)合語句。
for循環(huán)的一般形式等價于下面的程序段:
表達(dá)式1;
while(表達(dá)式2)
{
循環(huán)體
表達(dá)式3
}
5.3.2 for循環(huán)的執(zhí)行過程
for循環(huán)的執(zhí)行過程如下:
(1)計算表達(dá)式1;
(2)計算表達(dá)式2,若其值為非0,轉(zhuǎn)步驟(3);若其值為0,轉(zhuǎn)步驟(5);
(3)執(zhí)行一次for循環(huán)體;
(4)計算表達(dá)式3,轉(zhuǎn)向步驟(2);
(5)結(jié)束循環(huán)。
【計算機(jī)二級C語言考點:循環(huán)結(jié)構(gòu)】相關(guān)文章:
C語言基礎(chǔ)循環(huán)結(jié)構(gòu)07-28
計算機(jī)二級C語言考點:結(jié)構(gòu)體和共用體10-04
C語言選擇結(jié)構(gòu)考點10-07
2017年計算機(jī)二級C語言循環(huán)結(jié)構(gòu)知識點08-10
2015年計算機(jī)二級考試C語言復(fù)習(xí)重點:循環(huán)結(jié)構(gòu)05-30
C語言循環(huán)結(jié)構(gòu)知識點07-16
最新計算機(jī)二級《C語言》重要考點08-23