黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平
駕駛員 | 網絡編輯
衛生資格 | 執業醫師 | 執業藥師 | 執業護士
會計從業資格考試會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師
注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師
質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師
設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師
城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > C語言 > 復習資料 > 正文

二級C輔導教程及考點分析:第三章 程序設計初步

    do-while語句

    do-while語句的一般形式為: 
    do
    語句; 
    while(表達式); 
    其中語句是循環體,表達式是循環條件。
    do-while語句的語義是:
    先執行循環體語句一次, 再判別表達式的值,若為真(非0)則繼續循環,否則終止循環。
    do-while語句和while語句的區別在于do-while是先執行后判斷,因此do-while至少要執行一次循環體。而while是先判斷后執行,如果條件不滿足,則一次循環體語句也不執行。
    while語句和do-while語句一般都可以相互改寫。
    void main(){
    int a=0,n;
    printf("\n input n: ");
    sCanf("%d",&n);
    do printf("%d ",a++*2);
    while (--n);
    } 

    在本例中,循環條件改為--n,否則將多執行一次循環。這是由于先執行后判斷而造成的。
    對于do-while語句還應注意以下幾點:
    1.在if語句,while語句中, 表達式后面都不能加分號, 而在 do-while語句的表達式后面則必須加分號。
    2.do-while語句也可以組成多重循環,而且也可以和while語句相互嵌套。
    3.在do和while之間的循環體由多個語句組成時,也必須用{}括起來組成一個復合語句。
    4.do-while和while語句相互替換時,要注意修改循環控制條件。

    for語句

    for語句是C語言所提供的功能更強,使用更廣泛的一種循環語句。其一般形式為: 
    for(表達式1;表達式2;表達3) 
    語句; 
    表達式1 通常用來給循環變量賦初值,一般是賦值表達式。也允許在for語句外給循環變量賦初值,此時可以省略該表達式。
    表達式2 通常是循環條件,一般為關系表達式或邏輯表達式。
    表達式3 通?捎脕硇薷难h變量的值,一般是賦值語句。
    這三個表達式都可以是逗號表達式, 即每個表達式都可由多個表達式組成。三個表達式都是任選項,都可以省略。
    一般形式中的“語句”即為循環體語句。for語句的語義是:
    1.首先計算表達式1的值。
    2.再計算表達式2的值,若值為真(非0)則執行循環體一次, 否則跳出循環。 
    3.然后再計算表達式3的值,轉回第2步重復執行。在整個for循環過程中,表達式1只計算一次,表達式2和表達式,3則可能計算多次。循環體可能多次執行,也可能一次都不執行。for 語句的執行過程如圖所示。
    void main(){
    int n,s=0;
    for(n=1;n<=100;n++)
    s=s+n;
    printf("s=%d\n",s);
    } 
    用for語句計算s=1+2+3+...+99+100
    int n,s=0;
    for(n=1;n<=100;n++)
    s=s+n;
    printf("s=%d\n",s); 
    本例for語句中的表達式3為n++,實際上也是一種賦值語句,相當于n=n+1,以改變循環變量的值。
    void main(){
    int a=0,n;
    printf("\n input n: ");
    sCanf("%d",&n);
    for(;n>0;a++,n--)
    printf("%d ",a*2);
    }
    用for語句修改例題。從0開始,輸出n個連續的偶數。
    int a=0,n;
    printf("\n input n: ");
    sCanf("%d",&n);
    for(;n>0;a++,n--)
    printf("%d ",a*2);
    本例的for語句中,表達式1已省去,循環變量的初值在for語句之前由sCanf語句取得,表達式3是一個逗號表達式,由a++,n-- 兩個表達式組成。每循環一次a自增1,n自減1。a的變化使輸出的偶數遞增,n的變化控制循次數。
    在使用for語句中要注意以下幾點
    1.for語句中的各表達式都可省略,但分號間隔符不能少。如:for(;表達式;表達式)省去了表達式1。for(表達式;;表達式)省去了表達式2。
    for(表達式;表達式;)省去了表達式3。for(;;)省去了全部表達式。
    2.在循環變量已賦初值時,可省去表達式1,如例3.27即屬于這種情形。如省去表達式2或表達式3則將造成無限循環, 這時應在循環體內設法結束循環。例題即屬于此情況。
    void main(){
    int a=0,n;
    printf("\n input n: ");
    sCanf("%d",&n);
    for(;n>0;)
    { a++;n--;
    printf("%d ",a*2);
    }
    }
    本例中省略了表達式1和表達式3,由循環體內的n--語句進行循環變量n的遞減,以控制循環次數。
    void main(){
    int a=0,n;
    printf("\n input n: ");
    sCanf("%d",&n);
    for(;;){
    a++;n--;
    printf("%d ",a*2);
    if(n==0)break;
    }
    }
    本例中for語句的表達式全部省去。由循環體中的語句實現循環變量的遞減和循環條件的判斷。當n值為0時,由break語句中止循環,轉去執行for以后的程序。在此情況下,for語句已等效于while( 1)語句。如在循環體中沒有相應的控制手段,則造成死循環。
    3.循環體可以是空語句。
    #inClude"stdio.h"
    void main(){
    int n=0;
    printf("input a string:\n");
    for(;getChar()!=’\n’;n++);
    printf("%d",n);
    }
    本例中,省去了for語句的表達式1,表達式3也不是用來修改循環變量,而是用作輸入字符的計數。這樣, 就把本應在循環體中完成的計數放在表達式中完成了。因此循環體是空語句。應注意的是,空語句后的分號不可少,如缺少此分號,則把后面的printf 語句當成循環體來執行。反過來說,如循環體不為空語句時, 決不能在表達式的括號后加分號, 這樣又會認為循環體是空語句而不能反復執行。這些都是編程中常見的錯誤,要十分注意。
    4.for語句也可與while,do-while語句相互嵌套,構成多重循環。以下形成都合法的嵌套。
    (1)for(){…
      while()
       {…}
      …
        }
    (2)do{
       …
      for()
       {…}
      …
      }while();
    (3)while(){
          …
          for()
           {…}
          …
         }
    (4)for(){
        …
        for(){
        …
         }
        }
    void main(){
    int i,j,k;
    for(i=1;i<=3;i++)
    { for(j=1;j<=3-i+5;j++)
    printf(" ");
    for(k=1;k<=2*i-1+5;k++)
    {
    if(k<=5) printf(" ");
    else printf("*");
    }
    printf("\n");
    }
    }

