在线现看午夜福利片|女人16久久免费视频|鲁丝片一区鲁丝片二区鲁丝|一区二区三区欧美在线

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

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

                do-while語句

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

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

                for語句

                for語句是C語言所提供的功能更強,使用更廣泛的一種循環(huán)語句。其一般形式為: 
                for(表達式1;表達式2;表達3) 
                語句; 
                表達式1 通常用來給循環(huán)變量賦初值,一般是賦值表達式。也允許在for語句外給循環(huán)變量賦初值,此時可以省略該表達式。
                表達式2 通常是循環(huán)條件,一般為關系表達式或邏輯表達式。
                表達式3 通?捎脕硇薷难h(huán)變量的值,一般是賦值語句。
                這三個表達式都可以是逗號表達式, 即每個表達式都可由多個表達式組成。三個表達式都是任選項,都可以省略。
                一般形式中的“語句”即為循環(huán)體語句。for語句的語義是:
                1.首先計算表達式1的值。
                2.再計算表達式2的值,若值為真(非0)則執(zhí)行循環(huán)體一次, 否則跳出循環(huán)。 
                3.然后再計算表達式3的值,轉(zhuǎn)回第2步重復執(zhí)行。在整個for循環(huán)過程中,表達式1只計算一次,表達式2和表達式,3則可能計算多次。循環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。for 語句的執(zhí)行過程如圖所示。
                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,以改變循環(huán)變量的值。
                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個連續(xù)的偶數(shù)。
                int a=0,n;
                printf("\n input n: ");
                sCanf("%d",&n);
                for(;n>0;a++,n--)
                printf("%d ",a*2);
                本例的for語句中,表達式1已省去,循環(huán)變量的初值在for語句之前由sCanf語句取得,表達式3是一個逗號表達式,由a++,n-- 兩個表達式組成。每循環(huán)一次a自增1,n自減1。a的變化使輸出的偶數(shù)遞增,n的變化控制循次數(shù)。
                在使用for語句中要注意以下幾點
                1.for語句中的各表達式都可省略,但分號間隔符不能少。如:for(;表達式;表達式)省去了表達式1。for(表達式;;表達式)省去了表達式2。
                for(表達式;表達式;)省去了表達式3。for(;;)省去了全部表達式。
                2.在循環(huán)變量已賦初值時,可省去表達式1,如例3.27即屬于這種情形。如省去表達式2或表達式3則將造成無限循環(huán), 這時應在循環(huán)體內(nèi)設法結(jié)束循環(huán)。例題即屬于此情況。
                void main(){
                int a=0,n;
                printf("\n input n: ");
                sCanf("%d",&n);
                for(;n>0;)
                { a++;n--;
                printf("%d ",a*2);
                }
                }
                本例中省略了表達式1和表達式3,由循環(huán)體內(nèi)的n--語句進行循環(huán)變量n的遞減,以控制循環(huán)次數(shù)。
                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語句的表達式全部省去。由循環(huán)體中的語句實現(xiàn)循環(huán)變量的遞減和循環(huán)條件的判斷。當n值為0時,由break語句中止循環(huán),轉(zhuǎn)去執(zhí)行for以后的程序。在此情況下,for語句已等效于while( 1)語句。如在循環(huán)體中沒有相應的控制手段,則造成死循環(huán)。
                3.循環(huán)體可以是空語句。
                #inClude"stdio.h"
                void main(){
                int n=0;
                printf("input a string:\n");
                for(;getChar()!=’\n’;n++);
                printf("%d",n);
                }
                本例中,省去了for語句的表達式1,表達式3也不是用來修改循環(huán)變量,而是用作輸入字符的計數(shù)。這樣, 就把本應在循環(huán)體中完成的計數(shù)放在表達式中完成了。因此循環(huán)體是空語句。應注意的是,空語句后的分號不可少,如缺少此分號,則把后面的printf 語句當成循環(huán)體來執(zhí)行。反過來說,如循環(huán)體不為空語句時, 決不能在表達式的括號后加分號, 這樣又會認為循環(huán)體是空語句而不能反復執(zhí)行。這些都是編程中常見的錯誤,要十分注意。
                4.for語句也可與while,do-while語句相互嵌套,構(gòu)成多重循環(huán)。以下形成都合法的嵌套。
                (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 下一頁
            文章搜索
            版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。