亚洲免费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.

        丰满人妻在公车被猛烈进入电影| 激情五月开心五月啪啪| 蜜桃传媒免费在线播放| 亚洲春色在线视频| 欧美伊人久久大香线蕉在观| 青青青草国产熟女大香蕉| 美腿丝袜日韩在线观看| 精品国产青草久久久久福利| 国产成人www免费人成看片| 天天射色综合| 日韩av一区二区蜜桃| 国产大片黄在线观看| 无遮高潮国产免费观看| 校花高潮一区日韩| 东京热加勒比视频一区| 大地资源网高清在线播放| 国内揄拍国内精品| 日本女优在线观看一区二区三区| 亚洲国产精品成人av在线不卡| 亚洲精品无码永久在线观看你懂的 | 一个人看的www免费视频中文| 超碰性爱| 日本精品免费看99久久| 日韩放荡少妇无码视频| 精品四虎免费观看国产高清| 国产一区二区三区涩涩涩 | 日本丶国产丶欧美色综合| 在线不卡中文字幕福利| 国产日产在线视频一区| 少妇无码av无码一区| 免费无码又爽又刺激高潮的视频网站| 漂亮人妻被强中文字幕乱码| 国产精品国产亚洲精品看不卡| 野花在线无码视频在线播放 | 老外和中国女人毛片免费视频| 欧美xxxx新一区二区三区| 国产精品高清视亚洲一区二区| 亚洲 欧美 国产 制服 动漫 | 久久久亚洲经典视频| 国产精品高清免费在线| 亚洲情综合五月天|