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

學習C++ -> 循環語句與循環控制

系統 2549 0

 學習C++ -> 循環語句與循環控制  

    


 一、循環語句      
      當程序中需要不斷的重復執行某個動作, 例如: 重復輸出1000行"Hello,world!", 如果自己寫一千行      cout<<"Hello,world!";        , 就算復制粘貼也得一會時間, 這時循環語句就能派上大用場了。
    
 1. for循環      
     for循環使用的基本形式:  

  for        ( 初始化表達式; 條件表達式; 增量表達式 )

        語句;    
        //        循環體

 


     初始化是一個賦值語句, 它用來給循環控制變量賦初值; 條件表達式是一個關系表達式, 它決定什么時候退出循環; 增量定義循環控制變量每循環一次后循環控制變量按什么方式變化。這三個部分之間用分號(;)分開。
     
     例如:  

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

        cout        << i <<endl ;

 


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

  for         ( ; ; )        
      //        死循環        語句;            

        
        for         ( i = 
      1        ; ; i += 
      2         )    
      //        i每次加2, 循環不停止        語句;            

        
        for         ( j = 
      5        ; ; )    
      //        j為5, 循環不停止        

            語句;

 

         3>. for循環允許多層嵌套, 例如:  

  for        ( ; ; )

        {            
        for        ( ; ; )

            {                
        //        循環體        }
 //其他語句        }      

 

 
        
     實例: 用for循環求1+2+...+100的和  

  #include<iostream>      using        namespace         std ;        int         main()

{    
        int         i ;             
      //        循環控制變量        int         sum = 
      0         ;       
      //        存儲求和的結果, 賦初始值為0        for        ( i = 
      1        ; i <= 
      100        ; i++       )

        sum 
        += i ;      
      /*        1+2+...+100        */        

    cout        << sum <<endl ; 
      //        輸出求和的結果        return        0         ;

}

 

 



 2. while循環      
     while循環使用的基本形式:  

  while        (判斷表達式)

        循環體

 


     當程序執行到while循環時首先計算 判斷表達式 , 當判斷表達式的值為真(不為0)時便開始執行循環體, 當 判斷表達式 的值為假(為0)時跳過循環體繼續執行循環體下面的語句。
     例如:  

  int         i = 
      0         ;    
        while        ( i < 
      10         )

    {

        cout        << i <<       endl ;

        i 
        ++       ;

    }

 

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

  #include<iostream>      using        namespace         std ;        int         main()

{    
        int         i = 
      1         ;         
      //        循環控制        int         sum = 
      0         ;       
      //        計算結果        while        ( i <= 
      100         )

    {

        sum 
        +=       i ;

        i 
        ++       ;

    }

    cout        << sum <<       endl ;    
        return        0         ;

}

 

 



 3. do...while循環      
     與while循環不同, while循環是先判斷 判斷表達式 中的值是否為真再決定是否執行循環體, 而 do...while 循環是先執行一次循環體再判斷是否繼續執行循環體, 通過一個示例說明:  

  int         i = 
      0         ;         
      //        循環控制        do        

    {

        cout        << i <<      endl ;

    }        while        ( i > 
      0        ) ;    
      //        當i>0時執行循環

 

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

  #include<iostream>      using        namespace         std ;        int         main()

{    
        int         i = 
      1         ;         
      //        循環控制        int         sum = 
      0         ;       
      //        計算結果        do        

    {

        sum 
        +=       i ;

        i 
        ++       ;

    }        while        ( i <= 
      100         ) ;

    cout        << sum <<      endl ;    
        return        0         ;

}

 

 



 二、循環控制      
 1. break語句      
     break語句通常用在循環語句或開關語句(switch)中。其作用是從當前循環或當前switch語句中跳出, 從而執行當前語句的下一條語句。
     
     例如在switch語句中:  

  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語句, 看下輸出:  

  1        2        Others

 


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

  case        0        :

            cout        << 
      "        0        "         <<endl ; 
      break         ;        
        case        1        :

            cout        << 
      "        1        "         <<endl ; 
      break         ;        
        case        2        :

            cout        << 
      "        2        "         <<endl ; 
      break         ;        
        default        :

            cout        << 
      "        Others        "         <<endl;

 

 
     在每個case語句后加上一個break語句, 當執行到滿足條件的case語句后再執行完該case后的語句塊便退出switch語句。
     
     再舉一個break語句應用于循環語句中的例子, 以while循環為例:  

  int         i = 
      0         ;    
        while        ( 
      true         )

    {

        cout        << i <<      endl ;

        i 
        ++       ;        
        if        ( i > 
      10         )            
        break         ;

    }

 

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

     注意:      
         1>. break語句對if-else的條件語句不起作用。
         2>. 在多層循環中,一個break語句只向外跳一層。     


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

  #include<iostream>      using        namespace         std ;        int         main()

{    
        int         i;    
        for        ( i = 
      0        ; i < 
      100        ; i++       )

    {        
        if        ( i % 
      3         != 
      0         || i % 
      5         != 
      0         )  
      //        當i不符合要求時結束本次循環        continue         ;

        cout        << i <<endl ;   
      //        輸出i        }    
        return        0         ;

}

 

 
     程序輸出的結果是15, 30, 45, 60, 75, 90。 從if語句中可以看出, 當i不能整除3或5時就continue繼續下一個循環, 所以      cout<< i <<endl ;        這句不會被每次都執行, 只有沒有被continue時才能執行到該輸出語句。  


 3. goto語句      
     當循環嵌套較深且需要全部跳出循環時, 使用goto語句應該說是個不錯的選擇, 例如:  

  #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個for循環嵌套, 計算3個100以內的數i, m, n相加和為256的情況, 這里我們只取一個結果, 也就是說只要出現第一個符合條件的i, m, n 輸出后便退出循環, 如果在if語句中使用break的話只能退出當前if語句所在的循環, 而無法退出更上一層的循環。
     
     使用goto語句在循環外部定義一個表示stop, 需要退出所有循環時直接goto到循環外部, 這樣就相當于一次跳出了3個循環。  



更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 在线播放不卡 | 五月婷综合 | 国产成人精视频在线观看免费 | 成人免费草草视频 | 免费超级淫片日本高清视频 | 日日日夜夜操 | 亚洲在线视频一区 | 久久夜靖品 | 中文字幕一区二区三区永久 | 视频久久精品 | 国产情侣普通话刺激对白 | 色视频欧美 | 九月激情网| 色综合五月婷婷 | 久久国产精品999 | 玖玖在线国产精品 | 精品国产日韩亚洲一区二区 | 成人亚洲欧美日韩在线观看 | 国产高清在线观看麻豆 | 九九热亚洲精品综合视频 | 国产51自产区在线 | 99久久一区 | 成 人 黄 色 大 片 | 中文字幕日本一区久久 | 国产精品免费观看视频 | 亚洲午夜片子大全精品 | a在线视频 | 中文字幕亚洲欧美 | 天天射久久 | 国内精品久久久久久中文字幕 | 久久精品国产清自在天天线 | 国产nv精品你懂得 | 欧美一级艳片爽快片 | 日韩欧美在 | 色综合激情网 | 色天天干| 91久久精品视频 | 欧美日韩一二三区免费视频观看 | 看一级特黄a大一片 | 成人免费草草视频 | 美国免费三片在线观看 |