• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    C語言循環(huán)語句的分析與應(yīng)用

    2011-12-31 06:51:24鄭英姿
    城市建設(shè)理論研究 2011年28期
    關(guān)鍵詞:初值省略表達式

    鄭英姿

    摘要:目前,在很多高校, 對于計算機專業(yè)來說,《C語言》是一門非常重要的專業(yè)基礎(chǔ)課程,學習它的好壞,直接關(guān)系到后續(xù)課程的學習效果。C語言都被列為程序設(shè)計的入門語言,也是很多計算機專業(yè)學生學好《數(shù)據(jù)結(jié)構(gòu)》、《c++程序設(shè)計》等專業(yè)課的前提條件。而循環(huán)語句又是C語言學習中的一個重點與難點。根據(jù)本人的體會,淺談一下C語言循環(huán)語句的格式、執(zhí)行過程以及在學習、生活中的一些應(yīng)用。

    關(guān)鍵字:while語句;do……While語句;for語句

    一、引言

    C語言是目前最受歡迎的語言之一,它具有強大的功能,語言簡潔,結(jié)構(gòu)緊湊,使用方便、靈活。在解決實際問題的過程中,常常會遇到一些需要重復處理的問題,循環(huán)結(jié)構(gòu)可用來處理需要重復處理的問題。在C語言中,有三種類型的循環(huán)語句: while語句、do……While語句和for語句。前兩個是條件循環(huán),即根據(jù)條件是否為真來判斷是否繼續(xù)循環(huán),后一個是計數(shù)循環(huán),即根據(jù)設(shè)定的循環(huán)次數(shù)來執(zhí)行循環(huán)。

    一個完整的循環(huán)結(jié)構(gòu)一般由四部分組成:循環(huán)變量的初始化、循環(huán)控制條件、循環(huán)體、循環(huán)變量的增值,其中,循環(huán)變量的初始化是指在進入循環(huán)前,給循環(huán)變量賦初值,否則首次進入循環(huán)時,無法確定循環(huán)控制條件是否成立;循環(huán)控制條件是重復執(zhí)行循環(huán)體所需的條件,即當條件成立時執(zhí)行循環(huán)體,否則結(jié)束循環(huán);循環(huán)體是需要重復執(zhí)行的操作序列;循環(huán)變量是決定循環(huán)條件是否成立的變量;循環(huán)變量的增值反映了循環(huán)變量的改變規(guī)律,它使循環(huán)變量的值向著使循環(huán)結(jié)束的方向改變。

    二、三種循環(huán)語句的格式及執(zhí)行過程

    1、While 語句格式及執(zhí)行過程

    while( 表達式)

    循環(huán)體語句

    while語句的執(zhí)行過程為:① 計算while后條件表達式的值。② 若表達式的值為真,則執(zhí)行循環(huán)體語句,然后判斷條件是否為真;如果為真,繼續(xù)循環(huán),如果為假,退出循環(huán),即結(jié)束while語句。

    在使用while語句時,應(yīng)注意以下幾個問題:①循環(huán)體語句可以是簡單語句、復合語句或空語句。當循環(huán)體是一組語句時,必須用花括號括起來,組成復合語句。②while語句中的循環(huán)條件表達式可以是任何類型的表達式。③循環(huán)體內(nèi)一定要有使表達式的值變?yōu)?(假)的操作,否則循環(huán)將無限進行。④while語句的特點是“先判斷,后執(zhí)行”,如果循環(huán)條件表達式的值一開始就為0,則循環(huán)體語句一次也不執(zhí)行。

    2、do……While 語句格式及執(zhí)行過程

    do

    { 語句 }while(表達式);

    其中,表達式是循環(huán)控制條件,語句是循環(huán)體,可以是簡單語句、復合語句或空語句。通常用復合語句,使得結(jié)構(gòu)更清楚。特別注意:該語句while(表達式)后加分號。

    do_while語句的特點是“先執(zhí)行循環(huán)體,后判斷循環(huán)條件”,當條件成立時繼續(xù)執(zhí)行循環(huán)體,條件不成立時結(jié)束循環(huán)。因此,do_while循環(huán)常用來實現(xiàn)類似“直到型”循環(huán)的“當型”循環(huán)結(jié)構(gòu)。

    for 語句格式及執(zhí)行過程

    for 語句較前兩種循環(huán)語句更簡潔、更靈活,不僅用于計數(shù)型循環(huán),而且可以用于條件型循環(huán),特別是處理循環(huán)次數(shù)確定的問題。

    for(表達式1;表達式2;表達式3)

    循環(huán)體語句

    其中,表達式1為賦初值表達式,表達式2為條件表達式,表達式3為循環(huán)變量增值表達式

    該語句執(zhí)行過程: ①先對表達式1賦初值; ②判別表達式2是否滿足給定條件,若其值為真,滿足循環(huán)條件,則執(zhí)行循環(huán)體內(nèi)語句,然后執(zhí)行表達式3,進入第二次循環(huán),再判別表達式2,如此反復,直到判斷表達式2的值為假,不滿足條件,就終止for循環(huán),執(zhí)行循環(huán)體外語句。

    使用for循環(huán)時,for語句的表達式可以部分或全部省略,但兩個“;”是不可以省略。①省略表達式1,這時沒有了給循環(huán)變量賦初值的操作,則應(yīng)該在for語句之前給循環(huán)變量賦初值。②省略表達式2,相當于缺少條件判斷,循環(huán)無限進行。③省略表達式3,則可以把循環(huán)變量的修改部分放到循環(huán)體中進行。④3個表達式全部省略,則for(;;)相當于while(1)。

    三、break和continue語句

    在C語言中,為了使循環(huán)控制更加靈活,C語言允許在特定條件成立時,使用break或continue語句跳過循環(huán)體其余語句,轉(zhuǎn)向循環(huán)條件的判定語句。

    1、break語句

    break語句的一般形式為:break;

    break語句有兩個作用:用于switch語句時,退出switch語句,程序轉(zhuǎn)至switch語句下面的語句;用于循環(huán)語句時,退出包含它的循環(huán)體,程序轉(zhuǎn)至循環(huán)體下面的語句。

    2、continue語句

    continue語句的一般形式為:continue;

    continue語句作用是:結(jié)束本次循環(huán),跳過循環(huán)體中尚未執(zhí)行的語句,接著進行下一次是否執(zhí)行循環(huán)的判斷。在while語句、do……While語句中,continue語句把程序控制轉(zhuǎn)到while后面的表達式處,在for語句中,continue語句把程序控制轉(zhuǎn)到表達式3處。

    break和continue的區(qū)別:continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行,break語句則是結(jié)束循環(huán),不再進行條件判斷。

    四、循環(huán)語句的應(yīng)用分析

    循環(huán)語句在學習、生活中有廣泛的應(yīng)用,我們通過例題進行分析說明循環(huán)語句的重要作用。

    4.1例如輸入某班一門課的成績并計算其平均成績。(人數(shù)不定,當輸入成績?yōu)?1時結(jié)束)。

    分析:本例的特點是“循環(huán)次數(shù)不確定”,而是已知循環(huán)結(jié)束的條件。循環(huán)的組成:①循環(huán)體:將有效成績score 加入部分和sum;輸入下一個成績score;

    ②循環(huán)控制條件:score!=-1;③ 循環(huán)變量的改變:用戶輸入;④循環(huán)變量的初值: 鍵盤輸入。

    程序如下:

    main()

    { float score,sum=0;

    int n=0;

    printf(" enter a score(-1 for end):");

    scanf("%f",&score;);

    while(score!=-1)

    { sum+=score;

    n++;

    printf(" enter a score(-1 for end):");

    scanf(“%f”,&score;);

    }

    printf(" n=%d,aver=%f",n,sum/n);

    }

    例4.2 百錢買百雞:一百錢,買一百只雞,其中公雞3錢/只、母雞1錢/只、小雞3只/錢,問可買公雞、母雞、小雞個多少只?

    分析:使用窮舉法求解。cock 在[0,33]的范圍內(nèi)取值,hen 在[0,100]的范圍內(nèi)取值,chick 在[0,100]的范圍內(nèi)取值,且只能取能被3整除的數(shù)。在以上的范圍內(nèi)找出所有滿足百錢買百雞的組合方式輸出出來即可。

    #include

    main()

    {

    int cock,hen,chick,n=0;

    for(cock=0;cock<=33;cock++)

    for(hen=0;hen<=100;hen++)

    for(chick=0;chick<=100;chick+=3)

    if(cock+hen+chick==100&&cock;*3+hen+chick/3==100)

    printf("Answer %d:cock %d,hen %d,chick %d! ",++n,cock,hen,chick);

    }

    五、總結(jié)

    絕大多數(shù)情況下,三種語句是通用的,并且代碼的差異不大。循環(huán)次數(shù)確定的程序,且組成循環(huán)的四個部分完整又簡潔的情況下,多采用for語句。循環(huán)體的語句至少執(zhí)行一次的情況下,多采用do_while語句。

    猜你喜歡
    初值省略表達式
    具非定常數(shù)初值的全變差方程解的漸近性
    一種適用于平動點周期軌道初值計算的簡化路徑搜索修正法
    一個混合核Hilbert型積分不等式及其算子范數(shù)表達式
    偏旁省略異體字研究
    表達式轉(zhuǎn)換及求值探析
    淺析C語言運算符及表達式的教學誤區(qū)
    三維擬線性波方程的小初值光滑解
    中間的省略
    詩選刊(2015年6期)2015-10-26 09:47:13
    具有無窮大初值的二維奇異攝動問題的漸近解
    議C語言中循環(huán)語句
    商(2012年11期)2012-07-09 19:07:55
    县级市| 安宁市| 二连浩特市| 扬州市| 潜江市| 台东市| 昌黎县| 鹿邑县| 陇南市| 临洮县| 湖北省| 济南市| 上饶县| 哈尔滨市| 梅河口市| 本溪| 通道| 湖口县| 太白县| 红桥区| 霍州市| 图木舒克市| 平果县| 临潭县| 陕西省| 北票市| 毕节市| 陵水| 三台县| 铜山县| 商都县| 元谋县| 镇坪县| 平安县| 桐庐县| 安远县| 安塞县| 固原市| 南溪县| 阜新| 湘潭市|