亚洲一区亚洲二区亚洲三区,国产成人高清在线,久久久精品成人免费看,999久久久免费精品国产牛牛,青草视频在线观看完整版,狠狠夜色午夜久久综合热91,日韩精品视频在线免费观看

七、 循環(huán)語(yǔ)句和循環(huán)控制 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.ishadingyu.com - 電腦資料】

   

    Turbo C 2.0提供三種基本的循環(huán)語(yǔ)句: for語(yǔ)句、while語(yǔ)句和do-while語(yǔ)句,

七、 循環(huán)語(yǔ)句和循環(huán)控制

。

    一、循環(huán)語(yǔ)句

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

    for(<初始化>;<條件表過(guò)式>;<增量>)

    語(yǔ)句;

    初始化總是一個(gè)賦值語(yǔ)句,它用來(lái)給循環(huán)控制變量賦初值;條件表達(dá)式是一個(gè)關(guān)系表達(dá)式,它決定什么時(shí)候退出循環(huán);增量定義循環(huán)控制變量每循環(huán)一次后按什么方式變化。這三個(gè)部分之間用;分開(kāi)。

    例如:

    for(i=1;i<=10;i++)

    語(yǔ)句;

    上例中先給i賦初值1,判斷i是否小于等于10,若是則執(zhí)行語(yǔ)句,之后值增加1。再重新判斷,直到條件為假,即i>10時(shí),結(jié)束循環(huán)。

    注意:

    (1).for循環(huán)中語(yǔ)句可以為語(yǔ)句體,但要用{和}將參加循環(huán)的語(yǔ)句括起來(lái)。

    (2).for循環(huán)中的初始化、條件表達(dá)式和增量都是選擇項(xiàng),即可以缺省,但;不能缺省。省略了初始化,表示不對(duì)循環(huán)控制變量賦初值。省略了條件表達(dá)式,則不做其它處理時(shí)便成為死循環(huán)。省略了增量,則不對(duì)循環(huán)控制變量進(jìn)行操作,這時(shí)可在語(yǔ)句體中加入修改循環(huán)控制變量的語(yǔ)句。

    (3).for循環(huán)可以有多層嵌套。

    例如:

    for(;;) 語(yǔ)句;

    for(i=1;;i+=2) 語(yǔ)句;

    for(j=5;;) 語(yǔ)句;

    這些for循環(huán)語(yǔ)句都是正確的。

    main()

    {

    int i,j;

    printf(i j\n);

    for(i=0;i<2;i++)

    for(j=0;j<3;j++)

    printf(%d %d\n,i,j);

    }

    輸出結(jié)果為:

    i j

    0 0

    0 1

    0 2

    1 0

    1 1

    1 2

    用for循環(huán)求1+2+……+100的和:

    main()

    {

    int sn=0,i;

    for(i=1;i<=100;i++)

    sn+=i; /*1+2+……+100*/

    printf(%d\n,sn);

    }

    從程序可以看出,使用循環(huán)語(yǔ)句可以大大簡(jiǎn)化代碼。

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

    while(條件)

    語(yǔ)句;

    while循環(huán)表示當(dāng)條件為真時(shí),便執(zhí)行語(yǔ)句。直到條件為假才結(jié)束循環(huán)。并繼續(xù)執(zhí)行循環(huán)程序外的后續(xù)語(yǔ)句。

    例如:

    #include stdio.h

    main()

    {

    char c;

    c='\0'; /*初始化c*/

    while(c!='\n') /*回車結(jié)束循環(huán)*/

    c=getche(); /*帶回顯的從鍵盤(pán)接收字符*/

    }

    上例中,while循環(huán)是以檢查c是否為回車符開(kāi)始,因其事先被初始化為空,所以條件為真,進(jìn)入循環(huán)等待鍵盤(pán)輸入字符;一旦輸入回車,則c='\n',條件為假,循環(huán)便告結(jié)束。與for循環(huán)一樣,while循環(huán)總是在循環(huán)的頭部檢驗(yàn)條件,這就意味著循環(huán)可能什么也不執(zhí)行就退出。

    注意:

    (1).在while循環(huán)體內(nèi)也允許空語(yǔ)句。

    例如:

    while((c=getche())!='\n');

    這個(gè)循環(huán)直到鍵入回車為止。

    (2).可以有多層循環(huán)嵌套。

    (3).語(yǔ)句可以是語(yǔ)句體, 此時(shí)必須用{和}括起來(lái)。

    用while循環(huán)求1+2+……+100的和:

    main()

    {

    int sn=0,i=0;

    while(++i<=100)

    sn+=i; /*求1+2+……+100*/

    printf(%d\n,sn);

    }

    (三)、do--while循環(huán) 它的一般格式為:

    do

    {

    語(yǔ)句塊;

    }

    while(條件);

    這個(gè)循環(huán)與while循環(huán)的不同在于:它先執(zhí)行循環(huán)中的語(yǔ)句,然后再判斷條件是否為真,如果為真則繼續(xù)循環(huán);如果為假,則終止循環(huán),

