- 算法訓練營:海量圖解+競賽刷題(入門篇)
- 陳小玉
- 937字
- 2021-07-23 18:16:28
1.5 每天都有很多次重復:for/while
我們在實際生活中經常會將同一件事情重復做很多次。在C++中也經常需要重復執行同一代碼塊,這時就需要使用循環結構。循環結構包括for、while和do while語句。
1. for語句
for語句示例及其流程圖如下圖所示。

訓練1-10:輸入一個整數n,輸出1~n的所有整數。

1)調試程序
(1)工具→編譯選項→代碼生成/優化→連接器,在“產生調試信息”中將“no”改為“yes”。
(2)設置斷點。
(3)單擊菜單→運行→調試,按F5或者單擊工具欄上的“√”可以開始調試。“?”用于停止調試。
(4)設置需要監控的對象。
(5)單步運行。
2)break語句
break語句指直接跳出所在的循環,流程圖如下圖所示。

訓練1-11:輸入一個整數n,輸出1~n的所有整數,遇到5時停止。

訓練1-12:輸入一個整數n,輸出n行1~n的整數(輸出1~n的整數時遇到5停止)。


3)continue語句
continue語句指直接執行下一次循環,流程圖如下圖所示。

訓練1-13:輸入一個整數n,輸出1~n的所有整數,遇到偶數時不輸出。

訓練1-14:輸入一個整數n(0<n<10),輸出n!。

訓練1-15:輸出斐波那契數列第100項(F(1)=F(2)=1;F(n)=F(n-1)+F(n-2))。

2. while語句
while語句會反復地進行條件判斷,只要條件成立,“{}”內的執行語句就會一直執行,直到條件不成立,while循環才會結束。其示例及流程圖如下圖所示。

訓練1-16:輸入一個整數n,輸出1~n的所有整數。

3. do while語句
do while循環語句先執行一次大括號內的代碼再判斷循環條件。

訓練1-17:輸入一個整數n,輸出1~n的所有整數。

for、while、do while語句三者的區別如下。
? while語句先判斷循環條件,再決定是否執行循環體。
? do while語句先執行循環體,再判斷循環條件,至少執行一次循環體。
? for語句在省略測試條件時,會認為條件為true。
? for語句可以用初始化語句聲明一個局部變量,while語句則不可以。
? 如果在循環體中包含continue語句,則for語句會跳到循環更新處,while語句會跳到循環條件處。
? 在無法預知循環次數或者循環更新不規律時,用while語句。
訓練1-18:輸入一個整數n,輸出1~n的所有整數。

訓練1-19:輸入一個整數n,輸出1~n的所有整數。

訓練1-20:輸入一個整數n,輸出1~n的所有整數,跳過3的倍數。

訓練1-21:輸入一個大于1的整數n(n<100),若n為奇數,則n變為3n+1;否則n變為n/2。經過若干變換,n會變為1并停止,輸出變換次數。
在無法預知循環次數或者循環更新不規律時,用while語句。

- Beginning Java Data Structures and Algorithms
- Visual Basic程序開發(學習筆記)
- Django Design Patterns and Best Practices
- Mastering Google App Engine
- Java實戰(第2版)
- Python機器學習算法: 原理、實現與案例
- 代碼閱讀
- 從程序員角度學習數據庫技術(藍橋杯軟件大賽培訓教材-Java方向)
- 并行編程方法與優化實踐
- 快樂編程:青少年思維訓練
- 深入大型數據集:并行與分布化Python代碼
- Hands-On ROS for Robotics Programming
- Alfresco for Administrators
- Mastering MeteorJS Application Development
- Mastering High Performance with Kotlin