09 C++ 中的循环(while循环、do-while循环、for循环及嵌套循环)

系列文章目录

09 C++ 中的循环(while循环、do-while循环、for循环及嵌套循环)


目录

系列文章目录

文章目录

前言

一、C++ 中的 while 循环

二、C++ for 循环

三、C++ do...while 循环

四、C++ 嵌套循环

总结


前言

C++中的循环指的是重复执行一段程序代码的结构。循环语句可以让程序重复执行某一段代码,直到满足某一条件,或者达到某一次数的执行次数。

常见的循环语句有while循环、do-while循环和for循环。循环语句是C++语言中基本的控制结构之一,可以帮助程序员编写高效、简洁的程序。下面让我们来逐个学习。


一、C++ 中的 while 循环

基本语法:

while(condition)
{statement(s);
}

在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。condition 可以是任意的表达式,当为任意非零值时都为真。当条件为真时执行循环。

当条件为假时,程序流将继续执行紧接着循环的下一条语句。

下面是一个例子:

#include <iostream>
using namespace std;int main ()
{// 局部变量声明int a = 0;// while 循环执行while( a < 5 ){cout << "a 的值:" << a << endl;a++;}return 0;
}

输出是:0,1,2,3,4 

二、C++ for 循环

基本语法如下:

for ( init; condition; increment )
{statement(s);
}

下面是 for 循环的控制流:

  1. init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
  2. 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
  3. 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
  4. 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。

 下面是一个示例代码:

#include <iostream>
using namespace std;int main ()
{// for 循环执行for( int a = 0; a < 5; a++ ){cout << "a 的值:" << a << endl;}return 0;
}

输出是:0,1,2,3,4  

三、C++ do...while 循环

基本语法如下:

do
{statement(s);}while( condition );

条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。

如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。

下面是一个示例代码:

#include <iostream>
using namespace std;int main ()
{// 局部变量声明int a = 0;// do 循环执行do{cout << "a 的值:" << a << endl;a ++;}while( a < 5 );return 0;
}

 输出是:0,1,2,3,4 

四、C++ 嵌套循环

嵌套循环很简单,顾名思义,一个循环内可以嵌套另一个循环。C++ 允许至少 256 个嵌套层次。

下面是一些基本语法:

