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

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.kler.cn/a/323482.html

相关文章:

  • Markdown中输入空格的几种不同方式
  • 【计算机网络】TCP网络特点2
  • Ubuntu+ROS 机械臂拾取和放置
  • 从电动汽车到车载充电器:LM317LBDR2G 线性稳压器在汽车中的多场景应用
  • MySQL【五】
  • 03-axios常用的请求方法、axios错误处理
  • RS485ESD-Enhanced, Fail-safe, Slew-Rate-limited RS-485/RS-422 Transceivers
  • 基于Hive和Hadoop的白酒分析系统
  • 信号处理: Block Pending Handler 与 SIGKILL/SIGSTOP 实验
  • 开关电源要做哪些测试?
  • Docker精讲:基本安装,简单命令及核心概念
  • ①无需编程 独立通道 Modbus主站EtherNet/IP转ModbusRTU/ASCII工业EIP网关串口服务器
  • 染色算法的简单概述
  • altera FPGA下载失败
  • MySQL之基础篇
  • 【bug fixed】hexo d的时候Spawn failed
  • c语言200例 066
  • Spring Boot实战:构建在线商城系统
  • PyQt5中关于QLineEdit的空输入报错的简单处理
  • 华为云发布全栈可观测平台AOM,以AI赋能应用运维可观测
  • Apache Cordova/PhoneGap
  • ConstructorParameters
  • 基于elasticsearch存储船舶历史轨迹
  • 基于SpringBoot+Vue的大学生勤工助学兼职管理系统
  • 2024最新【PyCharm】史上最全PyCharm安装教程,图文教程(超详细)
  • harmonyOS ArkTS最新跳转Navigation