1. 程式人生 > >入口條件迴圈(1)

入口條件迴圈(1)

1:入口條件迴圈:先判斷條件,若條件為true,則執行迴圈,反之結束;有for和whlie兩種形式。

2:我們以菲波那契數列為例:在進行運算時,由於數字要相加,因此運算量較大。
在這裡我們引入迴圈的概念:例如以下是五種for的迴圈。

#include <algorithm> 
 #include <vector> 
  int nArray[] = {0, 1, 2, 3, 4, 5};
    std::vector<int> vecNum(nArray, nArray + 6);
      CString strText;  
第一種用法:最原始的語法(用下標)  

   

 for (size_t i = 0; i < vecNum.size();  ++i)  
    {     
     strText.Format("%d", nArray[i]);    
      AfxMessageBox(strText); 
      }    
   



第二種用法:最原始的語法(用迭代器)  
for (auto it = vecNum.begin(); it != vecNum.end(); ++it) 
 {    
   strText.Format("%d", *it);   
   AfxMessageBox(strText);
  }  

   



第三種用法:簡化陣列遍歷語法(從vs2008開始支援) 
     for each(auto item in vecNum) 
      {    
        strText.Format("%d", item); 
        AfxMessageBox(strText); 
       }  


第四種用法:STL函式  
         std::for_each(vecNum.begin(), vecNum.end(), 【】(int  item)({                                              
                         CString strText;                                                  
                         strText.Format("%d", item);                                        
                  AfxMessageBox(strText);                                                     
                   });    
第五種用法:C++11新增加的(VS2012支援) 
 for(auto item : vecNum) 
          {    
            strText.Format("%d", item);   
               AfxMessageBox(strText); 
           } 

從本質上來說,for迴圈是一種工具,用來重複運算和進行決策,for迴圈的組成部分。
1:設定初始值:比如這裡設定了陣列,array的陣列有幾個數字
2:進行測試,看迴圈是否繼續進行。
3:執行迴圈操作。
4:更新用於測試的值。

控制部分:由初始化,測試,更新操作構成。如

for(auto item:vecNum)

控制部分後面是迴圈體。
注意事項:for是判斷for迴圈的關鍵字,為防止編譯器將for視為函式,for後面常用留下一個空格

for (i=6,i<10;i++)//判斷部分後面用分號表示。
   smart-function(i);

/