學習記錄:`for` 語句與`while`語句的區別

for 語句與while語句的區別:

forwhile 語句都是循環控制結構,用于重復執行一段代碼直到滿足特定條件。盡管它們的基本目的是相似的,但它們的語法和一些使用場景有所不同。

for 語句:

  • 用途:通常用于已知循環次數的情況,或者當需要從序列中迭代時。
  • 結構
    for (初始化表達式; 條件表達式; 迭代表達式) {// 循環體
    }
    
  • 運算過程
    1. 初始化表達式:在循環開始前執行一次,用于設置循環控制變量的初始值。
    2. 條件表達式:在每次循環迭代前評估,如果結果為真(非零),則執行循環體;如果結果為假(零),則退出循環。
    3. 迭代表達式:在每次循環迭代結束時執行,通常用于更新循環控制變量的值。

while 語句:

  • 用途:通常用于循環次數未知或基于條件的循環,而不是基于迭代的循環。
  • 結構
    while (條件表達式) {// 循環體迭代表達式;
    }
    
  • 運算過程
    1. 條件表達式:在每次循環迭代前評估,如果結果為真,則執行循環體;如果結果為假,則退出循環。
    2. 迭代表達式:在循環體內部執行,需要手動更新循環控制變量的值。

區別:

  1. 語法結構

    • for 語句將初始化、條件檢查和迭代步驟封裝在循環頭中。
    • while 語句只包含條件檢查,迭代步驟放在循環體內。
  2. 使用場景

    • for 語句適合于迭代次數已知的情況,例如遍歷數組或執行固定次數的重復操作。
    • while 語句適合于迭代次數未知的情況,或者需要在循環中等待某個條件發生。
  3. 條件位置

    • for 循環的條件位于循環頭,作為循環繼續運行的依據。
    • while 循環的條件位于循環開始前,同樣作為循環繼續運行的依據。
  4. 風險

    • for 循環和 while 循環都存在“無限循環”的風險,如果條件表達式永遠為真,且沒有其他退出機制,循環將不會停止。
  5. 可讀性

    • for 循環由于其封裝性,通常在迭代數組或序列時更易于閱讀和理解。
    • while 循環由于其簡潔性,對于復雜的條件或需要在循環中進行多個檢查的情況可能更清晰。

示例:

// for 循環:遍歷數組
int array[] = {1, 2, 3, 4};
for (int i = 0; i < sizeof(array) / sizeof(array[0]); ++i) {cout << array[i] << endl;
}// while 循環:等待條件
int count = 0;
while (count < 10) {cout << count << endl;count++; // 迭代表達式
}

在示例中,for 循環用于遍歷數組,自動處理初始化、條件檢查和迭代步驟。而 while 循環用于執行操作直到 count 達到 10,迭代步驟(count++)在循環體內手動執行。

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

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

相關文章

離線安裝docker社區版

以下是離線安裝 Docker 社區版的一般步驟&#xff1a; 準備工作&#xff1a; 在有網絡的環境下&#xff0c;從 Docker 官網下載適合你系統的 Docker 社區版安裝包以及相關依賴包。 傳輸安裝包到離線機器&#xff1a; 使用移動存儲設備或其他合適的方式將下載好的安裝包及依賴轉…

【劍指Offer系列】53-0到n中缺失的數字(index)

給定一個包含 [0, n] 中 n 個數的數組 nums &#xff0c;找出 [0, n] 這個范圍內沒有出現在數組中的那個數。 示例 1&#xff1a; 輸入&#xff1a;nums [3,0,1] 輸出&#xff1a;2 解釋&#xff1a;n 3&#xff0c;因為有 3 個數字&#xff0c;所以所有的數字都在范圍 [0,3]…

應用決策樹批量化自動生成【效果好】【非過擬合】的策略集

決策樹在很多公司都實際運用于風險控制,之前闡述了決策樹-ID3算法和C4.5算法、CART決策樹原理(分類樹與回歸樹)、Python中應用決策樹算法預測客戶等級和Python中調用sklearn決策樹。 本文介紹應用決策樹批量自動生成效果好,非過擬合的策略集。 文章目錄 一、什么是決策樹二…

數字化那點事:一文讀懂數字鄉村

一、數字鄉村的定義 數字鄉村是指利用信息技術和數字化手段&#xff0c;推動鄉村社會經濟發展和治理模式變革&#xff0c;提升鄉村治理能力和公共服務水平&#xff0c;實現鄉村全面振興的一種新型發展模式。它包括農業生產的數字化、鄉村治理的智能化、鄉村生活的現代化等方面…

Elasticsearch的節點、集群和分片

Elasticsearch的節點、集群和分片 節點 什么是節點 ES是使用Java語言開發的。ES可以創建多個節點&#xff0c;一個節點就是一個ES實例&#xff0c;也就是一個Java線程。ES在生產環境中每個節點都是分布在不同的服務器上的&#xff0c;目的是達到集群的高可用多個節點構成一個…

Nginx系列-1 Nginx安裝與使用

背景 最近對項目進行了Https改造&#xff0c;改造過程涉及Nginx技術&#xff0c;因此進行簡單總結。 從本文開始將開啟一個新的專題Nginx系列&#xff0c;用于收集Nginx相關的文章&#xff0c;內容將包括&#xff1a; Nginx系列—1 Nginx安裝與使用Nginx系列—2 Nginx配置Ngi…

記一次小程序滲透

這次的小程序滲透剛好每一個漏洞都相當經典所以記錄一下。 目錄 前言 漏洞詳情 未授權訪問漏洞/ 敏感信息泄露&#xff08;高危&#xff09; 水平越權&#xff08;高危&#xff09; 會話重用&#xff08;高危&#xff09; 硬編碼加密密鑰泄露&#xff08;中危&#xff0…

