C語言的基本結(jié)構(gòu)之一。在程序中有連續(xù)執(zhí)行的操作可以用循環(huán)結(jié)構(gòu),簡化函數(shù),C語言中有三種循環(huán)結(jié)構(gòu),for循環(huán),while循環(huán),do-while循環(huán),其中for循環(huán)最常用。
一循環(huán)結(jié)構(gòu)概述
1.什么是循環(huán)執(zhí)行
循環(huán)執(zhí)行是循環(huán)結(jié)構(gòu)的核心,表現(xiàn)為反復(fù)執(zhí)行一個(gè)或一組操作。在編程中,如果想要從數(shù)據(jù)處理中發(fā)現(xiàn)循環(huán)執(zhí)行,就要分析程序的執(zhí)行結(jié)果與數(shù)據(jù)的處理過程。
a.分析程序的執(zhí)行結(jié)果
大部分程序在處理數(shù)據(jù)后,都有明確的執(zhí)行結(jié)果。從程序的執(zhí)行結(jié)果的表現(xiàn)形式和數(shù)量構(gòu)成,往往可以找到重復(fù)執(zhí)行的“痕跡”。
b.分析數(shù)據(jù)的處理過程
部分程序處理數(shù)據(jù)后沒有明確的結(jié)果,或者結(jié)果非常簡單,無法對(duì)其進(jìn)行分析。這個(gè)時(shí)候,可以分析數(shù)據(jù)的處理過程,從中發(fā)現(xiàn)重復(fù)操作的規(guī)律。
c.避免無限循環(huán)
對(duì)于循環(huán)執(zhí)行,一定要注意循環(huán)操作的終止條件,避免出現(xiàn)無意義的無限循環(huán),也就是死循環(huán),終止條件用于限制循環(huán)操作的無限執(zhí)行,規(guī)定什么時(shí)候結(jié)束循環(huán)操作,如果沒有會(huì)導(dǎo)致程序出現(xiàn)問題。
2.循環(huán)結(jié)構(gòu)的構(gòu)成
一個(gè)完整的循環(huán)包括四個(gè)部分:初始化部分、判斷部分、循環(huán)部分、迭代部分
a.初始化部分
初始化部分用來描述循環(huán)操作前的基本情況。在程序中,初始化部分一般由各種初始條件和額外的計(jì)數(shù)器組成。在C語言中,計(jì)數(shù)器一般使用變量i、j、k表示,完整準(zhǔn)確的初始化才能保證程序的正常進(jìn)行。
b.判斷部分
判斷部分又稱終止部分,用來在每次進(jìn)行循環(huán)操作之前或者之后判斷是否完成目標(biāo)任務(wù)。
c.循環(huán)部分
循環(huán)部分是指反復(fù)執(zhí)行的操作部分,其中可能是極其簡單的操作,也可能是復(fù)雜的。
d.迭代部分
迭代部分是指用于修改關(guān)鍵狀態(tài),而該狀態(tài)參與判斷部分的處理。如果確實(shí)這個(gè)部分,就有可能陷入死循環(huán)。
二.for循環(huán)
C語言中最常用,最嚴(yán)格,功能最強(qiáng)的循環(huán)語句
1.語句結(jié)構(gòu)
由初始條件,判斷條件,迭代條件及循環(huán)體四個(gè)部分組成
for(初始條件;判斷條件;迭代條件)
{
循環(huán)體;
}
(1)初始條件可以初始化環(huán)境,用于確定具體的起始循環(huán)環(huán)境。
(2)判斷條件用于判斷是否滿足條件,如果滿足,執(zhí)行循環(huán)體,如果不滿足,跳出循環(huán)。
(3)迭代條件用于改變參與判斷條件的值,只有判斷條件的值不斷改變,才能推動(dòng)循環(huán)語句的進(jìn)行,避免陷入死循環(huán)。
(4)循環(huán)體就是指循環(huán)執(zhí)行的具體內(nèi)容。
2.流程
for循環(huán)語句在每次循環(huán)時(shí)都要做一次條件判斷,如果判斷結(jié)果為假,則跳出循環(huán),如果為真繼續(xù)循環(huán)
首先從初始條件進(jìn)入循環(huán)語句。然后進(jìn)行判斷條件,進(jìn)行判斷如果為真則進(jìn)入循環(huán),循環(huán)結(jié)束則進(jìn)行迭代條件,之后再次進(jìn)入判斷條件判斷是否真假,依此類推,直至判斷條件為假跳出循環(huán)
3.簡化形式
for循環(huán)語句的簡化形式是指將小括號(hào)中的初始條件與迭代條件省略,只保留判斷條件 (但是分號(hào)不可略)
for(;判斷條件;)
{
循環(huán)體;
}
當(dāng)for循環(huán)語句的循環(huán)體是單條語句時(shí),可以省略{}
三.while循環(huán)語句
在C語言中,while循環(huán)語句實(shí)際上就是for循環(huán)語句的簡化形式的另外一種寫法,也屬于當(dāng)型循環(huán)語句。
1.語句結(jié)構(gòu)
while循環(huán)語句是指當(dāng)判定條件成立時(shí),執(zhí)行指定語句。
while循環(huán)語句的語法如下:
while(判定條件)
{
循環(huán)體;
}
其中,判定條件可以是關(guān)系表達(dá)式(隱式關(guān)系表達(dá)式)或邏輯表達(dá)式,用于控制循環(huán)的次數(shù),循環(huán)體可以為語句或語句塊,為循環(huán)語句執(zhí)行的具體內(nèi)容。
判斷條件不可以被省略
2.循環(huán)方式
while循環(huán)語句在每次循環(huán)時(shí)都要做一次條件判斷,如果判斷結(jié)果為真則進(jìn)入循環(huán),若為假,跳出循環(huán);
四.do-while循環(huán)語句
直到型循環(huán)是常用的循環(huán)結(jié)構(gòu)形式。它是先運(yùn)行循環(huán)體,在進(jìn)行條件判斷。這種形式中,如果滿足條件,則再次運(yùn)行循環(huán)體;如果不滿足,則跳出循環(huán)體。簡而言之,直到型循環(huán)就是先執(zhí)行后判斷。
1.語句結(jié)構(gòu)
do-while循環(huán)語句是先執(zhí)行循環(huán)體,直到判斷條件不滿足時(shí)結(jié)束循環(huán)。
do
{
循環(huán)體
}while(判斷條件);
其中循環(huán)體可以是單條語句也可以是語句塊,會(huì)被直接執(zhí)行;判斷條件可以是關(guān)系表達(dá)式(隱式關(guān)系表達(dá)式)或邏輯表達(dá)式,且不可以被省略;判斷條件后的分號(hào)代表do-while循環(huán)語句的結(jié)束,不可省略
do-while循環(huán)語句會(huì)先執(zhí)行循環(huán)體,然后對(duì)判斷條件進(jìn)行判斷。根據(jù)判定結(jié)果選擇是否再次執(zhí)行循環(huán)體。
do-while循環(huán)語句中的循環(huán)體至少會(huì)被執(zhí)行一次
五.循環(huán)跳轉(zhuǎn)
循環(huán)跳轉(zhuǎn)是指再執(zhí)行循環(huán)語句過程中跳出循環(huán)語句或跳轉(zhuǎn)到指定位置。循環(huán)跳轉(zhuǎn)是在特殊情況下的備用選擇。在C語言中,循環(huán)跳轉(zhuǎn)包含3種,分別為跳出循環(huán)、跳出當(dāng)前循環(huán)以及跳轉(zhuǎn)到指定位置 。
1.跳出循環(huán)
跳出循環(huán)是指跳出當(dāng)前循環(huán)語句,不再執(zhí)行循環(huán)語句。在C語言中,使用break語句來實(shí)現(xiàn)跳出循環(huán)
2.跳出當(dāng)前循環(huán)
跳出當(dāng)前循環(huán)是指跳出本次循環(huán)語句,并嘗試再次進(jìn)入循環(huán)語句。在C語言中,使用contine語句來實(shí)現(xiàn)跳出當(dāng)前循環(huán)。
3.跳轉(zhuǎn)至指定位置
跳轉(zhuǎn)至指定位置是指直接跳轉(zhuǎn)到一個(gè)預(yù)先指定位置。在C語言中,使用goto語句來實(shí)現(xiàn)跳轉(zhuǎn)到指定位置。
goto 標(biāo)號(hào);
標(biāo)號(hào):
goto語句由兩部分組成:第一部分由關(guān)鍵字goto與標(biāo)號(hào)組成,表示跳轉(zhuǎn)到開始位置;第二部分由標(biāo)號(hào)與冒號(hào)組成,表示跳轉(zhuǎn)到目的位置。
標(biāo)號(hào)是按標(biāo)識(shí)符規(guī)定書寫的符號(hào);標(biāo)號(hào)與冒號(hào)組成標(biāo)識(shí)語句。
六.嵌套循環(huán)
嵌套循環(huán)是指為了完成復(fù)雜的循環(huán),將多個(gè)循環(huán)語句進(jìn)行相互嵌套。在C語言中,嵌套循環(huán)包括普通嵌套與復(fù)雜嵌套循環(huán)兩種方式。
1.普通嵌套循環(huán)
普通嵌套循環(huán)是將循環(huán)語句直接嵌套使用,循環(huán)語句之間互不影響。文章來源:http://www.zghlxwxcb.cn/news/detail-448282.html
for(i=1;i<4;i++)
{
for(j=1;j<=3;j++)
{
printf("%d\n",j);
}
printf("-------------\n");
}
2.復(fù)雜嵌套循環(huán)
復(fù)雜嵌套循環(huán)是指外層循環(huán)的迭代條件會(huì)影響到內(nèi)層循環(huán)的判斷條件。復(fù)雜嵌套循環(huán)與普通嵌套循環(huán)的執(zhí)行流程是一樣的。
在使用復(fù)雜嵌套循環(huán)時(shí),避免死循環(huán)文章來源地址http://www.zghlxwxcb.cn/news/detail-448282.html
到了這里,關(guān)于C語言基礎(chǔ)——循環(huán)結(jié)構(gòu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!