C++(6)--初識循環while,do-while

初識循環

  • 1.使用while 循環結構
  • 2.使用do-while 循環
  • 3.python中的while循環

《老九學堂C++課程》《C++ primer》學習筆記。《老九學堂C++課程》詳情請到B站搜索《老九零基礎學編程C++入門》
-------------簡單的事情重復做,重復的事情用心做,用心的事情堅持做(老九君)---------------

理解循環結構的基本原理
case1: 時鐘,地球自傳/公轉, 游戲角色跑動,刷新數據,hz :每秒種多少次,
寫10句臺詞(需要重復做的事情,用循環來寫,循環變量在變化,循環變量可以控制循環的次數)

循環三要素:
循環變量的初值
循環變量的判斷
循環變量的更新

1.使用while 循環結構

while-當條件為真的時候執行循環,循環體內部需要循環變量的更新操作,避免死循環。循環體語句執行完畢之后,重新判斷條件是否成立。

先判斷再執行

int i = 1;	//循環變量的初值,循環變量可以不是整形
while(i <= 10){cout << "小人本住在蘇州的城邊...\t 第" << i << "遍\n";i++;
}

demo1:使用循環計算1-100 的累加

int main(){//使用循環計算1-100的累加和int i = 1;int sum = 0;while(i < 101){sum += i;i += 1;	// i++}cout << sum << endl;return 0;
}

demo2:使用循環的方式來判斷,三次密碼輸入錯誤退出系統

