基于C++基础知识的循环语句

一、while循环

while循环语句形式如下:

while(表达式){语句
} 

    循环每次都是执行完语句后回到表达式处重新开始判断,重新计算表达式的值,一旦表达式的值为假就退出循环。用花括号括起来的多条简单语句,花括号及其包含的语句被称为循环体,循环主要指循环执行循环体中的内容。

使用while循环计算从1到10的累加,如图1-1所示。

#include<iostream>
using namespace std;
int main(){int sum=0, i=1;while(i<=10){sum=sum+i;i++; //累加,完成1到10的递增}cout<<"结果为:"<<sum<<endl;
}

图1-1 while循环语句图 

 while循环的运行结果如下所示。

 下面的代码是一个无限循环语句。

while(1){...
}

 而这下面的代码则是一个不会进行循环的语句

while(0){...
}

 二、do...while循环

do...while循环语句的一般形式如下:

do{语句
}while(表达式)

    do为关键字,必须与while一起使用。do...while循环的执行顺序是先执行循环体中的内容,然后判断表达式的值。

使用do...while循环计算从1到10的累加,如图2-1所示。

#include<iostream>
using namespace std;
int main(){int sum=0, i=1;do{sum=sum+i;i++;}while(i<=10);cout<<"结果为:"<<sum<<endl;
}

 图2-1 do..while循环语句图

 运行结果跟while循环结果一样,可看上图。

 do..while循环的执行顺序是先执行循环体,如果循环条件不成立,循环体也就执行了一次。

三、for循环 

for循环语句的一般形式如下:

for(赋值表达式1;关系表达式;赋值表达式2){语句
}

 使用for循环实现1到100的累加,如图3-1所示。

#include<iostream>
using namespace std;
int main(){int sum=0;for(int i=1;i<=100;i++){sum=sum+i;} cout<<"结果为:"<<sum<<endl;
}

 图3-1 for循环语句图

 for循环的运行结果如下所示。

 for循环可以在赋值表达式1中直接声明变量。

如果在赋值表达式1声明两个相同的变量,编译器将报错。

#include<iostream>
using namespace std;
int main(){for(int i=1, sum=0;i<=100;i++){sum=sum+i;} cout<<"结果为:"<<sum<<endl;
}

 以下for循环的常用变体形式。 

  • 省略赋值表达式1的情况

 如果省略赋值表达式1,就得在循环语句外声明变量并赋初始值。

#include<iostream>
using namespace std;
int main(){int sum=0;int i=0;for(;i<=100;i++){sum=sum+i;} cout<<"结果为:"<<sum<<endl;
}

  •  省略关系表达式的情况

 省略循环判断语句,没有终止条件,循环就会变成无限循环。

  •  省略赋值表达式2的情况

 循环就会变成无限循环,因为控制循环的变量永远都是初始值,永远符合循环条件。

  •  省略赋值表达式1和2的情况如图3-2所示。
#include<iostream>
using namespace std;
int main(){int sum=0;int i=0;for(;i<=100;){sum=sum+i;i++;} cout<<"结果为:"<<sum<<endl;
}

图3-2 

 运行结果如下所示。

四、总结

    以上就是今天要讲的内容,本文简单介绍了C++基础中的do..while、while和for循环语句。如有想要了解更多相关的C++基础知识的读者,欢迎您点击下面链接进行学习。

CSDN

CSDN

CSDN

https://mp.csdn.net/mp_blog/creation/editor/138447951

五、结言

    感谢大家的阅读与参与,您的支持是我前进的动力!让我们一起进步,加油!谢谢您的观看!!!

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

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

相关文章

淡茶和浓茶的标准

按照《品深淡茶冲泡标准》&#xff0c;淡茶茶汤中的咖啡碱不得高于31.67mg/100mL&#xff0c;可可碱不得高于2.67mg/mL&#xff0c;茶碱不得高于1.50mg/100mL&#xff0c;茶多酚不得高于143mg/mL&#xff0c;按照各类茶叶中各物质的含量情况&#xff0c;茶水比例不得高于1:150&…

JRT1.6发布

经过51的三天努力&#xff0c;完成基于JRT的质控核心部分。框架部分已经达到了第一个可生产版本。 可生产包括以下部分&#xff1a; 1.Web开发基础和发布运维基础 2.Linux和WIndows客户端浏览器 3.Linux和WIndows客户端打印导出程序 4.Linux和WIndows初始化程序 5.Linux和WInd…

《自动机理论、语言和计算导论》阅读笔记:p428-p525

《自动机理论、语言和计算导论》学习第 14 天&#xff0c;p428-p525总结&#xff0c;总计 98 页。 一、技术总结 1.Kruskal’s algorithm(克鲁斯克尔算法) 2.NP-Complete Problems p434, We say L is NP-complete if the following statements are true about L: (1)L is …

计算机网络面试高频:输入域名会发生那些操作,开放性回答

更多大厂面试内容可见 -> http://11come.cn 计算机网络面试高频&#xff1a;输入域名会发生那些操作&#xff0c;开放性回答 输入域名之后&#xff0c;会发生哪些操作&#xff1f; 当在浏览器中输入www.baidu.com并按下回车键时&#xff0c;会触发一系列复杂的网络过程&am…

【菜单下拉效果】基于jquery实现二级菜单下拉效果(附完整源码下载)

Js菜单下拉特效目录 &#x1f354;涉及知识&#x1f964;写在前面实现效果&#x1f367;一、涉及知识&#x1f333;二、具体实现2.1 搭建一级菜单2.2 搭建二级菜单项2.3 引入js文件2.4 构建CSS文件 &#x1f40b;三、源码获取&#x1f305; 作者寄语 &#x1f354;涉及知识 ht…

VastGaussian:用于大型场景重建的巨大3D高斯函数

VastGaussian:用于大型场景重建的巨大3D高斯函数 摘要IntroductionRelated WorkPreliminariesMethod VastGaussian: Vast 3D Gaussians for Large Scene Reconstruction. 摘要 现有基于NeRF的大型场景重建方法在视觉效果和渲染速度方面往往存在限制。虽然最近的3D高斯分裂在小…

Content-Type请求头中有哪些字段,含义是什么

Content-Type 是一个 HTTP 头部字段&#xff0c;它表示发送到接收者的实体数据的媒体类型。以下是一些常见的 Content-Type 类型&#xff1a; text/plain&#xff1a;纯文本格式&#xff0c;不含任何格式化元素。 text/html&#xff1a;HTML 格式&#xff0c;用于发送 HTML 文…

AI智体的分级:从基于规则到基于LLM

摘要&#xff1a; AI智体被定义为感知环境、做出决策和采取行动的人工实体。受SAE&#xff08;汽车工程师学会&#xff09;自动驾驶6个级别的启发&#xff0c;AI智体也根据效用和强度进行分类&#xff0c;分为以下几个级别&#xff1a;L0——无AI&#xff0c;有工具&#xff0…

【C++】stack、queue和priority_queue的模拟实现

在本篇博客中&#xff0c;作者将会讲解STL中的stack、queue和priority_queue的模拟实现&#xff0c;同时还会带大家了解一下deque这个容器。 一.什么是适配器 STL中一共有6大组件&#xff1a;容器&#xff0c;适配器&#xff0c;空间配置器&#xff0c;仿函数&#xff0c;迭代器…

【码银送书第十九期】《图算法:行业应用与实践》

作者&#xff1a;嬴图团队 01 前言 在当今工业领域&#xff0c;图思维方式与图数据技术的应用日益广泛&#xff0c;成为图数据探索、挖掘与应用的坚实基础。本文旨在分享嬴图团队在算法实践应用中的宝贵经验与深刻思考&#xff0c;不仅促进业界爱好者之间的交流&#xff0c;…

RabbitMQ 是如何做延迟消息的 ?——Java全栈知识(15)

RabbitMQ 是如何做延迟消息的 &#xff1f; 1、什么是死信&#xff1f; 当一个队列中的消息满足下列情况之一时&#xff0c;可以成为死信&#xff08;dead letter&#xff09;&#xff1a; 消费者使用 basic.reject 或 basic.nack 声明消费失败&#xff0c;并且消息的 reque…

【Python】异常

当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是我们常说的Bug 世界上没有完美的程序&#xff0c;任何程序在运行过程中&#xff0c;都有可能出现异常而导致程序无法完美…

2.4Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue组件

初识Vue组件 Vue中的组件是页面中的一部分&#xff0c;通过层层拼装&#xff0c;最终形成了一个完整的组件。这也是目前前端最流行的开发方 式。下面是Vue3官方给出的一张图&#xff0c;通过图片能清楚的了解到什么是Vue中的组件。 图的左边是一个网页&#xff0c;网页分为了…

memmove和memcpy

memmove和memcpy都是C语言中的函数&#xff0c;用于复制内存区域。它们的主要区别在于处理源内存区域和目标内存区域重叠的情况时的行为。 memcpy函数假定源内存区域和目标内存区域不会重叠。如果它们重叠&#xff0c;memcpy的行为是未定义的&#xff0c;可能会导致数据错误。因…

ECS弹性云服务器居然这么好用。

引言 在过去的十年里&#xff0c;云计算从一个前沿概念发展为企业和开发者的必备工具。传统的计算模型通常局限于单一的、物理的位置和有限的资源&#xff0c;而云计算则通过分布式的资源和服务&#xff0c;为计算能力带来了前所未有的"弹性"。 云弹性服务器——为什…

AAA、RADIUS、TACACS、Diameter协议介绍

准备软考高级时碰到的一个概念&#xff0c;于是搜集网络资源整理得出此文。 概述 AAA是Authentication、Authorization、Accounting的缩写简称&#xff0c;即认证、授权、记帐。Cisco开发的一个提供网络安全的系统。AAA协议决定哪些用户能够访问服务&#xff0c;以及用户能够…

精品干货 | 数据中台与数据仓库建设(免费下载)

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 数据中台与数据仓库建设 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 如需下载本方案PPT/WORD原格式&#xff0c;请加入微信扫描以下方案驿站知识星球&#xff0c;获取上万份PPT/WORD解决方…

PPO 学习笔记

用PPO算法求解整个神经网络在迭代过程中的梯度问题 每走一步就会得到一个新的状态&#xff0c;把这个状态传到网络里面&#xff0c;会得到一个 action&#xff0c;执行这个 action 又会到达一个新状态 policy 中由状态 st 生成动作 at&#xff0c;生成的这个 at 是由整个网络的…

数论:不定方程的引入

研究的对象&#xff1a;不定方程 文章目录 研究的对象&#xff1a;不定方程不定方程引入&#xff1a;裴蜀定理证明&#xff1a;欧几里得算法证明&#xff1a;充分性证明&#xff1a;必要性证明&#xff1a; 战术总结&#xff1a; 不定方程引入&#xff1a; 不定方程&#xff0…

什么是X电容和Y电容?

先补充个知识&#xff1a; 一、什么是差模信号和共模信号 差模信号&#xff1a;大小相等&#xff0c;方向相反的交流信号&#xff1b;双端输入时&#xff0c;两个信号的相位相差180度 共模信号&#xff1a;大小相等。方向相同。双端输入时&#xff0c;两个信号相同。 二、安规…