【C++ 程序设计入门基础】- 第3节-循环结构02

目录

while 语句

案例 while 循环

输入一个整数 n ,输出 1~n 的所有整数。

查看运行结果:

while 语句结构解析

do while 语句

 案例 do while 循环

输入一个整数n,输出1~n的所有整数。

查看运行结果

 while、do while的区别

for、while的区别

1、 关于 for 语句省略判定条件时的案例

 查看运行结果

2、关于 for 循环判定可以指定初始变量值,这个看结果体就知道,非常显而易见了,此处不做案例解析了。

3、如果循环体中包含continue,for语句跳到循环更新处,while语句直接跳到循环条件处。

输入一个整数n,输出1~n的所有整数,跳过3的倍数。

4、无法预知循环次数,或者循环更新不是规律的增减时,用while语句。

 写在最后


while 语句

while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会一直执行,直到条件不成立,while循环才会结束。

案例 while 循环

输入一个整数 n ,输出 1~n 的所有整数。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/**输入一个整数 n ,输出 1~n 的所有整数。**/int n;cin>>n;int i = 1;while(i<=n){cout<<i<<"\n";i++;}cout<<"this is a while test";return 0;
}
查看运行结果:

while 语句结构解析

do while 语句

 do…while 循环语句先要执行一次大括号内的代码再判断循环条件。

 案例 do while 循环

输入一个整数n,输出1~n的所有整数。
#include <iostream>
#include <windows.h>
using namespace std;int main(){/**输入一个整数 n ,输出 1~n 的所有整数。**/int n;cin>>n;int i = 1;do{cout<<i<<endl;i++;}while(i<=n);cout<<"this is a while test";return 0;
}
查看运行结果

注:do while循环体至少执行一次。 

 while、do while的区别

while语句是先判断循环条件,再决定是否执行循环体。

do while语句是先执行循环体,再判断循环条件,至少执行一次循环体。

for、while的区别

  1. for语句省略了判断条件时,将认为条件为true。
  2. for语句可以用初始化语句声明一个局部变量,while语句不可以。
  3. 如果循环体中包含continue,for语句跳到循环更新处,while语句直接跳到循环条件处。
  4. 无法预知循环次数,或者循环更新不是规律的增减时,用while语句。 

1、 关于 for 语句省略判定条件时的案例

#include <iostream>
#include <windows.h>
using namespace std;int main(){/***  输入一个整数n,输出1~n的所有整数。*  for 语句省略判定条件时**/int n;cin>>n;int i=1;for(;;){cout<<i<<"\n"<<endl;i++;if(i>n)break;}return 0;
}
 查看运行结果

2、关于 for 循环判定可以指定初始变量值,这个看结果体就知道,非常显而易见了,此处不做案例解析了。

3、如果循环体中包含continue,for语句跳到循环更新处,while语句直接跳到循环条件处。

输入一个整数n,输出1~n的所有整数,跳过3的倍数。

左边 for 循环中,遇到 continue,下一步程序直接到循环更新的 i++;

右边 while 循环中,遇到 continue ,下一步程序直接到循环条件判定的 i<=n;

此处需要特别注意 while 语句一定要有循环结束的条件。

4、无法预知循环次数,或者循环更新不是规律的增减时,用while语句。

 写在最后

大家可以自行练习一些相关的循环语句的使用。

eg:

  • 一直输入n,并输出,直到n=0停止。
  • 输出1-100之间的所有3的倍数。
  • 输出1-100之间的所有能被3整除不能被5整除的数。

拓展:

 这里 for 循环内初始值,终止条件判定值以及循环更新值,这里可以根据实际场景设置多个变量值。

下一节,给大家讲解 C++ 中关于函数的用法。


人生苦短,拒绝内卷。我是跟着飞哥学编程,一个一心向阳,向阳而生,努力向上生长的年轻人。加油兄弟们…… 

这篇文章对您学习循环语句,有些许帮助的话,还请您动动发财的小手,帮小编点赞收藏一下吧^_^,小编万分感谢,您的点赞就是对小编最大的 支持与鼓励。

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

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

相关文章

AE-制作唯美星空粒子动态视频

目录 1.新建合成 2.导入一张星空图片,拖入到新建的合成中 3.新建纯色层面命名为bj

【git 相关操作】

git status - 查看当前状态 git add - 将文件添加到暂存区 git commit -m "msg" - 提交暂存区文件到本地仓库 git push origin master - 本地仓库文件推送到远程仓库 git merge - 合并分支 git clone - 从指定地址克隆项目 git log - 查看commit日志 git stash push …

SpringSecurity6 | 登录成功后的JSON处理

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

Android:java.lang.SecurityException: Provider must not be exporte

java.lang.SecurityException: Provider must not be exporte 解决方案 首先在AndroidManifest.xml中添加provider android:authorities&#xff1a; 是用来标识provider的唯一标识&#xff0c;在同一部手机上一个"authority"串只能被一个app使用&#xff0c;冲突的话…

架构LNMP

目录 1.安装Nginx服务 2.安装 MySQL 服务 3.安装配置 PHP 解析环境 4.部署 Discuz&#xff01;社区论坛 Web 应用 1.安装Nginx服务 实验准备 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装依赖包 yum -y install pcre-devel zlib-devel gcc…

JavaScript中的async await基本使用

