10.C++程序中的循环语句

C++中提供了三种循环语句(for循环,while循环以及do-while循环)来使程序员可以更方便地对数据进行迭代操作。

if语句

for语句的格式为:

for(初始化语句;循环条件;迭代语句)

代码块

for循环首先会执行初始化语句,主要是用于初始化循环变量和其它变量,然后判断条件是否为真,如果为真,则执行一次循环体,然后使用迭代语句,对变量进行迭代计算,之后再判断条件,再执行。直到判断为假时,退出执行

 

#include <iostream>
using namespace std;
int main() {for (int i=0;i<9;i++)  //定义i=0,然后进行迭代{cout <<i<<"*"<<i<<"="<< (i*i)<< endl;}
}

执行结果:

0*0=0
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64

--------------------------------
Process exited after 0.2024 seconds with return value 0
请按任意键继续. . .

对于初始化语句,也可以放到for外使用,比如下面;

#include <iostream>
using namespace std;
int main() {int i=0;for (;i<9;i++)  //定义i=0,然后进行迭代{cout <<i<<"*"<<i<<"="<< (i*i)<< endl;}
}

迭代语句,也可以放到循环体代码中执行,大家可以试一下。

while循环语句

格式为:

while(条件){

循环体,代码块

}

使用while循环的代码

#include <iostream>
using namespace std;
int main() {//while循环int j=0;while (j<10){cout <<j<<"*"<<j<<"="<< (j*j)<< endl;j++;}
}

执行结果为:

0*0=0
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64
9*9=81

--------------------------------
Process exited after 0.1706 seconds with return value 0
请按任意键继续. . .


 

do-while循环

do-while循环的格式为:

do {

代码块

} while(条件)

从形式上看,do-while与while类似,但是有一点不同的时,do-while至少执行一次,他是先执行一次,再判断条件,如果条件为真,则继续执行,如果为假,则退出执行。

上面的方法,修改为do-while的形式

