迭代語句通常被稱為迴圈,迭代語句有while,do while迴圈、傳統for迴圈和範圍for迴圈。
1、while迴圈
①形式:
while(condition)
statement;
(1)condition不能為空。
(2)定義在while條件或者迴圈體內的變數每次迭代都要經歷從建立到銷毀的過程。
(3)先判斷條件,條件為真後執行迴圈體內的語句,否則執行結束while迴圈。
②使用的情況:當不確定要迭代多少次時,使用while迴圈比較合適。
(1)如讀取輸入的內容,while(cin>>a);
(2)在迴圈結束後想訪問迴圈控制變數。
2、do while迴圈
①形式:
dostatement
while(condition);
(1)先執行迴圈體後執行條件,不管條件如何,我們都至少執行一次迴圈。
(2)condition不能為空。
(3)condition使用的變數必須定義在迴圈體外。
3、傳統的for迴圈
①形式:
for(init-statement;condition;expression)
statement;
(1)init-statement必須是宣告語句、表示式語句或空語句中的一種。
(2)expression負責修改init-statement初始化的變數。
(3)for語句頭可以根據情況省略掉init-statement,condition,expression,包括省略全部。
②執行順序
(1)先判斷條件condition。
(2)再執行迴圈體內的語句。
(3)最後執行expression,修改init-statement初始化的變數。
4、範圍for語句
①形式:
for(declaration:expression)
statement;
(1)範圍for語句可以遍歷容器或其他序列所有元素。
(2)expression必須是乙個序列,如vector或string等型別的物件等。
(3)declaration定義乙個變數,使序列每個元素都轉換成變數的型別,通常使用auto關鍵字。
(4)如果需要對序列中的元素執行寫操作,那麼需要將變數宣告成引用型別。
(5)不能使用範圍for語句對序列新增元素。
②執行順序
每次迭代都會重新定義迴圈控制變數,並將其初始化為序列的下乙個元素,之後才會執行statement。
C primer學習筆記 p39 p54
初始化不同於賦值,初始化是建立變數並臨時賦予其乙個初始值,而賦值是把物件當前值擦除,而以乙個新值來替代。c primer 第五版 p39 定義在函式體內的內建型別物件如果沒有初始化,則其值為定義。類的物件如果沒有顯式的初始化,則其值由類決定。c primer 第五版 p40 1.1 定義在函式體內的...
《C PRIMER 9 2 2節》學習摘錄
迭代器 iterator 是一種物件,它能夠用來遍歷標準模板庫容器中的部分或全部元素,每個迭代器物件代表容器中的確定的位址。即寫容器方面的 的時候經常碰見的 iterator。目前來看,迭代器進行自加或者自減操作時非常頻繁的。懸垂指標 指向曾經存在的物件,但該物件已經不再存在了,此類指標稱為懸垂指標...
C Primer練習與答案 3 3 2節
3.14 編寫一段程式,用cin讀入一組整數並把它們存入乙個vector物件。解答 include include using namespace std int main for auto mem vint 使用範圍for迴圈語句遍歷vint中的每個元素 cout mem cout endl re...