亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

    學(xué)習(xí)C++ -> 循環(huán)語(yǔ)句與循環(huán)控制

    系統(tǒng) 2995 0

     學(xué)習(xí)C++ -> 循環(huán)語(yǔ)句與循環(huán)控制  

        


     一、循環(huán)語(yǔ)句      
          當(dāng)程序中需要不斷的重復(fù)執(zhí)行某個(gè)動(dòng)作, 例如: 重復(fù)輸出1000行"Hello,world!", 如果自己寫一千行      cout<<"Hello,world!";        , 就算復(fù)制粘貼也得一會(huì)時(shí)間, 這時(shí)循環(huán)語(yǔ)句就能派上大用場(chǎng)了。
        
     1. for循環(huán)      
         for循環(huán)使用的基本形式:  

      for        ( 初始化表達(dá)式; 條件表達(dá)式; 增量表達(dá)式 )
    
            語(yǔ)句;    
            //        循環(huán)體

     


         初始化是一個(gè)賦值語(yǔ)句, 它用來(lái)給循環(huán)控制變量賦初值; 條件表達(dá)式是一個(gè)關(guān)系表達(dá)式, 它決定什么時(shí)候退出循環(huán); 增量定義循環(huán)控制變量每循環(huán)一次后循環(huán)控制變量按什么方式變化。這三個(gè)部分之間用分號(hào)(;)分開。
         
         例如:  

      int         i ;    
            for        ( i = 
          0        ; i < 
          10        ; i++       )
    
            cout        << i <<endl ;

     


         for循環(huán)語(yǔ)句首先計(jì)算初始化表達(dá)式, 即將循環(huán)控制變量i賦初始值0; 條件表達(dá)式 i < 10 ;表示當(dāng)i的值小于10的時(shí)候執(zhí)行      cout<< i <<endl ;        語(yǔ)句, 當(dāng)大于或等于(>=)10的時(shí)候就結(jié)束循環(huán);      i++        是告訴for循環(huán)循環(huán)控制變量沒循環(huán)一個(gè)循環(huán)控制變量i的值增加1, 然后繼續(xù)執(zhí)行循環(huán)體中的語(yǔ)句, 直到i的值大于或等于10時(shí)結(jié)束循環(huán)。
        
         注意:      
             1>. 循環(huán)體中如果有多條語(yǔ)句需要用大括號(hào){}括起來(lái)構(gòu)成一條符合語(yǔ)句;
             2>. for循環(huán)中的初始化表達(dá)式、條件表達(dá)式和增量表達(dá)式可以缺省, 但分號(hào)(;)不能缺省, 例如:  

      for         ( ; ; )        
          //        死循環(huán)        語(yǔ)句;            
    
            
            for         ( i = 
          1        ; ; i += 
          2         )    
          //        i每次加2, 循環(huán)不停止        語(yǔ)句;            
    
            
            for         ( j = 
          5        ; ; )    
          //        j為5, 循環(huán)不停止        
    
                語(yǔ)句;

     

             3>. for循環(huán)允許多層嵌套, 例如:  

      for        ( ; ; )
    
            {            
            for        ( ; ; )
    
                {                
            //        循環(huán)體        }
     //其他語(yǔ)句        }      

     

     
            
         實(shí)例: 用for循環(huán)求1+2+...+100的和  

      #include<iostream>      using        namespace         std ;        int         main()
    
    {    
            int         i ;             
          //        循環(huán)控制變量        int         sum = 
          0         ;       
          //        存儲(chǔ)求和的結(jié)果, 賦初始值為0        for        ( i = 
          1        ; i <= 
          100        ; i++       )
    
            sum 
            += i ;      
          /*        1+2+...+100        */        
    
        cout        << sum <<endl ; 
          //        輸出求和的結(jié)果        return        0         ;
    
    }

     

     



     2. while循環(huán)      
         while循環(huán)使用的基本形式:  

      while        (判斷表達(dá)式)
    
            循環(huán)體

     


         當(dāng)程序執(zhí)行到while循環(huán)時(shí)首先計(jì)算 判斷表達(dá)式 , 當(dāng)判斷表達(dá)式的值為真(不為0)時(shí)便開始執(zhí)行循環(huán)體, 當(dāng) 判斷表達(dá)式 的值為假(為0)時(shí)跳過循環(huán)體繼續(xù)執(zhí)行循環(huán)體下面的語(yǔ)句。
         例如:  

      int         i = 
          0         ;    
            while        ( i < 
          10         )
    
        {
    
            cout        << i <<       endl ;
    
            i 
            ++       ;
    
        }

     

     
         首先為循環(huán)控制變量i賦初始值為0, 然后程序執(zhí)行到while時(shí)計(jì)算 i < 10, 此時(shí) i 的值為0, 所以 i < 10 為真, 程序開始執(zhí)行循環(huán)體中的語(yǔ)句 : 輸出目前 i 的值, 然后用 i ++ ; 使i的值增加1, 執(zhí)行完一次循環(huán)后再到 i < 10這里判斷值是否為真, 直到 i 的值大于或等于10時(shí)結(jié)束循環(huán)。
         
         和for循環(huán)一樣, while循環(huán)也允許多層嵌套。
         
         實(shí)例: 用for循環(huán)求1+2+...+100的和  

      #include<iostream>      using        namespace         std ;        int         main()
    
    {    
            int         i = 
          1         ;         
          //        循環(huán)控制        int         sum = 
          0         ;       
          //        計(jì)算結(jié)果        while        ( i <= 
          100         )
    
        {
    
            sum 
            +=       i ;
    
            i 
            ++       ;
    
        }
    
        cout        << sum <<       endl ;    
            return        0         ;
    
    }

     

     



     3. do...while循環(huán)      
         與while循環(huán)不同, while循環(huán)是先判斷 判斷表達(dá)式 中的值是否為真再?zèng)Q定是否執(zhí)行循環(huán)體, 而 do...while 循環(huán)是先執(zhí)行一次循環(huán)體再判斷是否繼續(xù)執(zhí)行循環(huán)體, 通過一個(gè)示例說明:  

      int         i = 
          0         ;         
          //        循環(huán)控制        do        
    
        {
    
            cout        << i <<      endl ;
    
        }        while        ( i > 
          0        ) ;    
          //        當(dāng)i>0時(shí)執(zhí)行循環(huán)

     

     
         在這段代碼中, 首先為循環(huán)控制變量 i 賦初始值0, 然后進(jìn)入 do...while循環(huán)體中, 執(zhí)行       cout<< i <<endl ;         這句 , 然后再判斷i是否大于0, 若i大于0則繼續(xù)循環(huán), 否則結(jié)束循環(huán), 這里的i不大于0, 所以執(zhí)行了一次循環(huán)體后便結(jié)束了循環(huán)。
         
         也就是說, 無(wú)論 是否符合do...while的執(zhí)行條件, 循環(huán)體總要執(zhí)行一次。
         
         總結(jié)一下就是: while循環(huán)線判斷循環(huán)條件再執(zhí)行循環(huán)體, do...while循環(huán)先執(zhí)行一次循環(huán)體再判斷是否繼續(xù)執(zhí)行循環(huán)體。
         
         注意: do...while中while后面的分號(hào)(;)不可省略。
         
         實(shí)例: 用do...while循環(huán)求1+2+...+100的和  

      #include<iostream>      using        namespace         std ;        int         main()
    
    {    
            int         i = 
          1         ;         
          //        循環(huán)控制        int         sum = 
          0         ;       
          //        計(jì)算結(jié)果        do        
    
        {
    
            sum 
            +=       i ;
    
            i 
            ++       ;
    
        }        while        ( i <= 
          100         ) ;
    
        cout        << sum <<      endl ;    
            return        0         ;
    
    }

     

     



     二、循環(huán)控制      
     1. break語(yǔ)句      
         break語(yǔ)句通常用在循環(huán)語(yǔ)句或開關(guān)語(yǔ)句(switch)中。其作用是從當(dāng)前循環(huán)或當(dāng)前switch語(yǔ)句中跳出, 從而執(zhí)行當(dāng)前語(yǔ)句的下一條語(yǔ)句。
         
         例如在switch語(yǔ)句中:  

      int         i = 
          1         ;    
            switch        ( i )
    
        {        
            case        0        :
    
                cout        << 
          "        0        "         <<      endl ;        
            case        1        :
    
                cout        << 
          "        1        "         <<      endl ;        
            case        2        :
    
                cout        << 
          "        2        "         <<      endl ;        
            default        :
    
                cout        << 
          "        Others        "         <<      endl;
    
        }

     

     
         這里沒有使用break語(yǔ)句, 看下輸出:  

      1        2        Others

     


         可以看到, 程序從滿足的case處將后面的語(yǔ)句全部輸出了, 如果我們只想得到一個(gè)結(jié)果, 而不是將入口后面的case語(yǔ)句全部執(zhí)行的話就需要case語(yǔ)句了, 可以這樣:  

      case        0        :
    
                cout        << 
          "        0        "         <<endl ; 
          break         ;        
            case        1        :
    
                cout        << 
          "        1        "         <<endl ; 
          break         ;        
            case        2        :
    
                cout        << 
          "        2        "         <<endl ; 
          break         ;        
            default        :
    
                cout        << 
          "        Others        "         <<endl;

     

     
         在每個(gè)case語(yǔ)句后加上一個(gè)break語(yǔ)句, 當(dāng)執(zhí)行到滿足條件的case語(yǔ)句后再執(zhí)行完該case后的語(yǔ)句塊便退出switch語(yǔ)句。
         
         再舉一個(gè)break語(yǔ)句應(yīng)用于循環(huán)語(yǔ)句中的例子, 以while循環(huán)為例:  

      int         i = 
          0         ;    
            while        ( 
          true         )
    
        {
    
            cout        << i <<      endl ;
    
            i 
            ++       ;        
            if        ( i > 
          10         )            
            break         ;
    
        }

     

         這里使用了      while( true )        語(yǔ)句,      true        是C++的關(guān)鍵字之一, 代表真, 也就是說如果沒有其他任何語(yǔ)句這就是一個(gè)死循環(huán)(永遠(yuǎn)不會(huì)停止), 這里我們還定義了一個(gè)變量i, 在循環(huán)體中使用      cout<< i << ;        輸出i的值, i++ ;語(yǔ)句是i自增1, 接下來(lái)是if語(yǔ)句, 條件表達(dá)式是當(dāng) i > 10時(shí)執(zhí)行if語(yǔ)句塊中的語(yǔ)句, 也就是說當(dāng)i自增到大于10時(shí)就會(huì)執(zhí)行break語(yǔ)句, 從而跳出while循環(huán), 這樣while( true )就不再是死循環(huán)了。

         注意:      
             1>. break語(yǔ)句對(duì)if-else的條件語(yǔ)句不起作用。
             2>. 在多層循環(huán)中,一個(gè)break語(yǔ)句只向外跳一層。     


     2. continue語(yǔ)句      
         continue語(yǔ)句的作用是跳過本輪循環(huán)中剩余的語(yǔ)句, 而執(zhí)行下一輪循環(huán)。continue語(yǔ)句只用在for、while、do-while等循環(huán)體中, 常與if條件語(yǔ)句一起使用, 用來(lái)控制循環(huán), 但不能用來(lái)控制if語(yǔ)句中的剩余語(yǔ)句。
         
         一個(gè)實(shí)例: 輸出100以內(nèi)同時(shí)能被3整除且能同時(shí)被5整除的整數(shù)。  

      #include<iostream>      using        namespace         std ;        int         main()
    
    {    
            int         i;    
            for        ( i = 
          0        ; i < 
          100        ; i++       )
    
        {        
            if        ( i % 
          3         != 
          0         || i % 
          5         != 
          0         )  
          //        當(dāng)i不符合要求時(shí)結(jié)束本次循環(huán)        continue         ;
    
            cout        << i <<endl ;   
          //        輸出i        }    
            return        0         ;
    
    }

     

     
         程序輸出的結(jié)果是15, 30, 45, 60, 75, 90。 從if語(yǔ)句中可以看出, 當(dāng)i不能整除3或5時(shí)就continue繼續(xù)下一個(gè)循環(huán), 所以      cout<< i <<endl ;        這句不會(huì)被每次都執(zhí)行, 只有沒有被continue時(shí)才能執(zhí)行到該輸出語(yǔ)句。  


     3. goto語(yǔ)句      
         當(dāng)循環(huán)嵌套較深且需要全部跳出循環(huán)時(shí), 使用goto語(yǔ)句應(yīng)該說是個(gè)不錯(cuò)的選擇, 例如:  

      #include<iostream>      using        namespace         std ;        int         main()
    
    {    
            int         i, m, n;    
            for        ( i = 
          0        ; i < 
          100        ; i++       )
    
        {        
            for        ( m = 
          0        ; m < 
          100        ; m++       )
    
            {            
            for        ( n = 
          0        ; n < 
          100        ; n++       )
    
                {                
            if        ( (i + m + n) == 
          256         )
    
                    {
    
                        cout        <<      "        i = 
            "        << i <<      endl;
    
                        cout        <<      "        m = 
            "        << m <<      endl;
    
                        cout        <<      "        n = 
            "        << n <<      endl;                    
            goto         stop ;
    
                    }
    
                }
    
            }
    
        }
    
        stop: cout        <<      "        Stop        "        <<      endl;    
            return        0         ;
    
    }

     

         這里是使用3個(gè)for循環(huán)嵌套, 計(jì)算3個(gè)100以內(nèi)的數(shù)i, m, n相加和為256的情況, 這里我們只取一個(gè)結(jié)果, 也就是說只要出現(xiàn)第一個(gè)符合條件的i, m, n 輸出后便退出循環(huán), 如果在if語(yǔ)句中使用break的話只能退出當(dāng)前if語(yǔ)句所在的循環(huán), 而無(wú)法退出更上一層的循環(huán)。
         
         使用goto語(yǔ)句在循環(huán)外部定義一個(gè)表示stop, 需要退出所有循環(huán)時(shí)直接goto到循環(huán)外部, 這樣就相當(dāng)于一次跳出了3個(gè)循環(huán)。  



    更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

    微信掃碼或搜索:z360901061

    微信掃一掃加我為好友

    QQ號(hào)聯(lián)系: 360901061

    您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

    【本文對(duì)您有幫助就好】

    您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

    發(fā)表我的評(píng)論
    最新評(píng)論 總共0條評(píng)論
    主站蜘蛛池模板: 亚洲激情视频在线播放 | 国产亚洲综合精品一区二区三区 | 久久精品免费观看久久 | 久久影视免费体验区午夜啪啪 | 伊人久久一本 | 99久久综合狠狠综合久久 | 四虎最新永久在线精品免费 | 激情小视频在线播放免费 | 国产免费片 | 999热精品这里在线观看 | 四虎永久在线精品 | 中文字幕伦理聚合第一页 | 亚洲日本香蕉视频 | 在线日韩国产 | 久青草资源福利视频 | 黑人巨大精品战中国美女 | 五月天婷婷在线播放 | 国产香蕉国产精品偷在线观看 | 国产精品福利视频 | 在线视频日韩 | 亚洲精国产一区二区三区 | 淫视频网站 | 久久精品夜夜夜夜夜久久 | 国产成人精品免费视频 | 天天玩夜夜操 | 五月亚洲 | 三级a做爰大乳在线观看 | 中文字幕一区二区三区精彩视频 | 99精品久久99久久久久 | 四虎亚洲| 在线免费观看一级毛片 | 91av国产在线 | 中文字幕二区 | 四虎最新紧急入口 | 四虎影院在线免费 | 免费一级特黄3大片视频 | 伊人75| 国产成人久久精品麻豆二区 | 亚洲精品天堂自在久久77 | 欧美日韩在线精品成人综合网 | 久久红综合久久亚洲网色 |