熟練掌握爬蟲技術

一、Crawler、Requests反爬破解 1. HTTP協議與WEB開發 1. 什么是請求頭請求體&#xff0c;響應頭響應體 2. URL地址包括什么 3. get請求和post請求到底是什么 4. Content-Type是什么1.1 簡介 HTTP協議是Hyper Text Transfer Protocol&#xff08;超文本傳輸協議&#xff09;…

整合 Mybatis Plus

什么是 MyBatis Plus&#xff1f; MyBatis Plus &#xff08;簡稱 MP&#xff09; 是一款持久層框架&#xff0c;說白話就是一款操作數據庫的框架。它是一個 MyBatis 的增強工具&#xff0c;就像 iPhone手機一般都有個 plus 版本一樣&#xff0c;它在 MyBatis 的基礎上只做增強…

NOI大綱——普及組——編碼

編碼 ##ASCLL碼 ASCII碼&#xff08;American Standard Code for Information Interchange&#xff0c;美國信息交換標準代碼&#xff09;是一種基于拉丁字母的字符編碼方案&#xff0c;主要用于表示文本數據。ASCII碼包含128個字符&#xff08;0-127&#xff09;&#xff0c…

2024最新boss直聘崗位數據爬蟲,并進行可視化分析

前言 近年來,隨著互聯網的發展和就業市場的變化,數據科學與爬蟲技術在招聘信息分析中的應用變得越來越重要。通過對招聘信息的爬取和可視化分析,我們可以更好地了解當前的就業市場動態、職位需求和薪資水平,從而為求職者和招聘企業提供有價值的數據支持。本文將介紹如何使…

python自動化辦公之PyPDF2

用到的庫&#xff1a;PyPDF2 實現效果&#xff1a;打開pdf文件&#xff0c;把每一頁的內容讀出來 代碼&#xff1a; import PyPDF2 # 打開pdf文件 fileopen(friday.pdf,rb) # 創建pdf文件閱讀器對象 readerPyPDF2.PdfReader(file) # 獲取pdf文件的總頁數 total_pageslen(rea…

Amazon Q——2023 re:Invent 大會的 AI 革新之星

引言 在2023年的 re:Invent 大會上&#xff0c;亞馬遜云科技&#xff08;亞馬遜云科技&#xff09;不僅展示了包括 Amazon Graviton3、Amazon SageMaker Studio Lab、Amazon Connect Wisdom、Amazon QuickSight Q 和 Amazon Private 5G 在內的多項創新產品&#xff0c;還發布了…

【python爬蟲】豆瓣爬蟲學習

文章目錄 網頁地址爬蟲目標技術棧爬蟲代碼注意事項 Python爬蟲學習&#xff1a;我們可以選擇一個相對簡單的網站進行數據抓取。這里以抓取“豆瓣電影Top250”的信息為例&#xff0c;這個網站提供了豐富的電影數據&#xff0c;包括電影名稱、評分、導演、演員等信息。 網頁地址…

AI大模型技術在音樂創造的應用前景

大模型技術在音樂創作領域具有廣闊的應用前景&#xff0c;可以為音樂家、作曲家和音樂愛好者提供以下方面的幫助。北京木奇移動技術有限公司&#xff0c;專業的軟件外包開發公司&#xff0c;歡迎交流合作。 音樂創作輔助&#xff1a;大模型可以幫助音樂家和作曲家生成旋律、和聲…

Win腳本開機自啟ALIst和RClone

轉自個人博客&#xff1a;https://www.jjy2023.cn/2024/05/23/win%e8%84%9a%e6%9c%ac%e5%bc%80%e6%9c%ba%e8%87%aa%e5%90%afalist%e5%92%8crclone/ 在配置完alist和rclone之后&#xff0c;就只需要每次開機啟動兩者就行了&#xff0c;所以感覺使用AListHelper沒有必要&#xff…

算法金 | 協方差、方差、標準差、協方差矩陣

大俠幸會&#xff0c;在下全網同名「算法金」 0 基礎轉 AI 上岸&#xff0c;多個算法賽 Top 「日更萬日&#xff0c;讓更多人享受智能樂趣」 抱個拳&#xff0c;送個禮 1. 方差 方差是統計學中用來度量一組數據分散程度的重要指標。它反映了數據點與其均值之間的偏離程度。在…

Flask無法Debug

問題描述 Flask Debug的時候&#xff0c;可能會無法進入斷點。我使用的是pycharm CE版本。 解決方案 確保pycharm安裝路徑不帶空格。&#xff08;帶空格路徑導致debug程序啟動報錯&#xff09;Gevent compatible&#xff0c;這個東西老的pycharm版本必須勾選它&#xff0c;新…

中霖教育靠譜嗎?在職備考一建好通過嗎?

中霖教育靠譜嗎?在職備考一建好通過嗎? 課程設置&#xff1a;報名后會進行測評&#xff0c;了解學員的知識掌握情況、時間安排和記憶思維特點等&#xff0c;制定更適合的學習計劃。 課程以考試通過為目標&#xff0c;去繁化簡&#xff0c;只講有用的干貨&#xff0c;幫助快…

Python的GIL

Python的GIL是什么&#xff1f;它對多線程編程有什么影響&#xff1f; GIL&#xff08;全局解釋器鎖&#xff09;是Python解釋器中的一個機制&#xff0c;它是為了保證在任何時刻只有一個線程執行Python字節碼。GIL的存在主要因為Python的內存管理和垃圾回收機制是線程不安全的…