溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

c語(yǔ)言中用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的基本語(yǔ)句有哪些

發(fā)布時(shí)間:2021-01-30 09:28:45 來(lái)源:億速云 閱讀:534 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)c語(yǔ)言中用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的基本語(yǔ)句有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

三種循環(huán)基本語(yǔ)句:1、while循環(huán)語(yǔ)句,語(yǔ)法“while(表達(dá)式){語(yǔ)句塊}”;2、do-while循環(huán)語(yǔ)句,語(yǔ)法“do{語(yǔ)句塊}while(表達(dá)式);”;3、for循環(huán)語(yǔ)句,語(yǔ)法“for(初始化語(yǔ)句;循環(huán)條件;自增或自減){語(yǔ)句塊}”。

c語(yǔ)言中用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的三種基本語(yǔ)句是:while循環(huán)語(yǔ)句、do-while循環(huán)語(yǔ)句、for循環(huán)語(yǔ)句。

教程

while循環(huán)語(yǔ)句

while循環(huán)的一般形式為:

while(表達(dá)式){
    語(yǔ)句塊
}

意思是,先計(jì)算“表達(dá)式”的值,當(dāng)值為真(非0)時(shí), 執(zhí)行“語(yǔ)句塊”;執(zhí)行完“語(yǔ)句塊”,再次計(jì)算表達(dá)式的值,如果為真,繼續(xù)執(zhí)行“語(yǔ)句塊”……這個(gè)過(guò)程會(huì)一直重復(fù),直到表達(dá)式的值為假(0),就退出循環(huán),執(zhí)行 while 后面的代碼。

我們通常將“表達(dá)式”稱(chēng)為循環(huán)條件,把“語(yǔ)句塊”稱(chēng)為循環(huán)體,整個(gè)循環(huán)的過(guò)程就是不停判斷循環(huán)條件、并執(zhí)行循環(huán)體代碼的過(guò)程。

用 while 循環(huán)計(jì)算1加到100的值:

#include <stdio.h>
int main(){
    int i=1, sum=0;
    while(i<=100){
        sum+=i;
        i++;
    }
    printf("%d\n",sum);
    return 0;
}

運(yùn)行結(jié)果:

5050

代碼分析:

1) 程序運(yùn)行到 while 時(shí),因?yàn)?i=1,i<=100 成立,所以會(huì)執(zhí)行循環(huán)體;執(zhí)行結(jié)束后 i 的值變?yōu)?2,sum 的值變?yōu)?1。

2) 接下來(lái)會(huì)繼續(xù)判斷 i<=100是否成立,因?yàn)榇藭r(shí) i=2,i<=100 成立,所以繼續(xù)執(zhí)行循環(huán)體;執(zhí)行結(jié)束后 i 的值變?yōu)?3,sum 的值變?yōu)?。

3) 重復(fù)執(zhí)行步驟 2)。

4) 當(dāng)循環(huán)進(jìn)行到第100次,i 的值變?yōu)?101,sum 的值變?yōu)?050;因?yàn)榇藭r(shí) i<=100 不再成立,所以就退出循環(huán),不再執(zhí)行循環(huán)體,轉(zhuǎn)而執(zhí)行while循環(huán)后面的代碼。

while 循環(huán)的整體思路是這樣的:設(shè)置一個(gè)帶有變量的循環(huán)條件,也即一個(gè)帶有變量的表達(dá)式;在循環(huán)體中額外添加一條語(yǔ)句,讓它能夠改變循環(huán)條件中變量的值。這樣,隨著循環(huán)的不斷執(zhí)行,循環(huán)條件中變量的值也會(huì)不斷變化,終有一個(gè)時(shí)刻,循環(huán)條件不再成立,整個(gè)循環(huán)就結(jié)束了。

如果循環(huán)條件中不包含變量,會(huì)發(fā)生什么情況呢?

1) 循環(huán)條件成立時(shí)的話,while 循環(huán)會(huì)一直執(zhí)行下去,永不結(jié)束,成為“死循環(huán)”。

