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

        ?

        C語(yǔ)言中循環(huán)語(yǔ)句的分析

        2017-04-10 06:20:51張國(guó)欽宋偉馬俊興
        電腦知識(shí)與技術(shù) 2017年4期

        張國(guó)欽++宋偉++馬俊興

        摘要:循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)的三種基本結(jié)構(gòu)之一,在程序設(shè)計(jì)中具有重要地位。分析了C語(yǔ)言中的循環(huán)語(yǔ)句,指出了各自所屬的循環(huán)結(jié)構(gòu),并對(duì)它們的區(qū)別和適用場(chǎng)合做了分析。

        關(guān)鍵詞:循環(huán)結(jié)構(gòu);while語(yǔ)句;do...while語(yǔ)句;for語(yǔ)句

        中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)04-0063-02

        Analysis of Loop Statements in C Language

        ZHANG Guo-qin, SONG Wei, MA Jun-xing

        (The Center of the Modern Educational Technology, Henan Finance and Banking College, Zhengzhou 450046, China)

        Abstract: Loop structure is one of the three basic structures of program design, which has an important position in programming. This paper analyzes the loop statements in C language, and points out their respective loop structures, and analyzes their differences and application occasions.

        Key words: loop structure; while statement; do...while statement; for statement

        1 背景

        1966年,Bohra和Jacopini提出了程序設(shè)計(jì)的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)將一些指令組合起來(lái)構(gòu)成循環(huán)體,當(dāng)滿足某種條件時(shí)反復(fù)執(zhí)行。循環(huán)結(jié)構(gòu)包括當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)。C語(yǔ)言中實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的循環(huán)語(yǔ)句包括if...goto語(yǔ)句、while語(yǔ)句、do...while語(yǔ)句和for語(yǔ)句。if...goto語(yǔ)句因?yàn)椴环辖Y(jié)構(gòu)化程序設(shè)計(jì)的要求現(xiàn)在已經(jīng)很少有人使用,while語(yǔ)句和for語(yǔ)句很好理解,而do...while語(yǔ)句卻讓很多人疑惑,不知道它到底屬于當(dāng)型循環(huán)結(jié)構(gòu)還是直到型循環(huán)結(jié)構(gòu)。網(wǎng)上也經(jīng)常有人提出這樣的疑問(wèn),而很多教材對(duì)此解釋得不甚清晰,更增加了C語(yǔ)言初學(xué)者的困惑。本文將試圖厘清這些循環(huán)語(yǔ)句及它們所屬的循環(huán)結(jié)構(gòu),并對(duì)它們的區(qū)別和適用場(chǎng)合做一分析。

        2 循環(huán)結(jié)構(gòu)的分類

        2.1 當(dāng)型(while型)循環(huán)結(jié)構(gòu)

        當(dāng)型循環(huán)結(jié)構(gòu)如圖1(a)所示。它的執(zhí)行過(guò)程為:先判斷條件c1,如果c1成立,則執(zhí)行循環(huán)體A,執(zhí)行完A后,再判斷條件c1,如果c1成立,再執(zhí)行循環(huán)體A,如此反復(fù)執(zhí)行循環(huán)體A,直到某一次條件c1不成立為止,此時(shí)不執(zhí)行循環(huán)體A,而從b點(diǎn)離開(kāi)循環(huán)結(jié)構(gòu)。當(dāng)型循環(huán)結(jié)構(gòu)的主要特點(diǎn)是當(dāng)循環(huán)條件成立時(shí)執(zhí)行循環(huán)體,當(dāng)循環(huán)條件不成立時(shí)離開(kāi)循環(huán)體。

        2.2 直到型(until型)循環(huán)結(jié)構(gòu)

        直到型循環(huán)結(jié)構(gòu)如圖1(b)所示。它的執(zhí)行過(guò)程為:先執(zhí)行循環(huán)體A,然后判斷條件c2是否成立,如果c2不成立,則繼續(xù)執(zhí)行循環(huán)體A,然后再對(duì)條件c2作判斷,如果條件c2仍然不成立,則繼續(xù)執(zhí)行循環(huán)體A,如此反復(fù)執(zhí)行A,直到給定的條件c2成立為止,此時(shí)不再執(zhí)行循環(huán)體A,從b點(diǎn)離開(kāi)循環(huán)結(jié)構(gòu)。直到型循環(huán)結(jié)構(gòu)的主要特點(diǎn)是當(dāng)循環(huán)條件成立時(shí)離開(kāi)循環(huán)體,當(dāng)循環(huán)條件不成立時(shí)執(zhí)行循環(huán)體。

        很容易看出,如果當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu)執(zhí)行相同的功能,那么循環(huán)條件c1和c2之間必然存在關(guān)系:c2=,也就是說(shuō)c1和c2是互為相反的條件。

        3 C語(yǔ)言中的循環(huán)語(yǔ)句

        C語(yǔ)言中的循環(huán)語(yǔ)句包括if...goto語(yǔ)句、while語(yǔ)句、do...while語(yǔ)句和for語(yǔ)句。我們用這幾個(gè)語(yǔ)句分別來(lái)求解一個(gè)簡(jiǎn)單的問(wèn)題(記為問(wèn)題a):求n的階乘n!的值(假定n2)。從中來(lái)分析它們的區(qū)別。

        3.1 if...goto語(yǔ)句

        goto語(yǔ)句為無(wú)條件轉(zhuǎn)移語(yǔ)句,一般格式為goto 語(yǔ)句標(biāo)號(hào);當(dāng)goto語(yǔ)句和if語(yǔ)句結(jié)合就可以實(shí)現(xiàn)有條件的轉(zhuǎn)移,從而實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。用if...goto語(yǔ)句求問(wèn)題a的代碼為:

        當(dāng)型循環(huán)結(jié)構(gòu) 直到型循環(huán)結(jié)構(gòu)

        3.2 while語(yǔ)句

        while語(yǔ)句的一般格式為:while(條件表達(dá)式)循環(huán)體;。while語(yǔ)句的特點(diǎn)是:

        1)當(dāng)條件表達(dá)式為真時(shí),執(zhí)行循環(huán)體;為假時(shí),離開(kāi)循環(huán)體。因此,while語(yǔ)句屬于當(dāng)型循環(huán)結(jié)構(gòu)。

        2)先判斷條件表達(dá)式,后執(zhí)行循環(huán)體。

        用while語(yǔ)句求解問(wèn)題a的代碼為:

        do...while語(yǔ)句的特點(diǎn)是先執(zhí)行一次循環(huán)體,然后判斷條件表達(dá)式,如果為真,則繼續(xù)執(zhí)行循環(huán)體;如果為假,則離開(kāi)循環(huán)體。因此,do...while語(yǔ)句屬于當(dāng)型循環(huán)結(jié)構(gòu),雖然它從形式上來(lái)說(shuō)很像直到型循環(huán)結(jié)構(gòu)。do...while語(yǔ)句和pascal語(yǔ)言中的repeat...until語(yǔ)句很像,都是先執(zhí)行循環(huán)體,再做條件判斷,但repeat...until語(yǔ)句是條件為真時(shí)離開(kāi)循環(huán)體,屬于直到型循環(huán)結(jié)構(gòu)。

        用do...while語(yǔ)句求解問(wèn)題a的代碼為:

        假如do...while語(yǔ)句是直到型循環(huán)結(jié)構(gòu),那么它的條件表達(dá)式和while語(yǔ)句的條件表達(dá)式一定是相反的,如果把do...while語(yǔ)句中的條件i<=n改成i>n,則得不到想要的結(jié)果。do...while語(yǔ)句和while語(yǔ)句的區(qū)別是當(dāng)循環(huán)條件一開(kāi)始就為假時(shí),do...while語(yǔ)句執(zhí)行1次循環(huán)體,while語(yǔ)句執(zhí)行0次。

        3.4 for語(yǔ)句

        for語(yǔ)句的一般格式為:

        for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體;

        其中表達(dá)式1為初始化語(yǔ)句,一般情況下包含循環(huán)變量的初始化,僅在循環(huán)開(kāi)始時(shí)執(zhí)行一次。表達(dá)式2為循環(huán)條件表達(dá)式,用來(lái)判定是否繼續(xù)循環(huán)。在每次執(zhí)行循環(huán)體前先執(zhí)行此表達(dá)式,值為真時(shí)繼續(xù)執(zhí)行循環(huán)體,值為假時(shí)離開(kāi)循環(huán)體。因此for語(yǔ)句屬于當(dāng)型循環(huán)結(jié)構(gòu)。表達(dá)式3作為循環(huán)的調(diào)整,一般情況下是改變循環(huán)變量的值,使循環(huán)體執(zhí)行若干次之后循環(huán)條件表達(dá)式的值為假,從而離開(kāi)循環(huán)體。

        對(duì)for語(yǔ)句的說(shuō)明:

        1)表達(dá)式1~3都可以省略。省略表達(dá)式1以后,表達(dá)式1要放到for語(yǔ)句之前以完成對(duì)循環(huán)變量的初始化;省略表達(dá)式2后,表示循環(huán)條件永遠(yuǎn)為真;省略表達(dá)式3后,表達(dá)式3要放到循環(huán)體內(nèi)。

        2)for語(yǔ)句可以改寫為while語(yǔ)句的形式:

        表達(dá)式1;

        3.5 幾種循環(huán)語(yǔ)句的比較

        1)while語(yǔ)句和do...while語(yǔ)句一般用于處理循環(huán)條件已知,循環(huán)次數(shù)不確定的情況。

        2)for語(yǔ)句一般用于處理循環(huán)次數(shù)確定的情況,也可以用于循環(huán)次數(shù)不確定而只給出循環(huán)條件的情況,它完全可以代替while語(yǔ)句。因此for語(yǔ)句更為靈活,功能也更為強(qiáng)大。

        3)if...goto語(yǔ)句既可以實(shí)現(xiàn)當(dāng)型循環(huán)結(jié)構(gòu),也可以實(shí)現(xiàn)直到型循環(huán)結(jié)構(gòu),不過(guò)現(xiàn)在已經(jīng)不常用。while語(yǔ)句、do...while語(yǔ)句和 for語(yǔ)句均屬于當(dāng)型循環(huán)結(jié)構(gòu)。

        4)這幾種語(yǔ)句可以用來(lái)處理同一問(wèn)題,可以相互替代,沒(méi)有實(shí)質(zhì)上的差別。

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

        循環(huán)結(jié)構(gòu)在程序設(shè)計(jì)中占有重要地位,只有弄清楚基本概念,熟練掌握各種循環(huán)語(yǔ)句的基本用法,才能寫出可讀性更強(qiáng),執(zhí)行效率更高的程序。

        參考文獻(xiàn):

        [1] 譚浩強(qiáng). C程序設(shè)計(jì)[M]. 4版.北京: 清華大學(xué)出版社, 2010: 26-27.

        [2] 李瑞華.C語(yǔ)言循環(huán)語(yǔ)句淺析[J]. 電腦知識(shí)與技術(shù), 2011, 7(26): 6423-6424.

        亚洲国产精品高清在线| 日本一区二区三区精品不卡| 国产丰满老熟女重口对白| 精品久久久久久无码中文野结衣| 精品国产亚洲av高清日韩专区| 欧美日韩中文字幕日韩欧美| 精品国产av 无码一区二区三区| 欧美肥婆性猛交xxxx| 久亚洲精品不子伦一区| 日本视频精品一区二区| 中文亚洲日韩欧美| 在熟睡夫面前侵犯我在线播放| 久久精品免费一区二区喷潮| 日本高清一区二区在线播放| 无遮挡粉嫩小泬| 精品国产一区二区三区AV小说| 国内精品伊人久久久久影院对白 | 精品国产福利一区二区三区| 91天堂素人精品系列全集亚洲 | 一区五码在线| 精品无码国产污污污免费| 女人被爽到呻吟gif动态图视看 | av无码久久久久久不卡网站| 亚洲色无码国产精品网站可下载| 高h纯肉无码视频在线观看| 成年av动漫网站18禁| 最新中文字幕日韩精品| 亚洲av成人波多野一区二区 | 一区二区三区日韩蜜桃| 亚洲国产都市一区二区| 一区二区三区婷婷中文字幕| 日韩av一区二区毛片| 欧美三级免费网站| 亚洲 都市 校园 激情 另类| 国外精品视频在线观看免费| 亚洲中文字幕在线观看| 国产精品久久久久久一区二区三区| 精品无码久久久久久久久水蜜桃| 免费黄片小视频在线播放| 自拍偷区亚洲综合第一页| 亚洲国产成人精品一区刚刚|