int main(){string password;int i = 0;while(i < 3){cout << "請輸入密碼: " << endl;cin >> password;cout << "您輸入的密碼是: " << password << endl;if (password == "12345678"){cout << "您輸入的密碼正確" << endl;// 繼續之后的操作}i += 1;}cout << "三次輸入密碼錯誤,強制退出系統!" << endl;exit(0);return 0;
}

demo3: 某一公司2019年的交易額是800億,每年增速25%,問按此速度哪一年的交易額可以達到2000億。

int main(){double jiaoyie = 800;int year = 2000;while(jiaoyie < 2000){jiaoyie *= 1.25;year += 1;}cout << "到" << year << "年,營業額達到" << jiaoyie << "億" << endl;return 0;
int main(){int k = 2;while(k = 1){        // 賦值語句無限循環, 我的編譯器過不去cout << k <<endl;}
}
int main(){int n=0;while(n++ < 2);cout << n << endl;
}

等于3,但是視頻說4.

2.使用do-while 循環

注意點: 最后的逗號別忘了

do{//循環體
}while(循環條件);

demo1: 執行完b的值為多少?

int a = 1, b = 10;
do{b -= a;a++;
}while(b-- < 0);

抓住核心點–循環條件是否符合。執行一遍循環體,b = 9, a = 2;循環條件 b-- < 0 為假,比較表達式執行完后,b再自減。所以最后b的值為8.

demo2: 為了使程序不陷入死循環,從鍵盤輸入的數據應該是?

int a, b = 1, s = 0;
cin >> a;
do{s = s + b;b = b -2
}while(a != b);

抓住核心點–循環條件是否符合。循環條件 a == b 就會跳出循環,所以,關鍵看b是個什么數?s = s + b 并不會改變b的值,所以沒啥用;b = b - 2, 初始化為1 的b每次減去2,則b = -1,-3,-5,… 所以a可以為任意的負奇數。

3.python中的while循環

語法

while(循環條件)# 循環體# 更新循環變量

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/444880.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444880.shtml
英文地址,請注明出處:http://en.pswp.cn/news/444880.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

map類的erase方法的在Linux與Windows中的差異

這次的代碼是跨平臺的,尼瑪在win32上通過,但是在linux上不通過了,查找了一下原來是平臺linux不支持。 有人舉了例子: std::map< int , float > i_f_map; i_f_map[1] = 1.2f; i_f_map[23] = 1.4f;

C++(7)--for循環,break,continue語句

for循環1.for循環2.break 語句3.continue語句4.while,do-while,for 循環的異同5.for循環demo 嵌套循環-打印圖形6.python 中的for循環《老九學堂C課程》《C primer》學習筆記。《老九學堂C課程》詳情請到B站搜索《老九零基礎學編程C入門》-------------簡單的事情重復做&#x…

關系數據庫——數據庫恢復

實現技術 恢復操作的基本原理&#xff1a;冗余 恢復機制涉及的兩個關鍵問題 如何建立冗余數據 數據轉儲&#xff08;backup&#xff09;登錄日志文件&#xff08;logging&#xff09; 如何利用這些冗余數據實施數據庫恢復數據轉儲 數據轉儲定義&#xff1a; 轉儲是指DBA將整個數…

Lua語言中pairs和ipairs的區別

tbl = {"alpha", "beta", ["one"] = "uno", ["two"] = "dos"} for key, value in ipairs(tbl) do print(key, value) end --pairs() --pairs()函數基本和ipairs()函數用法相同, 區別在于pairs()可以遍歷整個table…

算法(22)-leetcode-劍指offer6

leetcode-劍指offer-545.面試題55- 二叉樹的深度46.面試題55-2-平衡二叉樹47.面試題57-1-和為s的兩個數字-雙指針48.面試題57-2-和為s 的連續正數序列-雙指針49.面試題56-數組中出現數字的次數-位運算leetcode-136 只出現一次的數字Ileetcode-137 只出現一次的數字IIleetcode-2…

leetcode160 相交鏈表

編寫一個程序&#xff0c;找到兩個單鏈表相交的起始節點。 如下面的兩個鏈表&#xff1a; 在節點 c1 開始相交。 示例 1&#xff1a; 輸入&#xff1a;intersectVal 8, listA [4,1,8,4,5], listB [5,0,1,8,4,5], skipA 2, skipB 3 輸出&#xff1a;Reference of the node…

lua的一些api文檔總結吧

打算記錄一些我認為重要的常用的api: 1. 建一個新表 void lua_createtable (lua_State *L, int narr, int nrec) 創建一個新的table, 并把它放在棧頂. narr和nrec分別指定該table的array部分和hash部分的預分配元素數量 無返回值 棧高度+1, 棧頂元素是新table #define l…

關于mysql的一些時間格式和字符的問題

最近在做一些游戲的數據分析&#xff0c;需要對大量數據的用戶行為進行處理存庫&#xff0c;其中有個數據庫字段是datetime類型的&#xff0c;這個以前都沒用過&#xff0c;我以前都喜歡用int來存放時間戳&#xff0c;但這次這樣用&#xff0c;我就得在數據庫中轉換了&#xff…

算法(17)-leetcode-劍指offer1

leetcode-劍指offer-11.面試題3-數組中的重復數字2.面試題04-二維數組中的查找3.面試題05-替換空格4.面試題06-從尾到頭打印鏈表5.面試題07-重建二叉樹6.面試題09-兩個堆棧實現隊列7.面試題10-1-斐波那契數列8.面試題10-2-青蛙跳臺階問題9.面試題11-旋轉數組的最小數字10.面試題…

蟻群算法的一些東西

運行了三個TSP經典用例,基本符合要求。僅僅是一份按照蟻群算法的原理寫的代碼,沒有做任何優化。 // bigSearch.cpp : 定義控制臺應用程序的入口點。 // #include<iostream> #include<math.h> #include<time.h> using namespace std; //該程序是以…

leetcode101 對稱二叉樹

給定一個二叉樹&#xff0c;檢查它是否是鏡像對稱的。 例如&#xff0c;二叉樹 [1,2,2,3,4,4,3] 是對稱的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面這個 [1,2,2,null,3,null,3] 則不是鏡像對稱的: 1 / \ 2 2 \ \ 3 3 說明: 如果你可以運用遞歸和迭…

Linux內核OOM機制的詳細分析

Linux 內核有個機制叫OOM killer&#xff08;Out-Of-Memory killer&#xff09;&#xff0c;該機制會監控那些占用內存過大&#xff0c;尤其是瞬間很快消耗大量內存的進程&#xff0c;為了防止內存耗盡而內核會把該進程殺掉。典型的情況是&#xff1a;某天一臺機器突然ssh遠程登…

算法(18)-leetcode-劍指offer2

leetcode-劍指offer-211.面試題13-機器人的運動范圍-廣度優先搜索12.面試題14-1-剪繩子13.面試題14-2-剪繩子214.面試題16-二進制中1的個數-布萊恩克尼根15.面試題16-數值的整數次方-快速冪解析法16.面試題17-打印從1到最大的n位數17.面試題18-刪除鏈表的節點18.面試題19-正則匹…

rabbitmq技術的一些感悟(一)

Rabbitmq 初識rabbitmq RabbitMQ是流行的開源消息隊列系統,用erlang語言開發。RabbitMQ是AMQP(高級消息隊列協議)的標準實現。如果不熟悉AMQP,直接看RabbitMQ的文檔會比較困難。不過它也只有幾個關鍵概念,這里簡單介紹 幾個概念說明: Broker

leetcode21 合并兩個鏈表

將兩個有序鏈表合并為一個新的有序鏈表并返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。 示例&#xff1a; 輸入&#xff1a;1->2->4, 1->3->4 輸出&#xff1a;1->1->2->3->4->4 思路&#xff1a;鏈表歸并。 /*** Definition for si…

rabbitmq技術的一些感悟(二)

上一節文章主要是說了一下rabbitmq的安裝以及搭建好環境的一些命令,以及常用的api調用,其實自從google被封掉之后,我之前收藏的很多技術連接都已經被禁止訪問了,這個是多么可悲的一件事情啊,說多了都是淚。 首先,我先寫一段消費者的模塊,建立連接,初始化amq以及銷毀連接…

算法(19)-leetcode-劍指offer3

leetcode-劍指offer-321.面試題22-鏈表中的倒數第k個節點22.面試題24-反轉鏈表23.面試題25-合并兩個排序鏈表-遞歸24.面試題26-樹的子結構25.面試題27-二叉樹的鏡像26.面試題28-對稱二叉樹27.面試題29-順時針打印矩陣28.面試題30-包含min函數的棧29.面試題31-棧的押入&#xff…

高效解析xml的總結,閑下來寫的

需要這么幾個庫&#xff0c;直接放在你的代碼工程里即可&#xff1a; #include "rapidxml.h" #include "rapidxml_utils.h" int ReBornBossConf::loadConf(const char* szFileName){ rapidxml::file<char> fdoc(szFileName); rapidxml::xml_docum…

leetcode35 插入的位置

給定一個排序數組和一個目標值&#xff0c;在數組中找到目標值&#xff0c;并返回其索引。如果目標值不存在于數組中&#xff0c;返回它將會被按順序插入的位置。 你可以假設數組中無重復元素。 思路&#xff1a;二分查找 public class Solution {public int searchInsert(i…

算法(20)-leetcode-劍指offer4

leetcode-劍指offer-433.面試題33-二叉搜索樹的后序遍歷序列34.面試題34-二叉樹中和為某一值的路徑35.面試題35-復雜鏈表的復制36.面試題36-二叉搜索樹與雙向鏈表37.面試題37-序列化二叉樹38.面試題38-字符串的排列39.面試題39-數組中出現次數超過一半的數字40.面試題40-最小的…