#include <iostream>
using namespace std;
int main() {//while循环int j=0;do{cout <<j<<"*"<<j<<"="<< (j*j)<< endl;j++;}while(j<10);}

执行结果:

0*0=0
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64
9*9=81

--------------------------------
Process exited after 0.1572 seconds with return value 0
请按任意键继续. . .
 

这个就是常用的三个循环,循环还可以嵌套使用,但是如果多级嵌套不建议使用,可以分成不同的函数进行调用,否则会大大降低代码的可读性。

下面演示一个嵌套的使用:

#include <iostream>
using namespace std;
int main() {//for循环和while循环实现一个9*9乘法表for (int i = 1; i < 10; i++) {int j = 1;while (j <= i) {cout << i << "*" << j << "=" << (i * j) << "      ";j++;}cout  << endl;}
}

执行结果如下:

详细使用,在开发过程中再讨论。 

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

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

相关文章

【C++】stack和queue的使用及注意事项

在C中&#xff0c;stack和queue是标准模板库&#xff08;STL&#xff09;提供的两种容器适配器。它们提供了对底层容器的有限接口&#xff0c;使得只能执行特定的操作。下面是关于如何使用这两种容器适配器以及一些需要注意的事项。 C中的Stack 定义&#xff1a; stack是一种…

【中级通信工程师】终端与业务(十一):市场营销计划、实施与控制

【零基础3天通关中级通信工程师】 终端与业务(十一)&#xff1a;市场营销计划、实施与控制 本文是中级通信工程师考试《终端与业务》科目第十一章《市场营销计划、实施与控制》的复习资料和真题汇总。终端与业务是通信考试里最简单的科目&#xff0c;有效复习通过率可达90%以上…

RabbitMQ高级特性-发送方确认

对于发送方发送消息到RabbitMQ的可靠性机制 引入&#xff1a;在持久化的消息正确存⼊RabbitMQ之后,还需要有⼀段时间(虽然很短,但是不可忽视)才能存⼊磁盘中.RabbitMQ并不会为每条消息都进⾏同步存盘(调⽤内核的fsync⽅法)的处理, 可能仅仅保存到操作系统缓存之中⽽不是物理磁…

流量新密码?AI宠物定制写真在小红书爆火,有人搞了10W+

大家好&#xff0c;我是灵魂画师向阳 不知道大家发现没&#xff1f;消费者对于情感价值的需求猛增&#xff0c;宠物服务行业衍生出越来越多的“拟人化”新业态。 宠物摄影和写真成为宠物经济中的新兴行业&#xff0c;吸引了越来越多的摄影师和养宠人的关注。 一些摄影师和摄…

gitlab修改访问端口

目录 1.找到gitlab.rb文件&#xff0c;一般在/etc/gitlab/路径下 2.打开配置文件&#xff0c;加上代码 3.重新配置 4.重启gitlab 1.找到gitlab.rb文件&#xff0c;一般在/etc/gitlab/路径下 2.打开配置文件&#xff0c;加上代码 打开文件 sudo vi gitlab.rb 加上默认端口配…

python【入门知识】

1、字面量 含义&#xff1a;程序中直接写出来固定的值&#xff0c;不是变量或表达式。 分类&#xff1a; 类型 描述 说明 数字&#xff08;Number&#xff09; 整数&#xff08;int&#xff09; 浮点数&#xff08;float&#xff09; 复数&#xff08;complex&#xff09; …

7-1.Android SQLite 之 SQLiteDatabase 简单编码模板(SQLiteDatabase 使用、SQL 语句编写)

一、SQLiteDatabase SQLite 是一种轻量级的数据库引擎&#xff0c;它非常适合在移动设备&#xff08;例如&#xff0c;Android&#xff09;上使用 SQLiteDatabase 允许应用程序与 SQLite 数据库进行交互&#xff0c;它提供了增删改查等一系列方法 二、SQLiteDatabase 简单编码…

DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL(附源码)

1、项目功能演示 DC00021基于springboot问卷调查管理系统web项目调查问卷管理系统MySQL 2、项目功能描述 基于springboot问卷调查管理系统包括以下功能&#xff1a; 1、系统登录、系统注册 2、创建题目、题目信息查看 3、创建问卷、我的问卷信息查看 4、创建活动、我的活动信息…

STM32原理知识查询表

本篇文章主要收录单片机学习过程中的各种知识点原理&#xff0c;如果后面遇到了比较具体的应用&#xff0c;也会有专门的配套实践过程。 2024.09.27单片机的两种看门狗原理解析 持续待更新。。。。。

​‌Nginx配置文件的基本结构‌

Nginx的配置文件通常位于/etc/nginx/nginx.conf或/usr/local/nginx/conf/nginx.conf。配置文件采用模块化设计&#xff0c;包含多个上下文&#xff08;context&#xff09;&#xff0c;每个上下文定义了一组相关的配置指令。主要的上下文包括&#xff1a; ‌‌main‌&#xff…

机器学习 | Scikit Learn中的普通最小二乘法和岭回归

在统计建模中&#xff0c;普通最小二乘法&#xff08;OLS&#xff09;和岭回归是两种广泛使用的线性回归分析技术。OLS是一种传统的方法&#xff0c;它通过最小化预测值和实际值之间的平方误差之和来找到数据的最佳拟合线。然而&#xff0c;OLS可以遭受高方差和过拟合时&#x…

【C++篇】从零实现 `list` 容器:细粒度剖析与代码实现

文章目录 从零实现 list 容器&#xff1a;细粒度剖析与代码实现前言1. list 的核心数据结构节点结构分析 2 迭代器设计与实现2.1 为什么 list 需要迭代器&#xff1f;2.2 实现一个简单的迭代器2.3 测试简单迭代器解释&#xff1a; 2.4 增加后向移动和 -> 运算符关键点&#…

基于STM32设计的智能台灯(腾讯云IOT)(234)

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】项目背景1.4 开发工具的选择【1】设备端开发【2】微信小程序开发…

django drf 统一处理操作人和时间字段

场景 如果你的表结构有这些字段&#xff1a;创建人/创建时间/更新人/更新时间/删除人/删除时间&#xff0c;我们可以统一处理这些字段的更新和插入&#xff0c;而不需要额外显示操作。 代码 1.ActionViewSetMixin&#xff1a; import datetime from rest_framework import s…

C# 字符串(String)的应用说明二

字符串&#xff08;String&#xff09;的常用应用说明&#xff1a; 一.String 类的属性&#xff1a; String 类有以下两个属性&#xff1a; 1.Chars属性&#xff0c;在当前 String 对象中获取 Char 对象的指定位置&#xff1b; 2.Length属性&#xff0c;在当前的 String 对…

SpringMVC5-域对象共享数据

目录 使用ServletAPI向request域对象共享数据 使用ModelAndView向request域对象共享数据 使用Model向request域对象共享数据 使用map向request域对象共享数据 使用ModelMap向request域对象共享数据 Model、ModelMap、Map的关系 向session域共享数据 向application域共享…

asp.net core grpc快速入门

环境 .net 8 vs2022 创建 gRPC 服务器 一定要勾选Https 安装Nuget包 <PackageReference Include"Google.Protobuf" Version"3.28.2" /> <PackageReference Include"Grpc.AspNetCore" Version"2.66.0" /> <PackageR…

Python | Leetcode Python题解之第441题排列硬币

题目&#xff1a; 题解&#xff1a; class Solution:def arrangeCoins(self, n: int) -> int:left, right 1, nwhile left < right:mid (left right 1) // 2if mid * (mid 1) < 2 * n:left midelse:right mid - 1return left

Junit 5 - 理解Mockito,提高UT 覆盖率

前言 当我是1个3年初级程序员时&#xff0c; 我被面试者问到1个问题&#xff1a; 如何保证你的开发任务交付质量 当我是1个7年开发组长时&#xff0c; 我被面试者问到另1个问题&#xff1a;如何保证你的团队的代码质量&#xff0c; 减少rework。 又若干年后&#xff0c; 我才…

Mysql调优之索引优化(四)

一、mysql索引结构B树原理 B树开始就是n树&#xff0c;不是二叉树 B树的非叶子结点存储了数据&#xff0c;导致层级会很深&#xff0c;每一层又有数据又有索引。 B树只有叶子结点存储数据&#xff0c;其余都是存储索引&#xff0c;增加了每层存取索引的数量&#xff08;3层结构…