電腦資料

七、 循環(huán)語(yǔ)句和循環(huán)控制》(http://www.ishadingyu.com)。因此,do-while循環(huán)至少要執(zhí)行一次循環(huán)語(yǔ)句。

    同樣當(dāng)有許多語(yǔ)句參加循環(huán)時(shí),要用{和}把它們括起來(lái)。

    用do--while循環(huán)求1+2+……+100的和:

    main()

    {

    int sn=0,i=1;

    do

    sn+=i; /*求1+2+……+100*/

    while(++i<=100);

    printf(%d\n,sn);

    }

    從上面三個(gè)程序看出,使用for,while和do--while求解同樣的問(wèn)題,基本思路都差不多,只是在第一次計(jì)算時(shí),注意初值。

    二、循環(huán)控制

    (一)、break語(yǔ)句

    break語(yǔ)句通常用在循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句中。當(dāng)break用于開(kāi)關(guān)語(yǔ)句switch中時(shí),可使程序跳出switch而執(zhí)行switch以后的語(yǔ)句;如果沒(méi)有break語(yǔ)句,則將成為一個(gè)死循環(huán)而無(wú)法退出。break在switch中的用法已在前面介紹開(kāi)關(guān)語(yǔ)句時(shí)的例子中碰到,這里不再舉例。

    當(dāng)break語(yǔ)句用于do-while、for、while循環(huán)語(yǔ)句中時(shí),可使程序終止循環(huán)而執(zhí)行循環(huán)后面的語(yǔ)句,通常break語(yǔ)句總是與if語(yǔ)句聯(lián)在一起。即滿足條件時(shí)便跳出循環(huán)。

    例如:

    main()

    {

    int sn=0,i;

    for(i=1;i<=100;i++)

    {

    if(i==51) break; /*如果i等于51,則跳出循環(huán)*/

    sn+=i; /*1+2+……+50*/

    }

    printf(%d\n,sn);

    }

    可以看出,最終的結(jié)果是1+2+……+50。因?yàn)樵趇等于51的時(shí)候,就跳出循環(huán)了。自己寫(xiě)寫(xiě)怎樣在while和do--while循環(huán)中增加break語(yǔ)句。

    注意:

    1. break語(yǔ)句對(duì)if-else的條件語(yǔ)句不起作用。

    2. 在多層循環(huán)中,一個(gè)break語(yǔ)句只向外跳一層。

    例如:

    main()

    {

    int i,j;

    printf(i j\n);

    for(i=0;i<2;i++)

    for(j=0;j<3;j++)

    {

    if(j==2) break;

    printf(%d %d\n,i,j);

    }

    }

    輸出結(jié)果為:

    i j

    0 0

    0 1

    1 0

    1 1

    當(dāng)i==0,j==2時(shí),執(zhí)行break語(yǔ)句,跳出到外層的循環(huán),i變?yōu)?。

    (二)、continue語(yǔ)句

    continue語(yǔ)句的作用是跳過(guò)循環(huán)本中剩余的語(yǔ)句而強(qiáng)行執(zhí)行下一次循環(huán)。

    continue語(yǔ)句只用在for、while、do-while等循環(huán)體中, 常與if條件語(yǔ)句一起使用,用來(lái)加速循環(huán)。

    例如:

    main()

    {

    int sn=0,i;

    for(i=1;i<=100;i++)

    {

    if(i==51) continue; /*如果i等于51,則結(jié)束本次循環(huán)*/

    sn+=i; /*1+2+……+50+52+……+100*/

    }

    printf(%d\n,sn);

    }

    從程序中可以看出,continue語(yǔ)句只是當(dāng)前的值沒(méi)有執(zhí)行,也就是說(shuō)當(dāng)前的值跳過(guò)去了,接著執(zhí)行下次循環(huán)。

最新文章