亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語(yǔ)言程序設(shè)計(jì)中break語(yǔ)句分析

        2013-12-31 00:00:00李欣然趙山林
        計(jì)算機(jī)時(shí)代 2013年12期

        摘 要: 在C語(yǔ)言程序設(shè)計(jì)課程中,break語(yǔ)句有兩個(gè)作用:一是應(yīng)用于switch語(yǔ)句中,可以結(jié)束多分支選擇結(jié)構(gòu);二是應(yīng)用于循環(huán)結(jié)構(gòu)中,可以結(jié)束本層循環(huán)。通過(guò)實(shí)例分析出break語(yǔ)句使用的條件,break語(yǔ)句的功能,以及注意事項(xiàng),明確了break語(yǔ)句的使用方法。

        關(guān)鍵詞: C語(yǔ)言程序設(shè)計(jì); break語(yǔ)句; switch語(yǔ)句; 循環(huán)結(jié)構(gòu)

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)12-48-02

        Analysis on “break” in course of C language programming

        Li Xinran, Zhao Shanlin

        (North University of China, College of Computer and Control Engineering, Taiyuan, Shanxi 030051, China)

        Abstract: In the course of C language programming, the break statement has two functions. First, it is used in the switch statement, which can end Select Case. Second, it is applied to a loop structure, which can end this layer circulation. By analyzing the examples, the application conditions and functions of the break statement are revealed as well as things to note, and its application methods are clarified.

        Key words: C language programming; break statement; switch statement; loop structure

        0 引言

        在C語(yǔ)言程序設(shè)計(jì)課程中,break語(yǔ)句的功能非常容易理解,在switch語(yǔ)句中可以利用break語(yǔ)句結(jié)束switch結(jié)構(gòu);在循環(huán)結(jié)構(gòu)中可以利用break語(yǔ)句結(jié)束循環(huán)。但是,很多人并不清楚在什么條件下使用break語(yǔ)句,本文著重分析break語(yǔ)句的使用條件,以及break語(yǔ)句的常見用法。

        1 break語(yǔ)句在switch語(yǔ)句中的應(yīng)用

        switch語(yǔ)句是多分支選擇語(yǔ)句,一般形式[1]:

        switch(表達(dá)式)

        {

        case 常量表達(dá)式1: 語(yǔ)句1; [break;]

        case 常量表達(dá)式2: 語(yǔ)句2; [break;]

        case 常量表達(dá)式n: 語(yǔ)句n; [break;]

        default : 語(yǔ)句n+1; [break;]

        }

        switch語(yǔ)句執(zhí)行過(guò)程是[2]:

        ⑴ 計(jì)算switch語(yǔ)句表達(dá)式的值;

        ⑵ 依次與1-n個(gè)常量做比較,當(dāng)表達(dá)式的值與常量相等時(shí),執(zhí)行case后的語(yǔ)句;

        ⑶ 當(dāng)執(zhí)行break語(yǔ)句時(shí),結(jié)束switch語(yǔ)句;

        ⑷ 如無(wú)break,則從匹配的case語(yǔ)句起,一直執(zhí)行到break或switch語(yǔ)句末尾為止;

        ⑸ 如無(wú)匹配的case值時(shí),則執(zhí)行default相應(yīng)語(yǔ)句。

        switch語(yǔ)句說(shuō)明:

        ⑴ switch后括號(hào)內(nèi)的表達(dá)式可以是任意類型,會(huì)自動(dòng)轉(zhuǎn)化為整型;

        ⑵ 每個(gè)常量表達(dá)式的值必須互不相同;

        ⑶ 執(zhí)行完一個(gè)case后邊的語(yǔ)句后,轉(zhuǎn)到下一個(gè)case繼續(xù)執(zhí)行,可以用break強(qiáng)制程序在執(zhí)行完一個(gè)case后跳出switch結(jié)構(gòu)。如果所有case中的常量表達(dá)式都不符合,則執(zhí)行default后面的語(yǔ)句;

        ⑷ case后的多條語(yǔ)句不必用{}括起來(lái)。

        由此可見,對(duì)于break語(yǔ)句的使用,當(dāng)執(zhí)行完某個(gè)case常量表達(dá)式后面的語(yǔ)句,想要結(jié)束switch語(yǔ)句,此時(shí)應(yīng)該在相應(yīng)語(yǔ)句的后面執(zhí)行break語(yǔ)句。例如:

        main()

        { int x=1,y=0,a=0,b=0;

        switch(x)

        { case 1:

        switch(y)

        { case 0: a++; break;

        case 1: b++; break;

        }

        case 2: a++; b++; break;

        case 3: a++; b++;

        }

        printf(“\na=%d,b=%d”,a,b);

        }

        /*運(yùn)行結(jié)果為:a=2,b=1。*/

        分析運(yùn)行結(jié)果,由于case 1:語(yǔ)句中是switch語(yǔ)句的嵌套,而且嵌套的switch語(yǔ)句后面沒有執(zhí)行break語(yǔ)句。如果在內(nèi)嵌的switch語(yǔ)句后面執(zhí)行break語(yǔ)句,則運(yùn)行結(jié)果為:a=1,b=0,此時(shí)執(zhí)行了break語(yǔ)句,就從switch結(jié)構(gòu)中結(jié)束了。

        2 break語(yǔ)句在循環(huán)結(jié)構(gòu)中的應(yīng)用

        在循環(huán)結(jié)構(gòu)中使用break語(yǔ)句的形式是“break;”,break語(yǔ)句的功能是強(qiáng)行結(jié)束循環(huán),轉(zhuǎn)向執(zhí)行循環(huán)語(yǔ)句的下一條語(yǔ)句[3]。break執(zhí)行流程如圖1所示。

        [表達(dá)式] [表達(dá)式] [語(yǔ)句][語(yǔ)句] [break;][yes][no]

        圖1 break語(yǔ)句執(zhí)行流程圖

        如圖1所示,當(dāng)循環(huán)中執(zhí)行了break語(yǔ)句,循環(huán)將提前結(jié)束。那么在什么樣的條件下,循環(huán)結(jié)構(gòu)中需要使用break語(yǔ)句,對(duì)此我們通過(guò)一個(gè)例題,來(lái)分析使用break語(yǔ)句的條件。

        例題:判斷某一個(gè)一位數(shù)n是否在一個(gè)不高于四位的整數(shù)m中出現(xiàn)。判斷n是否在m中出現(xiàn),需要將n與m中的每一位數(shù)進(jìn)行比較,分離m中的每一位數(shù),可以借助于算數(shù)運(yùn)算符的求余和除,如果n==m%10,說(shuō)明n在m中出現(xiàn)了,此時(shí)需要提前結(jié)束循環(huán),這時(shí)要使用break語(yǔ)句。如果n!=m%10,那么就需要不斷求新的m,利用m=m/10求得新的m;重復(fù)n與m%10的比較過(guò)程。通過(guò)分析得知,循環(huán)結(jié)束有兩種可能,一種是n在m中出現(xiàn)了提前結(jié)束循環(huán);另一種是n在m中沒出現(xiàn),當(dāng)m的值變?yōu)?時(shí)結(jié)束的循環(huán)。由于此時(shí)不能判斷是什么原因結(jié)束的循環(huán),所以我們必須借助于標(biāo)示變量來(lái)區(qū)別這兩種情況。先將標(biāo)示變量flag的值置為1,如果n在m中出現(xiàn),則標(biāo)示標(biāo)量flag的值置為0。如果n沒在m中出現(xiàn)標(biāo)示變量的值不變,這樣結(jié)束循環(huán)后,可以通過(guò)標(biāo)示變量的值來(lái)判斷n在m中是否出現(xiàn)。

        通過(guò)上述分析得到循環(huán)中使用break語(yǔ)句的條件:當(dāng)存在著兩個(gè)獨(dú)立的條件都可以使循環(huán)結(jié)束時(shí),提前結(jié)束循環(huán)的條件就是使用break語(yǔ)句的條件;另外一個(gè)結(jié)束循環(huán)的條件作為控制循環(huán)的變量。此種用法通常借助標(biāo)示變量來(lái)區(qū)別結(jié)束循環(huán)的原因。使用break語(yǔ)句時(shí)候,還需注意break語(yǔ)句只能結(jié)束本層循環(huán),不能影響外層循環(huán)。

        判斷某一個(gè)一位數(shù)n是否在一個(gè)不高于四位的整數(shù)m中出現(xiàn)的算法實(shí)現(xiàn)如下:

        main()

        { int m,n,flag=1;

        scanf(\"%d%d\",m,n);

        while(m!=0)

        { if(n==m%10)

        { flag=0;

        break;

        }

        m=m/10;

        }

        if(flag) printf(\"no\n\");

        else printf(\"yes\n\");

        }

        3 結(jié)束語(yǔ)

        本文分析了C語(yǔ)言程序設(shè)計(jì)課程中break語(yǔ)句的使用方法。在switch語(yǔ)句中,可以結(jié)束多分支選擇結(jié)構(gòu);在循環(huán)結(jié)構(gòu)中,可以結(jié)束本層循環(huán)。同時(shí)分析出在兩種結(jié)構(gòu)中使用break語(yǔ)句的條件,并舉例說(shuō)明break語(yǔ)句的用法和需注意的要點(diǎn)。通過(guò)本文對(duì)break語(yǔ)句用法的分析,能讓學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)課程的學(xué)生更準(zhǔn)確地掌握break語(yǔ)句的用法,為學(xué)好結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)程序設(shè)計(jì)打好基礎(chǔ)。

        參考文獻(xiàn):

        [1] 譚浩強(qiáng).C程序設(shè)計(jì)[M].清華大學(xué)出版社,2001.

        [2] 趙山林.C語(yǔ)言程序設(shè)計(jì)[M].人民郵電出版社,2012.

        [3] 趙山林.C語(yǔ)言程序設(shè)計(jì)[M].高等教育出版社,2010.

        [4] 姚林.C語(yǔ)言程序設(shè)計(jì)[M].人民郵電出版社,2010.

        [5] 王敬華,林萍.C語(yǔ)言程序設(shè)計(jì)[M].清華大學(xué)出版社,2009.

        偷窥偷拍一区二区三区| 国产欧美日韩中文久久| 亚洲a∨无码男人的天堂| 中文字幕人妻少妇引诱隔壁| 国产精品美女久久久久久久| 亚洲免费毛片网| 色婷婷精久久品蜜臀av蜜桃| 少妇高潮在线精品观看| 99精品国产一区二区三区| 国产精品露脸张开双腿| 亚洲av精品一区二区三| 国产一区二区三区中出| 国产av无码专区亚洲精品| 天堂8中文在线最新版在线| 无码Av在线一区二区三区| 久久精品国产亚洲av热东京热| 久久精品99国产精品日本| 正在播放国产多p交换视频 | 日日摸夜夜添夜夜添无码免费视频 | 中文字幕偷拍亚洲九色| 亚洲成人精品久久久国产精品| 国产免费一区二区三区免费视频| а中文在线天堂| 一区二区三区中文字幕有码| 丰满人妻猛进入中文字幕| 国产精品欧美福利久久| 国产AV无码一区精品天堂| 久久洲Av无码西西人体| 81久久免费精品国产色夜| 久久天堂av综合合色| 97人妻碰碰视频免费上线| 妺妺窝人体色www在线直播| 日本一区不卡高清在线观看| 一区二区三区视频在线观看| 国产激情久久久久影院老熟女| 亚洲午夜无码AV不卡| 日本在线一区二区免费| 色婷婷亚洲一区二区三区| 中文字幕久久久精品无码| 麻豆国产AV网站| 人妻少妇精品专区性色anvn|