上一頁  1 2 3 4 5 6 7 8 9 下一頁
文章搜索
版權聲明:如果計算機等級考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本計算機等級考試網內容,請注明出處。
主站蜘蛛池模板: 综合成人 | 深夜免费看片 | 中文字幕人成乱码在线观看 | 黑人黄色毛片 | 欧美a级黑粗大硬长爽 | 欧美亚洲韩国 | 99国产牛牛视频在线网站 | 日日噜噜噜夜夜爽爽狠狠69 | 伊人网色| 欧美mv日韩mv国产mv网站 | 精品久久网 | 国产一级第一级毛片 | 国产精品久久久久久久免费 | 日本中文字幕免费 | 久久99精品这里精品动漫6 | 亚洲欧美视屏 | www.av色| 日本福利片午夜免费观着 | 一级理伦| 国产成人18黄禁网站免费观看 | 成人欧美| 亚洲精品午夜级久久久久 | www.狠狠爱| 欧美日韩在线播放 | 亚洲一区不卡 | 天天舔天天射 | 精品一区二区视频在线观看 | 青草视频青年娱乐 | 国产成人毛片精品不卡在线 | 久久精品中文字幕第一页 | 男人和女人日皮的视频 | 写真片 理论 在线播放 | 中文字幕亚洲精品资源网 | 噜噜噜噜天天狠狠 | 制服丝袜在线播放 | 性色生活片在色在线观看 | 欧美一级二级三级视频 | 五月天婷婷伊人 | 久爱精品视频在线视频 | 亚洲欧美香蕉在线日韩精选 | 午夜伦理片免费观看在线 |