C Primer5 4節 迭代語句

2021-10-08 01:23:46 字數 1331 閱讀 1536

迭代語句通常被稱為迴圈,迭代語句有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...