当前位置: 首页 > news >正文

「C/C++」C/C++ 之 循环结构详解

在这里插入图片描述

✨博客主页
何曾参静谧的博客
📌文章专栏
「C/C++」C/C++程序设计
📚全部专栏
「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合
「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发
「QT」QT5程序设计「File」数据文件格式「PK」Parasolid函数说明

目录

    • C++循环结构详解
      • 1. `for`循环
      • 2. `while`循环
      • 3. `do-while`循环
      • 4. 循环控制语句
      • 总结

C++循环结构详解

在C++编程中,循环结构是一种非常重要的控制流语句,它允许程序重复执行某段代码,直到满足特定的条件为止。循环结构极大地提高了代码的复用性和效率,使得处理重复任务变得简单而高效。C++提供了多种循环结构,包括for循环、while循环和do-while循环。本文将详细介绍这些循环结构及其使用场景。

1. for循环

for循环是最常用的循环结构之一,它通常用于已知循环次数的场景。for循环的基本语法如下:

for (初始化表达式; 循环条件; 迭代表达式) {// 循环体
}
  • 初始化表达式:在循环开始前执行,通常用于初始化循环控制变量。
  • 循环条件:在每次循环迭代前检查,如果条件为真(非零),则执行循环体;否则,跳出循环。
  • 迭代表达式:在每次循环迭代结束时执行,通常用于更新循环控制变量。

示例:打印1到10的数字

#include <iostream>
using namespace std;int main() {for (int i = 1; i <= 10; ++i) {cout << i << " ";}cout << endl;return 0;
}

2. while循环

while循环在每次迭代前检查条件,如果条件为真,则执行循环体。while循环的基本语法如下:

while (循环条件) {// 循环体
}
  • 循环条件:在每次循环迭代前检查,如果条件为真(非零),则执行循环体;否则,跳出循环。

示例:计算1到10的和

#include <iostream>
using namespace std;int main() {int sum = 0;int i = 1;while (i <= 10) {sum += i;++i;}cout << "Sum: " << sum << endl;return 0;
}

3. do-while循环

do-while循环与while循环类似,但它在每次迭代后检查条件。这意味着do-while循环至少会执行一次,即使条件一开始就是假的。do-while循环的基本语法如下:

do {// 循环体
} while (循环条件);
  • 循环条件:在每次循环迭代后检查,如果条件为真(非零),则继续执行循环体;否则,跳出循环。

示例:要求用户输入一个正整数

#include <iostream>
using namespace std;int main() {int num;do {cout << "Enter a positive integer: ";cin >> num;} while (num <= 0);cout << "You entered: " << num << endl;return 0;
}

4. 循环控制语句

在循环结构中,C++还提供了几种控制循环行为的语句,包括breakcontinuegoto(尽管goto在现代编程中很少使用,因为它可能导致代码难以理解和维护)。

  • break:立即终止循环,并跳出循环体,继续执行循环之后的代码。
  • continue:跳过当前迭代中剩余的代码,并立即开始下一次迭代(如果条件仍然为真)。

示例:使用breakcontinue