# for循环
for ( init; condition; increment )
{for ( init; condition; increment ){statement(s);}statement(s); // 可以继续加语句
}# while循环
while(condition)
{while(condition){statement(s);}statement(s); // 可以继续加语句
}# do while 循环
do
{statement(s); // 可以继续加语句do{statement(s);}while( condition );}while( condition );

下面是一个简单示例:

#include <iostream>using namespace std;int main()
{// 循环输出乘法表for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {cout << j << "*" << i << "=" << i * j << "\t";}cout << endl;}return 0;
}

输出结果如下:

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81


总结

下面是使用C++ 中的循环注意事项总结:

  1. 循环条件的控制:循环条件必须在循环内部得到更新和控制,否则将可能出现无限循环的情况。

  2. 循环范围的控制:循环体内的代码必须正确、清晰地控制循环范围。特别是在嵌套循环中,需要清楚地记住每个循环的范围。

  3. 循环体的顺序:在循环体内,语句的顺序和执行顺序必须清楚明确,尤其是涉及到多个语句的组合和顺序。

  4. 循环终止条件:循环终止条件必须正确地判断和控制,避免出现死循环或过早退出循环的情况。

  5. 循环控制语句的使用:循环控制语句包括 break、continue、return等,必须正确地使用,并注意在嵌套循环中的作用和影响。

  6. 循环计数器的初始化和更新:循环计数器的初始化必须清晰明确,更新时必须符合循环条件,避免引发错误或死循环。

  7. 循环的嵌套:在涉及到多个循环的嵌套时,必须注意各个循环之间的关系和作用,并严格控制每个循环的范围和变量的作用域。

  8. 循环的效率和优化:在需要进行大量循环计算的程序中,必须注意循环的效率和优化,尽可能减少循环次数和不必要的计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你不得不知道的工业镜头使用中的常见问题

镜头的基本功能就是实现光束变换&#xff08;调制&#xff09;&#xff0c;在机器视觉系统中&#xff0c;工业镜头的主要作用是将目标成像在图像传感器的光敏面上。工业镜头是机器视觉系统设计的重要环节。在实际应用过程中&#xff0c;会遇到以下常见问题。 1、Q&#xff1a;…

附近最小(st表,线段树,单调队列三种解法)

问题描述 小蓝有一个序列 a[1],a[2],…,a[n]。 给定一个正整数 k&#xff0c;请问对于每一个 1 到 n 之间的序号 i&#xff0c;a[i−k]&#xff0c;a[i−k1]&#xff0c;…&#xff0c;a[ik] 这2k1 个数中的最小值是多少&#xff1f; 当某个下标超过 1 到 n 的范围时&#xf…

力扣543. 二叉树的直径(java DFS解法)

Problem: 543. 二叉树的直径 文章目录 题目描述思路解题方法复杂度Code 题目描述 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们…

OGG实现Oracle19C到postgreSQL14的实时同步

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

人工智能算法

人工智能算法包括以下几类&#xff1a; 机器学习算法&#xff1a;这些算法利用数据和统计技术让计算机学习并改善其性能&#xff0c;包括监督学习、无监督学习和强化学习。 典型算法&#xff1a; 监督学习&#xff1a;线性回归、决策树、支持向量机&#xff08;SVM&#xff09;…

用户帐户限制(例如,时间限制)会阳止你登录。请与系统管理员或技术支持联系以获取帮助

出现的问题 用户帐户限制(例如&#xff0c;时间限制)会阳止你登录。请与系统管理员或技术支持联系以获取帮助 2.解决方法 使用WINR召唤出运行&#xff0c;然后输入secpol.msc,然后点击回车键&#xff0c;进入本地安全策略&#xff0c;在左边栏中找到本地策略&#xff0c;再…

TextCNN文本分类快速上手

这里写目录标题 TextCNN介绍&#xff1a;Docker从0安装Docker基于镜像安装容器打包操作&#xff08;生成镜像时使用的命令&#xff09;安装时命令 页面访问模型训练API访问性能测试其他查看显卡信息 TextCNN介绍&#xff1a; 1.支持语义识别和分类置信度输出。 2.训练速度快&…

HNU-公共钥匙盒

【问题描述】 有一个学校的老师共用N个教室&#xff0c;按照规定&#xff0c;所有的钥匙都必须放在公共钥匙盒里&#xff0c;老师不能带钥匙回家。每次老师上课前&#xff0c;都从公共钥匙盒里找到自己上课的教室的钥匙去开门&#xff0c;上完课后&#xff0c;再将钥匙放回到钥…

在动态时代引领软件领导地位

在职业追求领域&#xff0c;存在一种常见的误解&#xff0c;认为管理软件开发类似于骑自行车——一种静态技能&#xff0c;一旦获得&#xff0c;只需极少的调整就可以平稳地向前推进。然而&#xff0c;在快速发展的技术领域&#xff0c;这种比较不仅过于简单化&#xff0c;而且…

如何设计适合数字化转型需要的数据架构

现代组织需要一个模块化的数据架构来支持复杂的企业环境&#xff0c;同时为业务用户提供数据访问。以下是一些关键考虑因素。 一重视元数据的管理 数据架构不断发展以提供由元数据支持的数据自助服务 过去几十年来&#xff0c;数据分析架构最佳实践已经经历了多个时代&#…

linux服务器环境搭建(使用yum 安装mysql、jdk、redis)

一:yum的安装 1:下载yum安装包并解压 wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz tar xvf yum-3.2.28.tar.gz 2.进入yum-3.2.28文件夹中进行安装,执行安装指令 cd yum-3.2.28 sudo apt install yum 3.更新版本 yum check-update yum update yum cle…

【算法思考记录】力扣2653. 滑动子数组的美丽值【C++,滑动窗口】

Problem: 2653. 滑动子数组的美丽值 滑动子数组的美丽值 问题描述 给定一个长度为 n 的整数数组 nums&#xff0c;我们需要计算每个长度为 k 的子数组的美丽值。 美丽值的定义如下&#xff1a;如果子数组中第 x 小的整数是负数&#xff0c;那么美丽值为第 x 小的数&#xff…

基于微博的信息热度评价与预测分析

摘 要 微博已成为时下非常热门的社交媒体平台&#xff0c;是一个庞大的关于信息分享和话题交流的平台&#xff0c;在人们线上社交活动中发挥着不可替代的作用&#xff0c;由于网络信息鱼龙混杂&#xff0c;所以本文通过了解微博的热度机制进而研究微博热度和预测微博的热门程度…

WebGL开发数据可视化应用

WebGL 是一种强大的图形渲染技术&#xff0c;用于在浏览器中创建高性能的交互式数据可视化应用。以下是开发这类应用的一般技术方案&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1.WebGL 框架&…

CRM实战:如何对商机阶段进行有效管理

对企业来说&#xff0c;管理客户的多个需求对于开发新的商机至关重要。一旦发现客户有多个需求&#xff0c;我们可以在客户信息表中建立相应数量的商机&#xff0c;这样有助于系统化地进行跟进&#xff0c;达到商机利用的最大化。那么&#xff0c;CRM系统如何进行企业的商机阶段…

SSL证书认证对搜索引擎有影响吗?

SSL证书认证对搜索引擎的影响是很大的。搜索引擎是用户获取网页信息的重要途径&#xff0c;它们会考虑网站的可信度和安全性等因素来为用户提供更好的搜索结果。而SSL证书认证可以提高网站的可信度和安全性&#xff0c;从而对搜索引擎优化和排名产生积极的影响。 首先&#xff…

C# 序列化+Base64加密、解密

一、保存到文件//将对象序列化成Json字符串(明文)string json System.Text.Json.JsonSerializer.Serialize(configModel);//将Json明文字符进行Base64加密byte[] jsonBytes Encoding.UTF8.GetBytes(json);string b64Str Convert.ToBase64String(jsonBytes);//写入文件File.W…

C语言二叉树的基本概念(一)

目录 二叉树 二叉树的分类&#xff08;目前只谈两种&#xff09; 满二叉树 完全二叉树 二叉树的性质&#xff08;其余的可以自己总结&#xff09; 选择练习 二叉树的存储结构 顺序存储方式 链式存储方式 二叉树 定义&#xff1a;二叉树是一种特殊的树状数据结构&…

前端漏洞--front(系统有user1/user1,admin1/admin1两个用户)

任务一&#xff1a;挖掘反射型XSS漏洞&#xff08;以弹窗test13&#xff09;证明 任务二&#xff1a;复现环境中的CSRF漏洞&#xff0c;设计表单&#xff0c;当管理员点击URL后自动将自己密码重置为&#xff1a;123456 任务三&#xff1a;复现环境中的JSON Hijacking漏洞&#…

电容、电感和电阻

一、电感 1&#xff09;图片 2&#xff09;作用 a&#xff09;储存容量 例如dcdc转换器的原理,将一个电压值转换成另外一个电压值 b&#xff09;选择信号 比如空气中弥漫着很多信号&#xff0c;我们应该怎么选取我们所需要的信号。 电感和电容可以看成一个电阻&#xff0c;当电…