###### tags: `sprout` # while slide : https://hackmd.io/@i2y3z9dITSa_Q_7V7h-AoA/B1l2D9EBI --廖凰汝-- --- 題目: 印出1~10的數字 ---- 你可能會... ```cpp= std::cout<"1"; std::cout<"2"; std::cout<"3"; std::cout<"4"; std::cout<"5"; std::cout<"6"; std::cout<"7"; std::cout<"8"; std::cout<"9"; std::cout<"10"; ``` ---- 題目: 印出1~10000的數字 ---- 複製貼上到手斷掉 --- In C/C++ ```cpp while (condition) { do something } ``` 當條件符合(true),就做事情,重複做,直到條件不符合(false) ---- ```cpp while (肚子餓) { 吃東西 } ``` ---- <h2>題目: 印出1~10的數字</h2> <!--- ```cpp= #include <iostream> int main() { int i = 1; while (i<=10) { std::cout<<i<<std::endl; i++; } return 0; } ```---> ---- ![](https://i.imgur.com/hohgg7p.png) ---- <a href="http://www.pythontutor.com/visualize.html#mode=display">一步一步來</a> ---- <h2>題目: 印出5*5的正方形</h2> ![](https://i.imgur.com/pSgKUiB.png) ---- ![](https://i.imgur.com/tzVLC1m.png) ### 分析一下: 每一列有五顆星星,總共有五列。 <font color="#ef0">印出五顆星星</font>是一個動作,總共要做五次這樣的動作(且每做一次就要換行) ---- 所以我們可以寫出 ```cpp= int i = 1; while (i<=5) { 印出五顆星星; std::cout<<std::endl; i++; } ``` ---- 那<font color="#aa0">印出五顆星星</font>怎麼寫? ```cpp= int j = 1; while (j<=5) { std::cout<<"*"; j++; } ``` 把以上code 取代到 <font color="#aa0">印出五顆星星</font> ---- Finished! ![](https://i.imgur.com/ASScw9K.png) --- 執行看看以下的code ```cpp #include <iostream> int main() { while (1) { std::cout<<"$"; } return 0; } ``` ---- 滿滿的錢 :+1: :+1: 為什麼會這樣? ---- 在while迴圈裡忘記更新值,有可能就會發生無窮迴圈。 ![](https://i.imgur.com/AQSgh9R.png) ---- ![](https://i.imgur.com/ftxEufh.png)
{"metaMigratedAt":"2023-06-15T05:06:02.641Z","metaMigratedFrom":"Content","title":"while","breaks":true,"contributors":"[{\"id\":\"8b6cb7cf-d748-4d26-bf43-fed5ee1f80a0\",\"add\":1615,\"del\":62}]"}
    400 views