C++——循环

简介: C++——循环

愚公移山”之while循环

使用场合:

当需要反复执行某些“过程”时,就可以使用while循环。



fcb76e37ec6f424da1142cd601907250.png

移山,移到什么时候?

只要山还在,就一直挖!

while (门前的山还在) {

一直挖

}


使用方法

while (条件) {

  语句1

  语句2

  .......

}

强烈建议,无论循环体内有几条语句,都使用{}


break的作用

跳出所在的循环。

死循环

有些场合(比如,游戏引擎的主循环, 就是一个死循环)

更多场合,需要避免死循环。


demo:

1+2+3+4+...100

#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
       int i = 1;
       int s = 0;
       while (i<=100) {
              s += i;
              i++;
       }
       cout << "s=" << s << endl;
       system("pause");
       return 0;
}

5cf29f01c916469f994437ea0524fa00.png


从功能上,for循环和while循环是完全等效的!

"后羿射日"之for循环

使用场合

在循环次数已经确定的情况下,使用for循环更方便!


image.png

射掉9个太阳即可。

 

使用方法

for (表达式1; 表达式2;表达式3){

循环体

}


说明:

表达式1: 为循环做准备

表达式2: 循环条件

表达式3: 改变循环计数


注意:


表达式1、表达式2、表达式3, 这3个表达式的任意一个或多个,都可以省略!

但是其中的“;”不可以省略!

for (; ; ) {

 循环体

}

相当于:

while (1) {

循环体

}


for循环的表达式1


在C89标准中,表达式1不能定义变量

C99标准和C++中,表达式1可以定义变量

表达式1中定义的变量,仅在for循环中有效。

流程图

for (表达式1; 表达式2;表达式3){

      循环语句

cff232934298441599da96db889fd205.png


for 循环的次数控制:

for (int i=0;  i<10;  i++) { ... }     //常用方式

for (int i=1;  i<=10;  i++) { ... }    //较少使用

使用for循环实现“后裔射日”

#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
//后羿射日
int main(void) {
       for (int i=1; i<=9; i++) {
              cout << "射第" << i << "个太阳" << endl;
       }
       system("pause");
       return 0;
}


for和while的选择

1.当已经确定了循环次数时,建议使用for

2.其他情况,可以使用for ,也可以使用while, 建议使用while

使用for循环实现1+2+3+...100 = ?

#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
       int s = 0;
       //1 + 2 + 3 + ... 100
       for (int i=1; i<=100; i++) {
              s += i;
       }
       cout << s << endl;
       system("pause");
       return 0;
}

"不服就干-直接干"之do-while循环

使用场合:

先执行一次循环体,然后再判断条件,以判定是否继续下一轮循环!

即:至少执行一次循环体

使用方法

do {

  循环体

} while (条件)

流程图:



0fbb08362959444ab1b8ce0fb4e66d25.png


使用do-while计算 1+2+3+...100

#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
int main(void) {
      int s = 0;
      int i = 1;
      do {
            s += i;
            i++;
      } while(i<=100);
      cout << s << endl;
      system("pause");
      return 0;
}


特殊用法:【在特殊的宏定义中使用】

do {

  // 循环体

} while(0);


相关文章
|
7月前
|
设计模式 测试技术 编译器
C++项目中打破循环依赖的锁链:实用方法大全(一)
C++项目中打破循环依赖的锁链:实用方法大全
767 0
|
7月前
|
缓存 编译器 数据处理
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
726 0
|
5月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
6月前
|
算法 程序员 编译器
C++的四类循环分享
C++的四类循环:Entry or Exit controlled, Ranged-based or For_each
|
6月前
|
C++
C++一分钟之-循环结构:for与while循环
【6月更文挑战第18天】在C++中,`for`循环适合已知迭代次数,如数组遍历;`while`循环适用于条件驱动的未知次数循环。`for`以其初始化、条件和递增三部分结构简洁处理重复任务,而`while`则在需要先检查条件时更为灵活。常见错误包括无限循环和逻辑错误,解决办法是确保条件更新和正确判断。了解两者应用场景及陷阱,能提升代码效率和可读性。
70 6
|
6月前
|
C语言 C++ 容器
c++primer plus 6 读书笔记 第五章 循环和关系表达式
c++primer plus 6 读书笔记 第五章 循环和关系表达式
|
6月前
|
程序员 编译器 C++
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
50 0
|
7月前
|
算法 程序员 C++
C++程序中的循环语句:实现重复执行的关键
C++程序中的循环语句:实现重复执行的关键
401 2
|
7月前
|
安全 编译器 程序员
【C++入门】内联函数、auto与基于范围的for循环
【C++入门】内联函数、auto与基于范围的for循环
|
7月前
|
C++ Python
C++教学——从入门到精通 10.循环
学习编程建议先Python后C++,以避免C++思维影响。课程涵盖for、while和do while循环。for循环示例:`for(int i=0;i&lt;n;i++)`,用于计算114514天后的金币总数(1145140个)。死循环通过`for(int i=0;;i++)`实现,用`break`退出。while循环格式`while(条件)`,同样可解决金币问题。do while循环特点是先执行后判断,结构为`do{...}while(条件)`。
54 2