2) 循環(huán)條件不成立的話,while 循環(huán)就一次也不會(huì)執(zhí)行。

do-while循環(huán)

除了while循環(huán),在C語(yǔ)言中還有一種 do-while 循環(huán)。

do-while循環(huán)的一般形式為:

do{
    語(yǔ)句塊
}while(表達(dá)式);

do-while循環(huán)與while循環(huán)的不同在于:它會(huì)先執(zhí)行“語(yǔ)句塊”,然后再判斷表達(dá)式是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán)。因此,do-while 循環(huán)至少要執(zhí)行一次“語(yǔ)句塊”。

用do-while計(jì)算1加到100的值:

#include <stdio.h>
int main(){
    int i=1, sum=0;
    do{
        sum+=i;
        i++;
    }while(i<=100);
    printf("%d\n", sum);
    return 0;
}

運(yùn)行結(jié)果:

5050

注意while(i<=100);最后的分號(hào);,這個(gè)必須要有。

for循環(huán)語(yǔ)句

除了while循環(huán),C語(yǔ)言中還有 for 循環(huán),它的使用更加靈活,完全可以取代 while 循環(huán)。

for 循環(huán)的一般形式為:

for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3){
    語(yǔ)句塊
}

它的運(yùn)行過(guò)程為:

1) 先執(zhí)行“表達(dá)式1”--“初始化語(yǔ)句”。

2) 再執(zhí)行“表達(dá)式2”--“循環(huán)條件”;如果它的值為真(非0),則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。

3) 執(zhí)行完循環(huán)體后再執(zhí)行“表達(dá)式3”--“自增或自減”。

4) 重復(fù)執(zhí)行步驟 2) 和 3),直到“表達(dá)式2”的值為假,就結(jié)束循環(huán)。

上面的步驟中,2) 和 3) 是一次循環(huán),會(huì)重復(fù)執(zhí)行,for 語(yǔ)句的主要作用就是不斷執(zhí)行步驟 2) 和 3)。

“表達(dá)式1”僅在第一次循環(huán)時(shí)執(zhí)行,以后都不會(huì)再執(zhí)行,可以認(rèn)為這是一個(gè)初始化語(yǔ)句?!氨磉_(dá)式2”一般是一個(gè)關(guān)系表達(dá)式,決定了是否還要繼續(xù)下次循環(huán),稱(chēng)為“循環(huán)條件”?!氨磉_(dá)式3”很多情況下是一個(gè)帶有自增或自減操作的表達(dá)式,以使循環(huán)條件逐漸變得“不成立”。

for循環(huán)的執(zhí)行過(guò)程可用下圖表示:

c語(yǔ)言中用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的基本語(yǔ)句有哪些

用for語(yǔ)句計(jì)算1加到100的值:

#include <stdio.h>
int main(){
    int i, sum=0;
    for(i=1; i<=100; i++){
        sum+=i;
    }
    printf("%d\n",sum);
    return 0;
}

運(yùn)行結(jié)果:

5050

代碼分析:

1) 執(zhí)行到 for 語(yǔ)句時(shí),先給 i 賦初值1,判斷 i<=100 是否成立;因?yàn)榇藭r(shí) i=1,i<=100 成立,所以執(zhí)行循環(huán)體。循環(huán)體執(zhí)行結(jié)束后(sum的值為1),再計(jì)算 i++。

2) 第二次循環(huán)時(shí),i 的值為2,i<=100 成立,繼續(xù)執(zhí)行循環(huán)體。循環(huán)體執(zhí)行結(jié)束后(sum的值為3),再計(jì)算 i++。

3) 重復(fù)執(zhí)行步驟 2),直到第101次循環(huán),此時(shí) i 的值為101,i<=100 不成立,所以結(jié)束循環(huán)。

感謝各位的閱讀!關(guān)于“c語(yǔ)言中用于實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的基本語(yǔ)句有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI