学习记录:`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.mzph.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的内存管理和垃圾回收机制是线程不安全的…