#include <iostream>
using namespace std;int main() {for (int i = 1; i <= 10; ++i) {if (i % 2 == 0) {continue; // 跳过偶数}if (i == 7) {break; // 终止循环}cout << i << " ";}cout << endl;return 0;
}

在这个例子中,循环会打印1、3、5,然后在i等于7时终止,因为break语句被执行。偶数会被continue语句跳过。

总结

C++提供了多种循环结构,每种结构都有其特定的使用场景。for循环适用于已知循环次数的场景,while循环和do-while循环则适用于基于条件的循环。通过合理使用这些循环结构和循环控制语句,可以编写出高效、易读的代码。掌握这些基本概念和用法,对于编写复杂的C++程序至关重要。


在这里插入图片描述

相关文章:

「C/C++」C/C++ 之 循环结构详解

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…...

json-server的基本使用

一、json-server工具的使用 可以快速的搭建符合RESTful API服务。返回符合RESTful规范的数据&#xff1b; 1、全局引入json-server包 npm install -g json-server2、创建json格式的db.json文件 {"jsonData": [{"name": "小明"}] }3、在json文…...

华为配置BFD状态与接口状态联动实验

组网图形 图1 配置BFD状态与接口状态联动组网图 BFD简介配置注意事项组网需求配置思路操作步骤配置文件 BFD简介 为了减小设备故障对业务的影响&#xff0c;提高网络的可靠性&#xff0c;网络设备需要能够尽快检测到与相邻设备间的通信故障&#xff0c;以便及时采取措施&…...

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22目录1. PoisonedRAG: Knowledge corruption attacks to retrieval-augmented generation of large language models摘要创新点…...

理解消息队列

消息队列&#xff08;Message Queue&#xff09;有下面四大作用&#xff1a; 解耦。几个业务系统之间可以通过 MQ 解耦&#xff0c;例如做数据同步数据的顺序性和可恢复性异步通讯缓冲能力 理解 MQ MQ 的前两个特点且不说&#xff0c;我们看看另外两个的。 异步通讯&#x…...

!什么,matlab也有网页版了

已经脱离matlab一下下几天的困境了&#xff0c;是的&#xff0c;matlab也有网页版了 附上网址&#xff1a; MATLAB Login | MATLAB & Simulink...

安卓屏幕息屏唤醒

背景&#xff0c;今天遇项目需要&#xff0c;需要在下载在后台任务运行时&#xff08;如下载、上传或进行长时间计算&#xff09;&#xff0c;保持 CPU 活动&#xff0c;然后就写了这个实现方法&#xff0c;废话不多说上代码 第一步&#xff0c;再清单AndroidManifest文件声明权…...

类文件具有错误的版本 61.0, 应为 55.0

启动项目的时候报这个错误. 项目所使用的redis版本是jdk17的&#xff0c;而我使用的是Java11.所以要将redis版本降下来。 另一种方式就是修改jdk的版本&#xff0c;在设置修改编译版本&#xff0c;在版本控制里面修改jdk的版本。...

vue点击菜单,出现2个相同tab,啥原因

点击菜单&#xff0c;出现相同的tab 出现的原因&#xff1a; 1.组件中的name 和配置路由文件js, 的大小写不一致导致 2、跳转的路由整个地址&#xff0c;大小写不一致大致...

【网络原理】——图解HTTPS如何加密(通俗简单易懂)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;HTTP为什么不安全 二&#xff1a;HTTPS加密过程 1&#xff1a;密码学中的概念 &…...

CentOS 修改服务器登录密码的完整指南

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…...

【PnP】详细公式推导,使用DLT直接线性变换法求解相机外参

文章目录 &#x1f680;PnP1️⃣ 求解不考虑尺度的解2️⃣ 恢复解的尺度3️⃣ 另一种解法 &#x1f680;PnP PnP(Perspective-n-Point)是求解3D到2D点相机外参的算法。PnP算法有DLT直接线性变换、P3P三对点估计位姿、EPnP(Efficient PnP)、BA(Bundle Adjustment)光速法平差。这…...

怎样把书上的事件图改编成活动图-《分析模式》漫谈43

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《分析模式》中模型图的UML改编&#xff0c;之前也有人做过&#xff0c;Martin Fowler网站上给出了部分改编成果。 这些改编成果只覆盖了部分章节&#xff0c;而且只是把类型图&#…...

CodeFormer——基于代码本查找变换器的鲁棒盲人脸修复翻译

文章目录 原文翻译摘要1 Introduction2 Related Work3 Methodology3.1 Codebook Learning (Stage I)3.2 Codebook Lookup Transformer Learning (Stage II)3.3 Controllable Feature Transformation (Stage III) 4 Experiments4.1 Datasets4.2 Experimental Settings and Metri…...

监控场景下,视频SDK的应用策略

在当今数字化、智能化的时代背景下&#xff0c;音视频技术的快速发展正深刻改变着各行各业。特别是在监控领域&#xff0c;音视频SDK的应用不仅极大地提升了监控系统的性能与效率&#xff0c;还推动了监控技术的智能化转型。 一、音视频SDK 音视频SDK是一套集成了音视频编解码…...

前端面试必备!HTML 超实用考点全解析

在前端开发的广阔领域中&#xff0c;面试是检验开发者能力的关键环节。而 HTML 作为前端开发的基础&#xff0c;在面试中常常占据重要地位。无论是初入前端领域的新人&#xff0c;还是经验丰富的开发者&#xff0c;都可能在 HTML 的相关问题上遭遇挑战。今天&#xff0c;就让我…...

自动驾驶系统研发系列—避免事故的利器:AEB自动紧急制动系统详解

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中一起航行,共同成长,探索技术的无限可能。 🚀 探索专栏:学…...

zabbix 6.0 监控clickhouse(单机)

zabbix 6.0 LTS已经包含了clickhouse的监控模板&#xff0c;所以我们可以直接使用自带的模板来监控clickhouse了。 0.前置条件 clickhouse 已经安装&#xff0c;我安装的是24.3.5.47zabbix-agent 已经安装并配置。系统是ubuntu 2204 server 1. 新建监控用户 使用xml的方式为…...

Redis的RDB执行原理

文章目录 引入‘页表’的概念Copy-On-WriteRDB快照 引入‘页表’的概念 Linux里面每个进程都是无法直接操作物理内存的&#xff0c;每个进程只能用页表映射本进程的虚拟内存到物理内存的映射。 bgsave的时候&#xff0c;主进程会fork&#xff08;复制&#xff09;一个子进程&am…...

速度背!24下软考网工“经典100道母题来了”!

2024下软考已经迫在眉睫了&#xff0c;准备考下半年软考多媒体应用设计师的小伙伴们准备得怎么样了&#xff1f; 单单只啃书肯定不太够&#xff0c;今天给大家整理了多媒体100道经典题&#xff0c; 这些都是历年高频考点整理&#xff0c;包含24下软考80%以上考点&#xff0c;跟…...

three.js 纹理(Texture)、深度纹理(DepthTexture)、视频纹理(VideoTexture)

纹理&#xff08;Texture&#xff09; 创建一个纹理贴图&#xff0c;将其应用到一个表面&#xff0c;或者作为反射/折射贴图。 构造函数 Texture( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) // load a texture, set wrap…...

广东自闭症全托机构:提供高质量的康复服务

在广东这片充满活力的土地上&#xff0c;自闭症儿童的康复需求日益受到社会各界的关注。在众多自闭症全托机构中&#xff0c;位于广州的星贝育园自闭症儿童寄宿制学校以其专业的团队、全面的服务体系以及显著的康复成效&#xff0c;成为了众多家庭的信赖之选。 星贝育园&#…...

Nodejs安装配置及创建vue项目

文章目录 Node简介Node官网安装node.js验证是否安装成功 npm简介配置node远程拉取仓库安装cnpm&#xff08;国内插件管理命令&#xff09;npm相关参数解读 vue简介创建vue项目 Node 简介 Node.js 是一个免费、开源、跨平台的 JavaScript 运行时环境&#xff0c;它让开发人员能…...

浅析正交投影矩阵和透视投影矩阵的推导

先上矩阵的内容。在opengl中&#xff0c;分别通过glOrtho函数和glFrustum函数得到正交投影矩阵和透视投影矩阵。 glOrtho 函数描述生成正交投影矩阵。 (左、 下、 近) 和 (右、 上、 近) 参数分别指定近剪裁平面上映射到窗口左下角和右上角的点&#xff0c;假定眼睛位于 (0、0…...

python四舍五入保留两位小数不足补0

在 Python 中&#xff0c;当你想要对数字进行四舍五入并保留两位小数&#xff0c;同时确保当小数位数不足两位时能够补零&#xff0c;你可以继续使用 round() 函数进行四舍五入&#xff0c;然后在格式化输出时使用字符串格式化方法来确保小数位数。 round() 函数本身只会返回四…...

Mybatis-15.动态SQL-if

一.动态SQL 比如只想查询名字中带‘张’的&#xff0c;其他的都不进行条件筛查 会发现什么也查询不出来 我们希望SQL语句能够根据我们所输入的查询值进行动态的变化&#xff0c;就需要使用到动态SQL。动态SQL中有很多标签&#xff0c;其中用于条件判断的就是标签<if>。…...

gb28181-sip注册流程

gb28181-sip注册流程 当客户端第一次接入时&#xff0c;客户端将持续向Server端发送REGISTER消息&#xff0c;直到Server端回复"200 OK"后结束 它的注册流程如下图&#xff1a; 注册流程&#xff1a; 1 . SIP代理向SIP服务器发送Register请求&#xff1a; 第1行表…...

WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查权限

在局域网中使用 WebRTC 时&#xff0c;无法访问摄像头和麦克风通常是因为浏览器的安全策略限制了 getUserMedia API 的使用。如果你在非 localhost 或非 HTTPS 环境下访问网页&#xff0c;浏览器会阻止访问摄像头和麦克风。 解决方案 在局域网中调试 WebRTC 时&#xff0c;你…...

Apache POI—读写Office格式文件

Apache POI 是一个开源的 Java 库&#xff0c;用于读写 Microsoft Office 格式的文件&#xff0c;主要包括 Excel、Word 和 PowerPoint 等文档。POI 对 Excel 文件的支持最为完善&#xff0c;通过 POI 可以方便地进行 Excel 文件的创建、编辑、读取等操作。 1. Apache POI 简介…...

3162. 优质数对的总数 I

3162. 优质数对的总数 I 题目链接&#xff1a;3162. 优质数对的总数 I 代码如下&#xff1a; class Solution { public:int numberOfPairs(vector<int>& nums1, vector<int>& nums2, int k){int res 0;for (int i 0; i < nums1.size(); i){for (int…...

山乙建设公司网站/百度舆情

设置vscode为中文ctrshiftp 输入 configure language 进 en更改为zh-cn , 重启vscode即可 , 如果还不行,就安装插件 转载于:https://www.cnblogs.com/enych/p/10550095.html...

wordpress优秀中文主题/怎样做一个网页

直播概要 直播演讲主题&#xff1a;远程办公有点上头&#xff1f;解锁云上应用现代化的奥秘 直播时间&#xff1a;5月31日19:00 直播地址&#xff1a;微信视频号、哔哩哔哩、知乎搜索亚马逊云科技&#xff0c;三大平台同步直播。 话题介绍 在新挑战频发的动荡变革时期&…...

wordpress文章页多个产品图/深圳seo关键词优化

不走索引的其它原因&#xff1a;    1、建立组合索引&#xff0c;但查询谓词并未使用组合索引的第一列&#xff0c;此处有一个INDEX SKIP SCAN概念。    2、在包含有null值的table列上建立索引&#xff0c;当时使用select count(*) from table时不会使用索引。    …...

怎样做免费外贸网站/seo排名怎么做

因为et模式需要循环读取&#xff0c;但是在读取过程中&#xff0c;如果有新的事件到达&#xff0c;很可能触发了其他线程来处理这个socket&#xff0c;那就乱了。 EPOLL_ONESHOT就是用来避免这种情况。注意在一个线程处理完一个socket的数据&#xff0c;也就是触发EAGAIN errno…...

做旅游网站的首页的图片/网站排名seo教程

题意&#xff1a; 定义f(i)∑ k∣i k^d(i≤n)&#xff0c;给出q个询问&#xff0c;每个询问询问区间[l,r]的f(i)的和。 n<1e7 d<1e18 q<5e4 可以发现f(i)是个积性函数&#xff0c;那么我们就可以欧拉筛 O(n) 预处理出f(i)&#xff0c;然后做个前缀和就行了。 f(i)分为…...

网站开发需求/什么是seo标题优化

[彻底解决 configparser 中文乱码问题,让你的 Python3 代码更加优雅] Python3 configparser 是一个非常重要的模块,它可以帮助我们读取和写入配置文件,很多项目都会用到这个模块。但是在使用过程中,我们可能会遇到中文乱码的问题,这给我们的编码工作带来了很大的困扰。 …...