RHZ'S BLOG | 个人分享

  • 首页
  • 笔记
  • 小日常
  • 音乐
  • 读书
  • 软件分享
YOLO
  1. 首页
  2. 笔记
  3. C/C++
  4. 正文

条件循环|C++

2022年9月1日 150点热度 1人点赞 0条评论

while循环

while循环:只要满足条件为真,while循环会重复执行一条语句,直到满足某种特定的条件为止

while (条件) {
   //需要重复执行的语句
}

当条件不成立(假)时,while里面的语句不执行

while循环的停止

while循环虽然会重复执行花括号内的语句,但是执行完一次以后,while都会检查一次条件,所以我们可以通过控制条件的真假来停止while循环:

int age = 1;
while (age < 7) {
  cout << "你才" << age << "岁,还不够学龄" << endl;
  age++;
}
//输出
你才1岁,还不够学龄
你才2岁,还不够学龄
你才3岁,还不够学龄
你才4岁,还不够学龄
你才5岁,还不够学龄
你才6岁,还不够学龄

在第6次循环以后,age的值变为7,不满足while循环的条件,所以循环停止。

使用增量运算控制循环次数

增量和减量运算可以用来控制while循环的次数,例如:

int num = 0;
while (num < 8) {
  cout << "num的值是: " << num << endl;
  num++;
}

/* 输出
num的值是: 0
num的值是: 1
num的值是: 2
num的值是: 3
num的值是: 4
num的值是: 5
num的值是: 6
num的值是: 7
*/

num++等同于num = num + 1

使用循环多次获取用户输入

循环语句除了可以控制输出以外,还能多次获取用户输入:

int num = 1;
int number;

while (num <= 5) {
  cin >> number;
  num++;
}

以上代码可以获取5次用户输入,每次的输入值都保存在number变量中。

for循环

for循环的作用跟while是一样的,用于多次执行一些需要重复执行的代码,如果要说区别,for循环可以在定义的时候初始化循环变量,并且可以更直观的控制循环变量的修改,提高了代码的可读性

for (变量定义;循环条件;变量变化) {
  //需要重复执行的代码
}

还是上面的例子,使用循环控制,统计用户5次输入的总和,这次我们使用for循环

int number;
int total = 0;
for(int i=0;i<5;i++){
    cin >> number;
    total += number;
}

在for循环中,先执行变量定义i=0

然后判断是否满足循环条件i<5,满足则执行花括号里面的代码,不满足则结束循环

花括号的循环体执行结束以后,会执行变量自增即i++

不知道你没有注意到,变量定义只执行了1次,在循环开始之前,循环条件每次执行之前都会判断,变量变化每次循环代码结束以后会执行

循环次数的控制

回到上面的例子,在每次循环结束以后,我们执行了i++使i自增,那循环变量的变化只能使用自增吗?我们来看下面的示例:

for (int i = 0; i < 50; i+=10) {
  cout << i << endl;
}
/*输出
0
10
20
30
40
*/

通过控制台的输出,我们可以直观看到,i每次的变化是增加10,所以,for循环中,对循环变量的控制,是可以自定义的

do-while循环

除了while循环和for循环以外,C++还提供了do-while循环。

与while循环和for循环不同,do-while循环先执行循环,再判断循环条件,也就是说,do-while循环能保证循环至少执行一次。

do {
   //需要重复执行的代码
} while (循环条件);

do-while循环实例

使用do-while循环,输出小于5的自然数

int a = 1;
do {
  cout << a << endl;
  a++;
} while(a < 5);

/* 输出
1
2
3
4
*/

无限循环

无限循环,又称为死循环,因为循环执行判断条件恒为真,所以循环会无限循环地执行下去:

int i = 0;
do {
  cout << i << endl;
  i++;
} while (i > 0);

i恒大于0,所以会一直输出i的值。

除非特殊需求,不然我们应该尽量避免这种情况的发生

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年9月1日

RHZ

即使单枪匹马,我亦勇敢无畏

点赞
< 上一篇
下一篇 >

文章评论

取消回复
归档
  • 2023年2月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年8月
  • 2021年7月

COPYRIGHT © 2022 RHZ的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2022008933号-1