入口條件迴圈(1)
阿新 • • 發佈:2018-12-04
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);
/