目录 1. async await是什么2. 为什么会出现3. 需要怎么去使用4. 最终的结果解决什么5. 使用的注意点6. 常用的技巧 JavaScript中的async await是一种处理异步代码的语法糖&#xff0c;它可以让我们更加方便地处理异步操作&#xff0c;避免了回调地狱和Promise链式调用的问题。 …

Jmeter测试实践:文件下载接口

一 Jmeter步骤 1.打开jmeter4.0&#xff0c;新建测试计划&#xff0c;添加线程组。根据实际情况配置线程属性。 2.添加HTTP请求。根据接口文档进行配置。 Basic部分修改如下&#xff0c;Advanced部分保持默认。这里的参数id是文件的id&#xff0c;我进行了参数化&#xff0c…

vue基本运用之常见问题及案例代码

前言 一些 Vue.js 的常见问题以及对应的案例代码 Vue实例生命周期 问题描述:如何在Vue的生命周期钩子中调用其他钩子?案例代码: new Vue({el: #app, created: function () {console.log(m

Redis哨兵(sentinel)

文章目录 简介搭建框架具体步骤主要文件参数开始配置 案例分析原有的master挂了 哨兵运行流程和选举原理主观下线客观下线(Objectively Down)选举出领导者哨兵(哨兵中选出兵王) 选新的master使用建议 简介 将某一个从库转换为新主库&#xff0c;继续对外服务将某一个从库转换为…

​operator --- 标准运算符替代函数​

源代码: Lib/operator.py operator 模块提供了一套与Python的内置运算符对应的高效率函数。例如&#xff0c;operator.add(x, y) 与表达式 xy 相同。 许多函数名与特殊方法名相同&#xff0c;只是没有双下划线。为了向后兼容性&#xff0c;也保留了许多包含双下划线的函数。为了…

Java - HashMap

数组和链表 数组&#xff1a; 存储区间是连续&#xff0c;且占用内存严重&#xff0c;空间复杂也很大&#xff0c;时间复杂为O&#xff08;1&#xff09; 优点&#xff1a;是随机读取效率很高&#xff0c;原因数组是连续&#xff08;随机访问性强&#xff0c;查找速度快&#x…

properties配置和读取

如何配置和读取属性文件 1.属性文件介绍1.1 什么是属性文件1.2属性文件规范1.3 属性文件优缺点 2.属性文件读取4.spring和属性文件4.1利用注解读取4.2配置文件里直接引用 4.属性文件写入5.注意事项5.总结 1.属性文件介绍 1.1 什么是属性文件 Java开发中&#xff0c;我们经常需…

Qt6.5类库实例大全:Qt Creator快速入门

哈喽大家好&#xff0c;我是20YC编程小二&#xff01;扫码关注公众号&#xff0c;现在可免费领取《C程序员》在线视频教程哦&#xff01;#下面开始今天内容# 1. Qt Creator介绍 Qt Creator是一个轻量级的跨平台集成开发环境(IDE)&#xff0c;专为使用Qt框架进行应用程序开发而…

华为OD机试真题-攀登者1-2023年OD统一考试(C卷)

题目描述: 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的高度代表相对海拔高度。其中数组元素0代表地面。 例如[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0], 代表如下图所示的地图,地图中有两个山脉位置分别为 1,2,3,4,5和8…

基于深度学习的文本分类研究综述

摘要 与传统的机器学习模型相比&#xff0c;深度学习模型试图模仿人的学习思路&#xff0c;通过计算机自动进行海量数据的特征提取工作。文本分类是自然语言处理中的一个重要应用&#xff0c;在文本信息处理过程中有着关键作用。过去几年&#xff0c;由于深度学习研究的空前成…

NAND闪存市场2023年Q3增长2.9%,Q4有望激增20%

TrendForce报告显示&#xff0c;NAND闪存市场在2023年第三季度出现了关键转折&#xff0c;主要由三星的战略性减产决定驱动。最初&#xff0c;市场对终端用户需求的不确定性以及对平淡旺季的担忧导致买家采取保守的方法&#xff0c;库存低、采购慢。然而&#xff0c;随着三星等…

华为新款笔记本搭载5nm麒麟芯片,来源成谜,可能让大家失望了~

近日&#xff0c;华为公司悄悄推出了一款基于国产技术打造的全新商用笔记本——华为擎云L540。目前&#xff0c;华为擎云L540在京东平台悄然上线的&#xff0c;尚未在华为官方渠道公开售卖。华为擎云L540搭载了麒麟9006C处理器&#xff0c;采用先进的5nm制程工艺&#xff0c;8 …

codeforces A. Morning

思路 模拟&#xff0c;按顺序移动移动到对应位置贡献为移动的步数&#xff0c;press的次数。 Think Twice, Code Once #include<bits/stdc.h> #define il inline #define get getchar #define put putchar #define is isdigit #define int long long #define dfor(i,a…

openGauss学习笔记-150 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_backup

文章目录 openGauss学习笔记-150 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_backup150.1 背景信息150.2 前提条件150.3 语法150.4 参数说明150.5 示例 openGauss学习笔记-150 openGauss 数据库运维-备份与恢复-物理备份与恢复之gs_backup 150.1 背景信息 openGaus…

错题总结(四)

1.【一维数组】输入10个整数&#xff0c;求平均值 编写一个程序&#xff0c;从用户输入中读取10个整数并存储在一个数组中。然后&#xff0c;计算并输出这些整数的平均值。 int main() {int arr[10];int sum 0;for (int n 0; n < 10; n){scanf("%d", &arr…